Android MediaPlayer - setPlaybackParams 引发安全异常
Android MediaPlayer - setPlaybackParams throws a security exception
我正在尝试通过以下代码块播放视频 faster/slower。
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
socket.send(positionID + ":playState:ready:empty");
player = mp;
player.setPlaybackParams(new PlaybackParams().setSpeed(1.0f));
}
});
我现在将'1'作为参数传递只是为了测试,这应该是正常的播放速度。但是无论我传递什么数字,我都会收到以下错误。
01-04 18:49:17.308 24548-24548/com.spectiv.slave E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.spectiv.slave, PID: 24548
java.lang.SecurityException
at android.media.MediaPlayer.setPlaybackParams(Native Method)
at com.spectiv.slave.videoActivity.onPrepared(videoActivity.java:80)
at android.widget.VideoView.onPrepared(VideoView.java:432)
at android.media.MediaPlayer$EventHandler.handleMessage(MediaPlayer.java:2830)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
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)
我的目标是 API 级别 23,编译后的 SDK 版本为 24,我是 运行 Odroid C2 上的应用程序。非常感谢任何帮助。
EDIT - 这个错误不会发生在模拟器上。我不知道这个 Odroid C2 上的 Android 运行 有什么不同。他们都是棉花糖。
我会尝试
player.setPlaybackParams(player.getPlaybackParams().setSpeed(1.0f))
假设在没有设置播放参数的情况下播放视频
只是想把这个作为任何搜索的答案。该错误仅发生在这个特定的硬件 (Odroid C2) 上。 运行 模拟器中的代码有效。
我在 C2 上遇到了同样的问题。
尝试发布片段的媒体播放器 onDestroyView() 函数。
或者更快地发布媒体播放器。
出现是因为之前的媒体播放器没有正确发布
您还没有启动媒体播放器..
player = mp;
player .start()
player.setPlaybackParams(new PlaybackParams().setSpeed(1.0f));
我正在尝试通过以下代码块播放视频 faster/slower。
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
socket.send(positionID + ":playState:ready:empty");
player = mp;
player.setPlaybackParams(new PlaybackParams().setSpeed(1.0f));
}
});
我现在将'1'作为参数传递只是为了测试,这应该是正常的播放速度。但是无论我传递什么数字,我都会收到以下错误。
01-04 18:49:17.308 24548-24548/com.spectiv.slave E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.spectiv.slave, PID: 24548
java.lang.SecurityException
at android.media.MediaPlayer.setPlaybackParams(Native Method)
at com.spectiv.slave.videoActivity.onPrepared(videoActivity.java:80)
at android.widget.VideoView.onPrepared(VideoView.java:432)
at android.media.MediaPlayer$EventHandler.handleMessage(MediaPlayer.java:2830)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
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)
我的目标是 API 级别 23,编译后的 SDK 版本为 24,我是 运行 Odroid C2 上的应用程序。非常感谢任何帮助。
EDIT - 这个错误不会发生在模拟器上。我不知道这个 Odroid C2 上的 Android 运行 有什么不同。他们都是棉花糖。
我会尝试
player.setPlaybackParams(player.getPlaybackParams().setSpeed(1.0f))
假设在没有设置播放参数的情况下播放视频
只是想把这个作为任何搜索的答案。该错误仅发生在这个特定的硬件 (Odroid C2) 上。 运行 模拟器中的代码有效。
我在 C2 上遇到了同样的问题。 尝试发布片段的媒体播放器 onDestroyView() 函数。 或者更快地发布媒体播放器。
出现是因为之前的媒体播放器没有正确发布
您还没有启动媒体播放器..
player = mp;
player .start()
player.setPlaybackParams(new PlaybackParams().setSpeed(1.0f));