【问题标题】:Android MediaPlayer - setPlaybackParams throws a security exceptionAndroid MediaPlayer - setPlaybackParams 引发安全异常
【发布时间】:2017-01-04 18:58:21
【问题描述】:

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

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 上运行该应用程序。非常感谢任何帮助。


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

【问题讨论】:

    标签: android video playback rate mediaplayback


    【解决方案1】:

    我会尝试

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

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

    【讨论】:

    • 那行不通。 =[ 视频根本没有播放。表示应用程序已停止。
    【解决方案2】:

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

    【讨论】:

    • 我在 H96 PRO+ 上也看到过这种崩溃。
    • 在 Amlogic TX8 上。
    【解决方案3】:

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

    似乎是因为之前的媒体播放器没有正确释放。

    【讨论】:

      【解决方案4】:

      您还没有启动媒体播放器..

      player = mp;
       player .start()
              player.setPlaybackParams(new PlaybackParams().setSpeed(1.0f));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-08
        • 1970-01-01
        • 2012-02-25
        • 1970-01-01
        • 2012-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多