5

我尝试过使用各种AudioEffectAudioRecord/MediaPlayer,每次调用类的新对象时都会遇到相同的错误AudioEffect。我收到以下错误 -

04-28 18:31:06.571: **E/AudioEffect(6688): set(): AudioFlinger could not create effect, status: -22**
04-28 18:31:06.571: **E/AudioEffects-JNI(6688): AudioEffect initCheck failed -4**
04-28 18:31:06.571: **E/AudioEffect-JAVA(6688): Error code -4 when initializing AudioEffect.**

例如,我编写了以下代码,其中创建了 MediaPlayer 类的对象并将包含我的 mp3 录音的输出文件发送到 setDataSource 函数。然后根据 android api 文档http://developer.android.com/reference/android/media/audiofx/LoudnessEnhancer.html我应该将音频会话 ID 发送到 LoudnessEnhancer 对象的构造函数。我也将目标增益设置为 100 并将 setEnabled 设置为 true。

MediaPlayer m = new MediaPlayer();
m.setDataSource(outputFile);

int sessionID=m.getAudioSessionId();
AudioEffect effect=new LoudnessEnhancer(sessionID);
((LoudnessEnhancer) effect).setTargetGain(100);
((LoudnessEnhancer) effect).setEnabled(true);

m.prepare();
m.start();

注意:每当我调试代码时,只要它碰到 LoudnessEnhancer 的构造函数,我就会收到一条消息,说 Source not attach。所以我检查了 windows->preferences->java->installed jre,它显示了正确的路径。但是在我的 Project->BuildPath->configure Build Path->Libraries 当我检查 Native Library Location 时,路径显示没有。如果需要的话,我不知道要在此处包含哪条路径

我的项目是否有可能无法找到实例化 AudioEffect 类的构造函数所需的某些资源?

请给建议..

4

0 回答 0