1

我正在尝试通过以下代码块更快/更慢地播放视频。

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$3.onPrepared(videoActivity.java:80)
                                                                   at android.widget.VideoView$2.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)

我正在使用已编译的 SDK 版本 24 以 API 级别 23 为目标,并且我正在 Odroid C2 上运行该应用程序。任何帮助是极大的赞赏。


编辑- 这个错误不会发生在模拟器上。我不知道在这个 Odroid C2 上运行的 Android 有什么不同。他们都是棉花糖。

4

4 回答 4

3

我会尝试

player.setPlaybackParams(player.getPlaybackParams().setSpeed(1.0f))

假设视频正在播放而没有设置播放参数

于 2017-01-04T19:46:30.313 回答
0

只是想将此作为任何搜索的答案。该错误仅发生在此特定硬件(Odroid C2)上。在模拟器中运行代码是可行的。

于 2017-02-15T16:59:33.190 回答
0

我在 C2 上遇到了同样的问题。尝试释放片段的媒体播放器 onDestroyView() 函数。或比这更快地发布媒体播放器。

出现是因为之前的媒体播放器未正确发布。

于 2017-11-29T13:24:47.063 回答
0

您尚未启动媒体播放器..

player = mp;
 player .start()
        player.setPlaybackParams(new PlaybackParams().setSpeed(1.0f));
于 2021-01-13T09:54:05.620 回答