Je veux développer une petite application Android pour mesurer le niveau de bruit actuel (probablement en dB). Mais je n'ai aucune idée de ce qu'il faut chercher dans les bibliothèques. Je ne veux pas enregistrer le bruit. Quelqu'un peut-il me donner un pointeur quelles classes regarder?Niveau de bruit de requête dans Android
8
A
Répondre
4
Je recommande à la recherche dans ces classes:
android.media.AudioFormat
android.media.AudioManager
android.media.AudioTrack
Nous les avons utilisés dans le Blinkendroid audio package il y a peu de temps.
0
L'extrait de code suivant montre comment nous avons obtenu le niveau de bruit dans le passé. Malheureusement, la documentation ne dit pas quelle unité renvoie #getMaxAmplitude().
// Start recording but don't store data
MediaRecorder mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setOutputFile("/dev/null");
mediaRecorder.prepare();
mediaRecorder.start();
// Obtain maximum amplitude since last call of getMaxAmplitude()
while(someCondition) {
int amplitude = mediaRecorder.getMaxAmplitude();
}
// Don't forget to release
mediaRecorder.reset();
mediaRecorder.release();
1
Pour moi, 'maxAmplitude
' n'a pas été utile. Après la journée de recherche j'ai finalement atteint ma cible. Vous pouvez trouver ma solution ici: Android: AudioRecord Class Problem: Callback is never called
J'ai regardé à travers ceux-ci, il me semble que vous auriez à enregistrer un fichier, immédiatement traiter ce fichier pour obtenir le niveau de bruit, répéter, ce qui serait extrêmement inefficace. Il n'y a pas d'accès direct au microphone ... – fredley
Peut-être que ces trois classes dans le référentiel peuvent vous aider: http://code.google.com/p/blinkendroid/source/browse/trunk/blinkendroid/src/org/cbase/blinkendroid/audio /? r = 96 Nous avons enregistré, traité et visualisé l'audio dans ce projet, mais nous l'avons laissé tomber à nouveau. – keyboardsurfer
J'espérais le faire sans enregistrer, mais je vais vérifier. – Sebi