1
작동하지

나는이 같은 동영상을 읽을 수 MediaPlayer를하고 서피스 뷰 SurfaceView를 사용 이 플레이어에서는 같은 비디오가 VLC 플레이어와 같은 다른 비디오 플레이어에서 작동합니다. 이 오류가 발생합니다.일부 비디오 형식은 MediaPlayer를

java.io.IOException: setDataSource failed.: status=0x80000000 
    at android.media.MediaPlayer._setDataSource(Native Method) 
    at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1113) 
    at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1070) 
    at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1009) 
    at android.media.MediaPlayer.setDataSource(MediaPlayer.java:956)  
    at com.geniussecurity.pleo.VideoActivity.surfaceCreated(VideoActivity.java:385) 
    at android.view.SurfaceView.updateWindow(SurfaceView.java:583) 
    at android.view.SurfaceView.access$000(SurfaceView.java:88) 
    at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:177) 
    at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:847) 
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1880) 
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1006) 
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5652) 
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) 
    at android.view.Choreographer.doCallbacks(Choreographer.java:574) 
    at android.view.Choreographer.doFrame(Choreographer.java:544) 
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) 
    at android.os.Handler.handleCallback(Handler.java:733) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:136) 
    at android.app.ActivityThread.main(ActivityThread.java:5426) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084) 
    at dalvik.system.NativeStart.main(Native Method) 

도움주세요.

답변

1

MediaPlayer을 사용하기 전에 Supported Media Formats을 확인하십시오.

VLC 및 다른 플레이어는 자신의 기본 레이어를 사용하여 비디오를 디코딩하고 재생합니다.

당신는 FFmpeg에 따라 비디오 재생 libs와 일부 사용하려고 할 수 있습니다

  1. jkplayer
  2. AndroidFFmpeg
관련 문제