Я разрабатываю VoIP-приложение с использованием быстрого латентного быстрого пути, проблема в том, что когда я меняю аудиодорожку на динамик, я заметил, что обратный вызов рекордера срабатывает каждые 100 мс вместо того, чтобы, как 5ms он должен работать и генерируется следующее сообщение об ошибке:Низкая латентность Android OpenSLES: рекордер перестает работать с изменением звука в динамике
E/ACDB-LOADER( 183): Error: ACDB AudProc vol returned = -19
D/audio_hw_primary( 183): enable_snd_device: snd_device(32: speaker-mic)
D/audio_hw_primary( 183): enable_audio_route: apply and update mixer path: low-latency-record
D/audio_hw_primary( 183): disable_audio_route: reset and update mixer path: low-latency-record
D/audio_hw_primary( 183): disable_snd_device: snd_device(32: speaker-mic)
E/AudioFlinger( 183): read failed: framesRead=-2147483631
D/audio_hw_primary( 183): select_devices: out_snd_device(0: none) in_snd_device(32: speaker-mic)
D/msm8974_platform( 183): platform_send_audio_calibration: sending audio calibration for snd_device(32) acdb_id(11)
D/ ( 183): Failed to fetch the lookup information of the device 0000000B
E/ACDB-LOADER( 183): Error: ACDB AudProc vol returned = -19
D/audio_hw_primary( 183): enable_snd_device: snd_device(32: speaker-mic)
D/audio_hw_primary( 183): enable_audio_route: apply and update mixer path: low-latency-record
D/audio_hw_primary( 183): disable_audio_route: reset and update mixer path: low-latency-record
D/audio_hw_primary( 183): disable_snd_device: snd_device(32: speaker-mic)
E/AudioFlinger( 183): read failed: framesRead=-2147483631
D/audio_hw_primary( 183): select_devices: out_snd_device(0: none) in_snd_device(32: speaker-mic)
D/msm8974_platform( 183): platform_send_audio_calibration: sending audio calibration for snd_device(32) acdb_id(11)
D/ ( 183): Failed to fetch the lookup information of the device 0000000B
E/ACDB-LOADER( 183): Error: ACDB AudProc vol returned = -19
D/audio_hw_primary( 183): enable_snd_device: snd_device(32: speaker-mic)
D/audio_hw_primary( 183): enable_audio_route: apply and update mixer path: low-latency-record
D/audio_hw_primary( 183): disable_audio_route: reset and update mixer path: low-latency-record
D/audio_hw_primary( 183): disable_snd_device: snd_device(32: speaker-mic)
E/AudioFlinger( 183): read failed: framesRead=-2147483631
D/audio_hw_primary( 183): select_devices: out_snd_device(0: none) in_snd_device(32: speaker-mic)
D/msm8974_platform( 183): platform_send_audio_calibration: sending audio calibration for snd_device(32) acdb_id(11)
D/ ( 183): Failed to fetch the lookup information of the device 0000000B
E/ACDB-LOADER( 183): Error: ACDB AudProc vol returned = -19
D/audio_hw_primary( 183): enable_snd_device: snd_device(32: speaker-mic)
D/audio_hw_primary( 183): enable_audio_route: apply and update mixer path: low-latency-record
D/audio_hw_primary( 183): disable_audio_route: reset and update mixer path: low-latency-record
D/audio_hw_primary( 183): disable_snd_device: snd_device(32: speaker-mic)
E/AudioFlinger( 183): read failed: framesRead=-2147483631
D/audio_hw_primary( 183): select_devices: out_snd_device(0: none) in_snd_device(32: speaker-mic)
D/msm8974_platform( 183): platform_send_audio_calibration: sending audio calibration for snd_device(32) acdb_id(11)
D/ ( 183): Failed to fetch the lookup information of the device 0000000B
E/ACDB-LOADER( 183): Error: ACDB AudProc vol returned = -19
D/audio_hw_primary( 183): enable_snd_device: snd_device(32: speaker-mic)
D/audio_hw_primary( 183): enable_audio_route: apply and update mixer path: low-latency-record
D/audio_hw_primary( 183): disable_audio_route: reset and update mixer path: low-latency-record
D/audio_hw_primary( 183): disable_snd_device: snd_device(32: speaker-mic)
E/AudioFlinger( 183): read failed: framesRead=-2147483631
- устройств: Nexus 5 Android 5.0.1
- Родной размер буфера 240 образцов (шорты)
- скорости Родной частоты 48000 Hz Play эр предустановка:
SL_ANDROID_STREAM_VOICE - Recorder Предустановленные: SL_ANDROID_RECORDING_PRESET_VOICE_COMMUNICATION
- AudioManager на MODE_IN_COMMUNICATION
Важно отметить, что если аудио маршрут остается на гарнитуре работает нормально. Кто-нибудь знает, в чем проблема?
Благодарим за ответ. Рекордер срабатывает каждые 5 мс, пока я не сменю аудиодорожку на громкоговоритель, поэтому рекордер работает нормально, пока не произойдет что-то неправильное. Итак, вы говорите, что мне нужно повторно инициализировать плеер каждым звуковым маршрутом? – VitalyD
Не понял. Сожалею. В чем проблема? –
Проблема в том, что когда я меняю звук на динамик, сторона дальнего конца не слышит меня, так как мой обратный вызов рекордера перестает работать. Это происходит, только если я использую быстрый путь, то есть, только если я использую собственный размер буфера и частоту дискретизации. – VitalyD