구글에 떠도는 videoView예제로 우선 url 불러들여와서 동영상을 재생하는 예제를 실행해보았는데
잘 재생이 되더라구요..
그래서 url이 없는 자체 앱만으로 재생이 가능하도록 만들려고 하였는데...
url로는 재생이 잘됬던 동영상이 "재생할 수 없는 동영상입니다."라고 나오더군요
처음에는 sdcard쪽에 저장시켜놓고 불러들이는 방식이라 아래와 같은 에러도 나기에 권한 문제라고 생각하여
==================================================================
10-05 00:03:04.561 29844-29844/com.project9.videoviewexample W/VideoView: Unable to open content: /storage/emulated/0/Movies/001_2.mp4
java.io.FileNotFoundException: /storage/emulated/0/Movies/001_2.mp4 (Permission denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1205)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1129)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1075)
at android.widget.VideoView.openVideo(VideoView.java:356)
at android.widget.VideoView.-wrap0(VideoView.java)
at android.widget.VideoView$7.surfaceCreated(VideoView.java:632)
at android.view.SurfaceView.updateWindow(SurfaceView.java:656)
at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:172)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1013)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2542)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1537)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7183)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:959)
at android.view.Choreographer.doCallbacks(Choreographer.java:734)
at android.view.Choreographer.doFrame(Choreographer.java:670)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:945)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
혹시 동영상 문제인가 싶어 mp4Box로 헤더 쪽에 hint를 넣어줘서 해보았지만 동일한 문제를 보이더군요..
혹시나 싶어 파일 크기도 줄여보았습니다. 인코딩도 다시 해보기도 했구요..
그냥 재생은 되는데..
어플을 통해서 컴파일 한 소스는 돌아가지 않더라구요..
무슨 문제인지 구글링을 계속하고 있는데..
보통은 권한 문제, 혹은 인코딩 문제, 동영상 헤더 쪽 hint 문제였는데
그 부분은 다 시도해 본것 같은데 안되더군요..
무슨 문제인지 답답하여 여기에 질문을 올리게 되었습니다.