Stap 3: Sommige audio opnemen
Wat betreft uw Androïde telefoon is, is de vierkante lezer alleen een microfoon. Dus om gegevens van een kaart, moeten we audio opnemen. Verwijzen naar andere Android documentatie (zoals deze tutorial: http://eurodev.blogspot.com/2009/09/raw-audio-manipulation-in-android.html) voor gedetailleerde instructies, of het gebruik RhombusLib (zie links aan het eind).Hier is sommige java-code om te beginnen met geluid opnemen in een Android app:
AudioRecord audioRecord = nieuwe AudioRecord (MediaRecorder.AudioSource.MIC,
frequentie, channelConfiguration,
audioEncoding, schrijven);
audioRecord.startRecording();
Tijdens het opnemen moeten we voortdurend gegevens lezen van de recorder en leg deze in een buffer.
Maak een DataOutputStream om te schrijven van de audiogegevens
ByteArrayOutputStream os = nieuwe ByteArrayOutputStream();
BufferedOutputStream bos = nieuwe BufferedOutputStream(os);
DataOutputStream dos = nieuwe DataOutputStream(bos);
korte bufferVal;
korte [] buffer = nieuwe korte [schrijven];
while(Recording) {}
bufferReadResult = audioRecord.read (buffer, 0, schrijven);
for (int i = 0; ik < bufferReadResult; i ++) {}
bufferVal = buffer [i];
dos.writeShort(buffer[i]);
}
}
DOS.Close();
byte [] audioBytes = os.toByteArray();
De bovenstaande code is geëxtraheerd en vereenvoudigd uit RhombusLib. Na de opname hebt u een matrix van bytes die vertegenwoordigt de monsters van de microfoon, klaar om te worden geanalyseerd.