Questions tagged «android-10.0»


1
在某些装有Android 10的设备上,使用MediaRecorder.AudioSource.VOICE_COMMUNICATION录制的音频为空
我正在使用以下代码在应用程序中录制语音消息的音频。 MediaRecorder audioRecorder = new MediaRecorder(); audioRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION); audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.HE_AAC); audioRecorder.setOutputFile(audioRecordingFile); audioRecorder.prepare(); audioRecorder.start(); 使用MediaRecorder.AudioSource.VOICE_COMMUNICATION而不是MediaRecorder.AudioSource.MIC)在录制经过预处理的纯音频方面非常有帮助。 但是,最近我发现在一些最近更新到Android 10的设备上报告了一些录制文件为空的问题。应该注意的是,并非所有Android 10设备都存在这些问题,只有少数设备(例如诺基亚6.1和小米A2。 没有错误或异常,只有空的音频输出文件。 如果我使用MediaRecorder.AudioSource.MIC),则不会出现此问题。 我发现以下与Android 10和VOICE_COMMUNICATION 有关的信息。Android 10发行版包含以下与VOICE_COMMUNICATION进行捕获的要求。 基于此,我使用以下代码检查了AcousticEchoCanceler,AutomaticGainControl和NoiseSuppressor的可用性。 AcousticEchoCanceler.isAvailable() AutomaticGainControl.isAvailable() NoiseSuppressor.isAvailable() 并在带有Android 10的Mi A2和OnePlus 6上找到了相同的结果。这两种设备均显示AcousticEchoCanceler和NoiseSuppressor为可用,而AutomaticGainControl为不可用。 由于并非所有Android设备上都存在此问题,因此我不想再使用MediaRecorder.AudioSource.MIC)。同时,没有错误,异常或区分因素告诉我何时退回到MediaRecorder.AudioSource.MIC)上。 更新: 在Mi A2上关闭Google Assistant时,此问题已解决。这可能是指针:https : //developer.android.com/guide/topics/media/sharing-audio-input 任何有关此的帮助表示赞赏。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.