请帮帮我,怎么解决这个问题?
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)
那是吗? 以及如何解决此错误?答案 0 :(得分:3)
在会话0上使用Visualizer
时,您需要拥有MODIFY_AUDIO_SETTINGS
和RECORD_AUDIO
权限,但我猜您的应用有这些权限,否则您将获得PERMISSION_DENIED
1}}错误(-1
,如果我没记错的话)。
状态-22应为BAD_VALUE
。根据问题中的信息,为什么会发生这种情况,我并不完全清楚。除了粘贴的那行之外,logcat输出中可能还有更多可用信息。您最终获得BAD_VALUE
身份的潜在原因可能是没有找到效果,或者效果已插入效果链中。
答案 1 :(得分:1)
问题已经消失,然后我在真正的手机上测试我的应用程序。 模拟器出了问题。