마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

VideoPlayer 를 통해 앱 내에서 영상을 재생하려 합니다.

0 추천

 

비디오 파일이 sdcard 내에 존재합니다.

경로를 찍어 파일이 존재하는지 확인하면 존재하고 있구요.

 

허나 videoView 에서는 "재생할 수 없는 동영상입니다." 라고만 나옵니다.

아래 로그와 함께.. 

어떤 부분을 봐야할까요?

기본 갤러리에 들어가서 재생하면 정상적으로 재생이 됩니다.

 

2019-03-15 00:56:35.869 22092-22092/패키지명 D/MediaPlayer: setDataSource IOException | SecurityException happend : 
    java.io.FileNotFoundException: No content provider: /storage/emulated/0/폴더명/2019-03-15 00:56:29.mp4
        at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1402)
        at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1253)
        at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1176)
        at android.media.MediaPlayer.attemptDataSource(MediaPlayer.java:1163)
        at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1135)
        at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1159)
        at android.widget.VideoView.openVideo(VideoView.java:399)
        at android.widget.VideoView.-wrap0(Unknown Source:0)
        at android.widget.VideoView$7.surfaceCreated(VideoView.java:678)
        at android.view.SurfaceView.updateSurface(SurfaceView.java:753)
        at android.view.SurfaceView$2.onPreDraw(SurfaceView.java:154)
        at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1045)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2808)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1780)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7827)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
        at android.view.Choreographer.doCallbacks(Choreographer.java:723)
        at android.view.Choreographer.doFrame(Choreographer.java:658)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
        at android.os.Handler.handleCallback(Handler.java:789)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6944)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

 

개발자초심 (21,220 포인트) 님이 3월 15일 질문

2개의 답변

0 추천
FileNotFoundException: No content provider: /storage/emulated/0/폴더명/2019-03-15 00:56:29.mp4

파일을 못 찾는다니 경로와 권한 확인 해 보세요.
익명사용자 님이 3월 15일 답변
파일은 존재하고, 디바이스 내 갤러리에서 정상 재생 됩니다.

앱 내 비디오뷰에서 안되는것입니다.
0 추천
SecurityException은 저장소 접근권한 런타임 퍼미션으로 안하시고 매니패스트파일에 정적으로 해놓으셔서 그런것 아닐지요.
익명사용자 님이 3월 15일 답변
...