请帮帮我,怎么解决这个问题?
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:无法启动activity ComponentInfo{blabla}:java.lang.RuntimeException:无法初始化可视化工具引擎,错误:-4 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) at android.app.ActivityThread.access$600(ActivityThread.java:123) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137)at android.app.ActivityThread.main(ActivityThread.java:4424) at java.lang.reflect.Method.invokeNative(本机方法) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(本机方法)原因: java.lang.RuntimeException:无法初始化可视化引擎,错误:-4 at android.media.audiofx.Visualizer.(Visualizer.java:182) at com.blablabeta.gui.VisualizerCapture.onCreate(EqVisualizerCaptureAudio.java:27) at android.app.Activity.performCreate(Activity.java:4465) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
就这样吗?那么如何修复这个错误呢?
发布于 2013-02-01 16:01:56
问题消失了,然后我在真实的手机上测试了我的应用程序。仿真器有问题。
发布于 2013-01-30 20:13:37
当在会话0上使用Visualizer时,你需要有MODIFY_AUDIO_SETTINGS和RECORD_AUDIO权限,但我猜你的应用程序有这两个权限,否则你会得到一个PERMISSION_DENIED错误(如果我没记错的话,是-1)。
Status -22应该是BAD_VALUE。从问题中提供的信息来看,我并不完全清楚为什么会发生这种情况。也许除了您粘贴的那行之外,logcat输出中还提供了更多信息。你为什么会以BAD_VALUE状态结束的潜在原因可能是,例如,没有找到效果,或者效果已经被插入到效果链中。
发布于 2021-08-27 13:55:15
如果我没记错的话,您还必须向用户请求权限?我也遇到了同样的问题
<uses-permission android:name="android.permission.RECORD_AUDIO"/> 只是所需内容的一部分。在这里看一下:Unable to request RECORD_AUDIO permission in Android
提供了几乎所有你需要的东西。
https://stackoverflow.com/questions/14603188
复制相似问题