我正在使用AudioRecord在通话期间录制音频,而我正在使用此方法(AudioRecord),因为应用需要在通话期间分析数据。这里的问题是,在某些设备中,我得到了我想要的结果,但在其他设备中,应用程序崩溃了。这些是我的配置参数:
public static int frequency = 16000;
public static int channelConfiguration = AudioFormat.CHANNEL_IN_MONO;
public static int audioEncoding = AudioFormat.ENCODING_PCM_16BIT;
public static int bufferSize;
...
bufferSize = AudioRecord.getMinBufferSize(frequency, channelConfiguration, audioEncoding);
1-如果我使用:MediaRecorder.AudioSource.VOICE_CALL
该应用不适用于任何设备,通常我可以在日志中看到此错误: “无法获取记录源4的音频输入”
2-如果我使用:MediaRecorder.AudioSource.MIC
该应用程序可以工作,但只是一些设备。在其他设备根本不起作用,我看不到任何错误。
3-我也尝试过:
没有结果。
您是否知道为什么该应用在电话呼叫期间只使用“MediaRecorder.AudioSource.MIC”?为什么它只适用于某些设备?