当我尝试更改MediaPlayer的播放参数时,我的应用程序崩溃。 我不知道为什么会发生这种情况。MediaPlayer setPlaybackParams crash
这是我用来改变播放速度的代码。
PlaybackParams params = new PlaybackParams().allowDefaults();
params.setSpeed(mPlaybackRate.getValue());
mMediaPlayer.setPlaybackParams(params);
在这种情况下mPlaybackRate.getValue()返回1.25f
这是崩溃日志:
08-02 21:09:35.184 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.hackmodford.bigfinish, PID: 30986
java.lang.IllegalStateException
at android.media.MediaPlayer.setPlaybackParams(Native Method)
at com.hackmodford.bigfinish.mediaPlayerService.MediaPlayerService.incrementPlaybackRate(MediaPlayerService.java:543)
at com.hackmodford.bigfinish.mediaPlayerService.MediaPlayerService.access$1000(MediaPlayerService.java:47)
at com.hackmodford.bigfinish.mediaPlayerService.MediaPlayerService$3.onCustomAction(MediaPlayerService.java:336)
at android.support.v4.media.session.MediaSessionCompat$Callback$StubApi21.onCustomAction(MediaSessionCompat.java:832)
at android.support.v4.media.session.MediaSessionCompatApi21$CallbackProxy.onCustomAction(MediaSessionCompatApi21.java:231)
at android.media.session.MediaSession$CallbackMessageHandler.handleMessage(MediaSession.java:1246)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5422)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
媒体播放时,你打电话的方法? – muratgu
@muratgu是的。 – Hackmodford
也许这就是原因。 – muratgu