Je suis en train d'enregistrer/processus de l'audio à partir de trois microphones usb avec Java Sound sur Snow Leopard (mais peut passer à Windows si il résout des choses). Problème c'est que quand j'essaie d'utiliser la table de mixage qui correspond à la micro usb, Java Sound me dit que la ligne n'est pas pris en charge. Plus précisément, il dit ceci...
Disponible mélangeurs:
Java Son Moteur Audio
USBMIC Série# 041270067
Entrée intégrée Microphone Intégré
Soundflower (2ch)
Soundflower (16ch)
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Ligne non pris en charge: interface TargetDataLine appui format PCM_SIGNED 96 000.0 Hz, 8 bits, stéréo, 2 octets/image,
...quand je l'invite à sélectionner le USBMIC table de mixage:
Mixer mixer = AudioSystem.
getMixer(mixerInfo[1]);
J'ai essayé correspondant au format audio pour les spécifications exactes de l'microphones (16 bits, 44100 hz, stereo) et il n'a fait aucune différence.
Le problème est de culture jusqu'ici:
final TargetDataLine line = (TargetDataLine)
mixer.getLine(info);
Il semblerait que la table de mixage et le TargetDataLine n'aiment pas les uns les autres. Est-il un moyen d'obtenir ces deux vers "match" et de s'entendre?
Les micros que j'utilise sont certes un peu étrange. Ils ont été conçus pour être utilisés dans un karaoké vidéo de jeu de SingStar. Les micros eux-mêmes ont mono standard ligne-dans les connecteurs qui se branchent sur un petit concentrateur (de deux à un hub) qui convertit en un seul mâle connecteur usb. L'étrangeté de côté, cependant, ils semblent fonctionner parfaitement bien avec Audace que des canaux distincts, de sorte que l'enregistrement multicanal avec eux est bien évidemment possible, juste peut-être pas en Java.
J'ai aussi envisagé d'utiliser un programme comme Soundflower que les actions de l'audio entre différents programmes. Cependant, je ne suis pas sûr que cela va fonctionner car je ne vois pas comment faire les micros USB entrées à Soundflower et puis transférez-les dans un Java. Une rapide expérience m'a montré que je pouvais enregistrer de l'audio dans Audacity à partir de la mics, il pipe par Soundflower, puis de traiter dans mon programme Java. Encore, ce que je voudrais faire est de tout ce qui se passe en temps réel en Java.
Toute personne familière avec ce genre de problème?