Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 22 janv. 2008 à 10:11
Salut,
tu peux le faire avec la classe TargetDataLine exemple :
(Cet extrait de code est à adapter en fonction de tes besoins)
AudioFormat linearFormat = // le format d'entrée (pcm)
AudioFormat codecFormat = // le format apres capture du mic.
TargetDataLine targetDataLine = AudioSystem.getTargetDataLine(linearFormat);
//ouverture de la connexion vers le mic.
targetDataLine.open();
// démarre la capture
targetDataLine.start();
//préparation du stream pour la capture
AudioInputStream linear = new AudioInputStream(targetDataLine);
//préparation du stream pour la sortie
AudioInputStream codecStream = AudioSystem.getAudioInputStream(codecFormat, linear);
while (!end) {
try {
// lecture du flux, ici voicePacket est un byte[] de taille 172
codecStream.read(voicePacket, 0, voicePacket.length);
// tritement sur le tableau encodé au format de sortie (voir codecFormat)
} catch (Exception e) {
e.printStackTrace();
}
}
// arret de la capture
targetDataLine.stop();
// fermeture de la connexion
targetDataLine.close();
// fermeture des flux
linear.close();
codecStream.close();
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."