J'ai des données audio (AAC brut) dans un tableau d'octets pour la lecture. Pendant la lecture, j'ai besoin d'obtenir son volume/amplitude pour dessiner (quelque chose comme une onde audio en jouant). Ce que je pense maintenant est d'obtenir le volume/amplitude de l'audio actuel toutes les 200 millisecondes et l'utiliser pour dessiner (en utilisant un canevas), mais je ne suis pas sûr de savoir comment faire.Obtention du volume audio pendant la lecture
. . . .
** 2011/07/13 ajoutez ce qui suit **
Désolé vient d'être retardé sur un autre projet jusqu'à présent.
Ce que j'ai essayé est d'exécuter les codes suivants dans un fil, et de jouer mon audio AAC.
a loop
{
// int v=audio.getStreamVolume(AudioManager.MODE_NORMAL);
// int v=audio.getStreamVolume(AudioManager.STREAM_MUSIC);
int v=audio.getStreamVolume(AudioManager.STREAM_DTMF);
// Tried 3 settings above
Log.i(HiCardConstants.TAG, "Volume - "+v);
try{Thread.sleep(200);}
catch(InterruptedException ie){}
}
Mais seulement obtenir une valeur fixe, pas de volume dynamique ...
Et j'ai aussi trouvé une classe nommée Visualizer, mais malheureusement, ma plate-forme cible est Android 2.2 ... :-(
Toutes les suggestions sont :-)
Qu'avez-vous déjà essayé? Avez-vous vérifié si le [AudioManager] (http://developer.android.com/reference/android/media/AudioManager.html) vous aide? –
J'ai utilisé Visualizer et ça marche. Bien sûr, j'ai min API plus élevé maintenant. – kotucz