【发布时间】:2011-08-31 01:53:39
【问题描述】:
我正在尝试使用 AudioRecord 开发音频捕获应用程序 来自android api的类,设置,音频源如何 MediaRecorder.AudioSource.MIC,该应用程序有效,但是当我尝试使用时 回声消除,设置一个 MediaRecorder.AudioSource.VOICE_COMMUNICATION 如何来源,当 AudioRecorder 对象是 创建后,抛出 IllegalArgumentException,但我不知道为什么:
我的代码是:
private static final int SAMPLE_RATE = 16000;
private static final int BIT_ENCODING = AudioFormat.ENCODING_PCM_16BIT;
private static final int CHANNEL_CONFIGURATION = AudioFormat.CHANNEL_CONFIGURATION_MONO;
private int m_i32BufferSize;
private AudioRecord m_AudioRecorder;
public caudioCapture ()
{
super ();
m_i32BufferSize = AudioRecord.getMinBufferSize(SAMPLE_RATE, CHANNEL_CONFIGURATION, BIT_ENCODING);
//Create audio recorder object
try
{
m_AudioRecorder = new AudioRecord (MediaRecorder.AudioSource.VOICE_COMMUNICATION,SAMPLE_RATE,CHANNEL_CONFIGURATION,BIT_ENCODING,m_i32BufferSize);
}
catch (IllegalArgumentException e)
{
throw new IllegalArgumentException("Bad arguments on AudioRecorder creation", e);
}
在我的 android 清单中,我有:
使用权限 android:name="android.permission.RECORD_AUDIO"
也许是因为我使用的是三星 Galaxy Tab p1000 并且它运行的是 android 2.2?有什么想法吗?
非常感谢
【问题讨论】:
标签: android audio echo cancellation