2017-01-04 5 views
1

Ich versuche, ein Video schneller/langsamer über den folgenden Codeabschnitt abzuspielen.Android MediaPlayer - SetPlaybackParams löst eine Sicherheitsausnahme aus

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)); 
     } 
    }); 

Ich gebe '1' als Parameter im Moment nur zum Testen, was normale Wiedergabegeschwindigkeit sein soll. Aber ich bekomme den folgenden Fehler unabhängig davon, welche Nummer ich passiere.

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) 

Ich arbeite API Level 23 mit einer kompilierten SDK-Version von 24 Targeting und ich die Anwendung auf einem ODROID C2 ausgeführt wird. Jede Hilfe wird sehr geschätzt.


EDIT - Dieser Fehler auf einem Emulator nicht geschieht. Ich habe keine Ahnung, was an dem Android auf dieser Odroid C2 anders ist. Sie waren beide Marshmallow.

Antwort

0

Genau dies für alle Benutzer als Antwort setzen wollte. Der Fehler tritt nur auf dieser bestimmten Hardware (Odroid C2) auf. Das Ausführen des Codes in einem Emulator funktioniert.

+0

Ich habe diesen Absturz auch auf einem _H96 PRO + _ gesehen. – Kai

+0

Und auf einem Amlogic TX8. – Kai

2

würde ich mit

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

vorausgesetzt versuchen, dass das Video ohne die Einstellung der Wiedergabe spielt params

+0

Das hat nicht funktioniert. = [ Das Video wird überhaupt nicht abgespielt. Es sagt, dass die Anwendung gestoppt wurde. – Euroclydon37

0

Ich habe das gleiche Problem auf C2. Versuchen Sie, Media Player onDestroyView() -Funktion Ihres Fragments zu veröffentlichen. oder lassen Sie den Media Player schneller los.

Es scheint, weil vorheriger Media Player nicht korrekt freigegeben wurde.