java.lang.IllegalArgumentException:错误的流类型-100

时间:2016-08-01 07:09:01

标签: android android-audiomanager soundpool

我在我的Android应用程序中使用SoundPool。 在SoundPool中传递以下参数。

spool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);

有时它会在调整音量时在android Rooted设备中发出此异常。

这是我用来播放声音的课程。我在初始化Music_Manager类时调用getInstance()方法'实例并在该类中使用该实例中的方法。

public class Music_Manager {

    private SoundPool spool;
    Context mcontext;
    int s1, s2, s3;

    static Music_Manager instance;

    public static Music_Manager getInstance() {
        if (instance == null) {
            instance = new Music_Manager();
        }
        return instance;
    }

    Music_Manager() {
        try {


            spool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);

            s1 = spool.load(mcontext, R.raw.s1, 1);
            s2 = spool.load(mcontext, R.raw.s2, 1);
            s3 = spool.load(mcontext, R.raw.s3, 1);
        }catch (UnsatisfiedLinkError e) {
            // TODO: handle exception
        } 
        catch (Exception e) {
            // TODO: handle exception
        }
    }


    public void playS1() {
        try {
            spool.play(s1, 100, 100, 1, 0, 1);
        } catch (Exception e) {
            // TODO: handle exception
        }
    }

    public void playS2() {
        try {
            spool.play(s2, 100, 100, 1, 0, 1);
        } catch (Exception e) {
            // TODO: handle exception
        }
    }

    public void playS3() {
        try {
            spool.play(s3, 100, 100, 1, 0, 1);
        } catch (Exception e) {
            // TODO: handle exception
        }
    }


    public void release() {

        try
        {
            if (spool != null)
                spool.release();
            }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }

}

例外:

  

致命异常:java.lang.IllegalArgumentException:错误的流类型   -100          在android.os.Parcel.readException(Parcel.java:1469)          在android.os.Parcel.readException(Parcel.java:1419)          在android.media.IAudioService $ Stub $ Proxy.adjustSuggestedStreamVolume(IAudioService.java:936)          在android.media.AudioManager.adjustSuggestedStreamVolume(AudioManager.java:658)          在android.media.AudioManager.handleKeyDown(AudioManager.java:527)          在com.android.internal.policy.impl.PhoneWindow.onKeyDown(PhoneWindow.java:1563)          在com.android.internal.policy.impl.PhoneWindow $ DecorView.dispatchKeyEvent(PhoneWindow.java:1969)          在android.view.ViewRootImpl $ ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:3852)          在android.view.ViewRootImpl $ ViewPostImeInputStage.onProcess(ViewRootImpl.java:3826)          在android.view.ViewRootImpl $ InputStage.deliver(ViewRootImpl.java:3399)          在android.view.ViewRootImpl $ InputStage.onDeliverToNext(ViewRootImpl.java:3449)          在android.view.ViewRootImpl $ InputStage.forward(ViewRootImpl.java:3418)          在android.view.ViewRootImpl $ AsyncInputStage.forward(ViewRootImpl.java:3525)          在android.view.ViewRootImpl $ InputStage.apply(ViewRootImpl.java:3426)          在android.view.ViewRootImpl $ AsyncInputStage.apply(ViewRootImpl.java:3582)          在android.view.ViewRootImpl $ InputStage.deliver(ViewRootImpl.java:3399)          在android.view.ViewRootImpl $ InputStage.onDeliverToNext(ViewRootImpl.java:3449)          在android.view.ViewRootImpl $ InputStage.forward(ViewRootImpl.java:3418)          在android.view.ViewRootImpl $ InputStage.apply(ViewRootImpl.java:3426)          在android.view.ViewRootImpl $ InputStage.deliver(ViewRootImpl.java:3399)          在android.view.ViewRootImpl $ InputStage.onDeliverToNext(ViewRootImpl.java:3449)          在android.view.ViewRootImpl $ InputStage.forward(ViewRootImpl.java:3418)          在android.view.ViewRootImpl $ AsyncInputStage.forward(ViewRootImpl.java:3525)          在android.view.ViewRootImpl $ InputStage.apply(ViewRootImpl.java:3426)          在android.view.ViewRootImpl $ AsyncInputStage.apply(ViewRootImpl.java:3582)          在android.view.ViewRootImpl $ InputStage.deliver(ViewRootImpl.java:3399)          在android.view.ViewRootImpl $ InputStage.onDeliverToNext(ViewRootImpl.java:3449)          在android.view.ViewRootImpl $ InputStage.forward(ViewRootImpl.java:3418)          在android.view.ViewRootImpl $ InputStage.apply(ViewRootImpl.java:3426)          在android.view.ViewRootImpl $ InputStage.deliver(ViewRootImpl.java:3399)          在android.view.ViewRootImpl $ InputStage.onDeliverToNext(ViewRootImpl.java:3449)          在android.view.ViewRootImpl $ InputStage.forward(ViewRootImpl.java:3418)          在android.view.ViewRootImpl $ AsyncInputStage.forward(ViewRootImpl.java:3525)          在android.view.ViewRootImpl $ InputStage.apply(ViewRootImpl.java:3426)          在android.view.ViewRootImpl $ AsyncInputStage.apply(ViewRootImpl.java:3582)          在android.view.ViewRootImpl $ InputStage.deliver(ViewRootImpl.java:3399)          在android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5602)          在android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5582)          在android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5553)          在android.view.ViewRootImpl $ WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5682)          在android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)          在android.os.MessageQueue.nativePollOnce(MessageQueue.java)          在android.os.MessageQueue.next(MessageQueue.java:138)          在android.os.Looper.loop(Looper.java:123)          在android.app.ActivityThread.main(ActivityThread.java:5021)          at java.lang.reflect.Method.invokeNative(Method.java)          在java.lang.reflect.Method.invoke(Method.java:515)          在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:827)          在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)          at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)          在dalvik.system.NativeStart.main(NativeStart.java)

0 个答案:

没有答案
相关问题