Ich entwickle VoIP-Anwendung mit geringer Latenz schnellen Pfad, das Problem ist, dass, wenn ich die Audio-Route zu Lautsprecher ändern, bemerkte ich, dass der Recorder Rückruf alle 100ms anstelle von 5 ms, wie es funktionieren soll und der folgende Fehler erzeugt wird:Android niedrige Latenz OpenSLES: Recorder aufhören zu arbeiten Audio Route ändern zu Lautsprecher
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
- Device: Nexus 5 Android 5.0.1
- Mutterpuffergröße 240 Proben (Shorts)
- Mutterfrequenzrate 48000 Hz Spielen Preset er:
SL_ANDROID_STREAM_VOICE - Recorder Preset: SL_ANDROID_RECORDING_PRESET_VOICE_COMMUNICATION
- Audio-Manager auf MODE_IN_COMMUNICATION
Es ist wichtig zu beachten, dass, wenn die Audio-Route am Headset bleibt es funktioniert gut. Kennt jemand das Problem?
Danke für die Antwort, der Recorder feuert alle 5ms, bis ich Audio-Route zu Lautsprecher ändern, so funktioniert der Recorder gut, bis etwas falsch auftritt. Du sagst also, dass ich den Player bei jeder Audio-Route neu initialisieren muss? – VitalyD
Ich habe es nicht verstanden. Es tut uns leid. Was ist wieder dein Problem? –
Das Problem ist, dass, wenn ich die Audio-Route zum Lautsprecher ändere, die entfernte Seite mich nicht hören kann, da mein Rekorder-Callback nicht mehr funktioniert. Es passiert nur, wenn ich den schnellen Pfad verwende, also nur wenn ich native Puffergröße und Abtastrate verwende. – VitalyD