Etape 3: Enregistrer certains audio
Que votre téléphone Android est concerné, le lecteur carré est juste un microphone. Nous devons donc pour obtenir des données d’une carte, pour enregistrer l’audio. Reportez-vous à la documentation Android (comme ce tutoriel : http://eurodev.blogspot.com/2009/09/raw-audio-manipulation-in-android.html) pour obtenir des instructions détaillées, ou RhombusLib (voir liens à la fin).Voici un code java pour démarrer l’enregistrement audio dans une application Android :
AudioRecord audioRecord = new AudioRecord (MediaRecorder.AudioSource.MIC,
fréquence, channelConfiguration,
audioEncoding, bufferSize) ;
audioRecord.startRecording() ;
Pendant l’enregistrement, nous devons continuellement lire les données de l’enregistreur et le placer dans une mémoire tampon.
Créer un DataOutputStream pour écrire les données audio
Os ByteArrayOutputStream = new ByteArrayOutputStream() ;
BufferedOutputStream bos = new BufferedOutputStream(os) ;
DataOutputStream dos = new DataOutputStream(bos) ;
bufferVal courte ;
court [] buffer = new court [bufferSize] ;
{while(Recording)}
bufferReadResult = audioRecord.read (buffer, 0, bufferSize) ;
pour (int i = 0; i < bufferReadResult; i ++) {}
bufferVal = tampon [i] ;
dos.writeShort(buffer[i]) ;
}
}
dos.Close() ;
Byte [] audioBytes = os.toByteArray() ;
Le code ci-dessus est extraite et simplifié de RhombusLib. Après l’enregistrement, vous aurez un tableau d’octets qui représente les échantillons provenant du microphone, prêt à être analysée.