web-dev-qa-db-fra.com

AudioTrack: AUDIO_OUTPUT_FLAG_FAST refusé par le client en raison d'un taux d'échantillonnage incorrect

Est-ce que quelqu'un sait comment résoudre ce message d'avertissement?

07-14 10: 38: 55.411 V/tracker-audiotest (22426): Thread d'enregistrement :: run (): démarre l'enregistrement audio. 07-14 10: 45: 51.490 "W/AudioTrack (607): AUDIO_OUTPUT_FLAG_FAST refusée par le client en raison d'un taux d'échantillonnage incorrect (44100 vs 48000) "

Lorsque je teste la latence audio sur Android 4.4, je constate un retard soudain après la lecture de ce message d'avertissement. Mais je ne change pas la fréquence d'échantillonnage pendant le test et le réglage initial est en 48kHz. Ce message d'avertissement survient après 7 minutes d'enregistrement.

Vous pouvez tester ce projet sur votre appareil si nécessaire. Le projet est dans GitHub: 

https://github.com/garyyu/OpenSL-ES-Android-DelayTest

14
gary

Le AUDIO_OUTPUT_FLAG_FAST est refusé car vous utilisez un débit différent de celui pris en charge par le matériel. Vous devez interroger le taux d'échantillonnage pris en charge par le matériel et enregistrer à ce taux plutôt que de le coder en dur à 48 kHz. 

3
ChocoBilly

Vous pouvez essayer d'utiliser l'interface de fonction Java:
AudioManager myAudioMgr = (AudioManager) getSystemService (Context.AUDIO_SERVICE);
nativeSampleRate = myAudioMgr.getProperty (AudioManager.PROPERTY_OUTPUT_SAMPLE_RATE);

pour récupérer la fréquence d'échantillonnage matérielle par défaut sur votre téléphone, utilisez-la pour créer le lecteur.
Essayez également d'utiliser: NativeSampleBufSize = myAudioMgr.getProperty (AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER); 

pour obtenir la taille de tampon audio par défaut (en images) et l’utiliser pour la lecture.

Vous pouvez consulter l'exemple de code JNI audio-echo si JNI vous convient. 

2
Gerry

Essayez de changer le taux d'échantillonnage à 

cadres/base /
frameworks/av /
matériel/libhardware

emplacements.

le taux d'échantillonnage par défaut est 44100 essayez de définir le taux d'échantillonnage souhaité (vos fichiers audio ont). ça va marcher.

à votre santé.

0
Karan