【发布时间】:2018-09-14 04:10:37
【问题描述】:
我正在尝试在 Android 上录制语音通话。我正在使用 Android 的 AudioRecord 类/api 来执行此操作。但由于某种原因,AudioRecord 无法在某些设备上录制语音通话(尤其是最新的 OS 6.0、7.0)。每当我将 AudioRecord 对象的 AudioSource 参数设置为“VOICE_CALL”即(MediaRecorder.AudioSource.VOICE_CALL)时,它都会给我这个异常
java.lang.IllegalStateException: startRecording() 在一个 未初始化的音频记录
但是当我将音频源设置为“MIC”时,它可以正常工作,但当然不会记录语音通话。
我尝试使用 Android 的 MediaRecord 类,但遇到了同样的问题,即“MIC”工作正常,但“VOICE_CALL”缺少。我还在多个论坛上尝试了许多可用的解决方案,但仍然没有运气。
下面我分享了我的一小段代码。对此的任何帮助将不胜感激。谢谢
recorder = new AudioRecord(MediaRecorder.AudioSource.VOICE_CALL,
44100, AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT, AudioRecord.getMinBufferSize(44100,AudioFormat.CHANNEL_IN_MONO,AudioFormat.ENCODING_PCM_16BIT));
recorder.startRecording();
【问题讨论】:
标签: java android android-mediarecorder audiorecord call-recording