AudioFlinger无法创建效果,状态:-22

时间:2013-01-30 11:43:05

标签: android

请帮帮我,怎么解决这个问题?

public class VisualizerCapture extends Activity implements Visualizer.OnDataCaptureListener
private Visualizer mVisualizer;


@Override
public void onCreate(Bundle savedInstanceState){
 super.onCreate(savedInstanceState);
    mVisualizer = new Visualizer(0);
    setupVisualizer();

private void setupVisualizer() {
    mVisualizer.setEnabled(false);
    mVisualizer.setCaptureSize(8);      //test
    mVisualizer.setDataCaptureListener(this,250,false,true);        
            Log.v("ABS","setupVisualizer" + mVisualizer.getEnabled());    //log

此代码抛出错误: ERROR / AudioEffect(2393):set():AudioFlinger无法创建效果,状态:-22

在xml中

 <uses-permission android:name="android.permission.RECORD_AUDIO"/>             
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

logcat的:

java.lang.RuntimeException:无法启动活动ComponentInfo {blabla}:java.lang.RuntimeException:无法初始化Visualizer引擎,错误:-4         在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)         在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)         在android.app.ActivityThread.access $ 600(ActivityThread.java:123)         在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1147)         在android.os.Handler.dispatchMessage(Handler.java:99)         在android.os.Looper.loop(Looper.java:137)         在android.app.ActivityThread.main(ActivityThread.java:4424)         at java.lang.reflect.Method.invokeNative(Native Method)         在java.lang.reflect.Method.invoke(Method.java:511)         在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784)         在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)         at dalvik.system.NativeStart.main(Native Method)         引起:java.lang.RuntimeException:无法初始化Visualizer引擎,错误:-4         在android.media.audiofx.Visualizer。(Visualizer.java:182)         在com.blablabeta.gui.VisualizerCapture.onCreate(EqVisualizerCaptureAudio.java:27)         在android.app.Activity.performCreate(Activity.java:4465)         在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)         在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)

那是吗? 以及如何解决此错误?

2 个答案:

答案 0 :(得分:3)

在会话0上使用Visualizer时,您需要拥有MODIFY_AUDIO_SETTINGSRECORD_AUDIO权限,但我猜您的应用有这些权限,否则您将获得PERMISSION_DENIED 1}}错误(-1,如果我没记错的话)。

状态-22应为BAD_VALUE。根据问题中的信息,为什么会发生这种情况,我并不完全清楚。除了粘贴的那行之外,logcat输出中可能还有更多可用信息。您最终获得BAD_VALUE身份的潜在原因可能是没有找到效果,或者效果已插入效果链中。

答案 1 :(得分:1)

问题已经消失,然后我在真正的手机上测试我的应用程序。 模拟器出了问题。