I have an application with a lot of media data (images and videos) that were previously stored on the sdcard. With that, images and videos are displayed fine in my app.

Now, in order to secure the content more, I wanted to move the content to the internal storage / data dir of the app, which I did. I copied all media with a routine within my app to the data folder (/data/data/com.myapp/some/folders/video.mp4) and adjusted the path in my app so that it would look for the media in the internal storage data directory and not the sdcard anymore.

Everything works fine, images are being displayed (decoded) properly, but videos don't play. They files do exist though - I do not get a FileNotFound exception. But an IOException:
java.io.IOException: Prepare failed.: status=0xFFFFFFFC

Why is that? Everything is handled within my one app and the videos have been copied with the same routine as the images, thus having the same permission settings. Looking at the stack trace, it all runs in process id 18060).

Why I cannot playback the video from internal storage? Or how can I? Thanks.


V/MediaPlayer(18060): message received msg=100, ext1=-4, ext2=-4
E/MediaPlayer(18060): SISO TEST MEDIA_ERROR
E/MediaPlayer(18060): error (-4, -4)
V/MediaPlayer(18060): signal application thread
V/MediaPlayer(18060): callback application
V/MediaPlayer(18060): back from callback
V/MediaPlayer(18060): prepare complete - status=-4
E/MyApp(18060): vp Exception in btnVideoPause prep
E/MyApp(18060): java.io.IOException: Prepare failed.: status=0xFFFFFFFC
E/MyApp(18060):   at android.media.MediaPlayer.prepare(Native Method)
E/MyApp(18060): at com.myapp.android.activity.videoplayer.VideoPlayer.playVideo(VideoPlayer.java:302) E/MyApp(18060): at com.myapp.android.activity.videoplayer.VideoPlayer.surfaceCreated(VideoPlayer.java:432)

E/MyApp(18060): at android.view.SurfaceView.updateWindow(SurfaceView.java:532) E/MyApp(18060): at android.view.SurfaceView.dispatchDraw(SurfaceView.java:339)
E/MyApp(18060):   at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
E/MyApp(18060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
E/MyApp(18060):   at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
E/MyApp(18060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
E/MyApp(18060):   at android.view.View.draw(View.java:6796)
E/MyApp(18060):   at android.widget.FrameLayout.draw(FrameLayout.java:352)
E/MyApp(18060):   at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
E/MyApp(18060): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
E/MyApp(18060):   at android.view.View.draw(View.java:6796)
E/MyApp(18060):   at android.widget.FrameLayout.draw(FrameLayout.java:352)
E/MyApp(18060): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1901)
E/MyApp(18060):   at android.view.ViewRoot.draw(ViewRoot.java:1407)
E/MyApp(18060): at android.view.ViewRoot.performTraversals(ViewRoot.java:1163)
E/MyApp(18060):   at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
E/MyApp(18060):   at android.os.Handler.dispatchMessage(Handler.java:99)
E/MyApp(18060):   at android.os.Looper.loop(Looper.java:123)
E/MyApp(18060): at android.app.ActivityThread.main(ActivityThread.java:4627)
E/MyApp(18060):   at java.lang.reflect.Method.invokeNative(Native Method)
E/MyApp(18060):   at java.lang.reflect.Method.invoke(Method.java:521)
E/MyApp(18060): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871) E/MyApp(18060): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
E/MyApp(18060):   at dalvik.system.NativeStart.main(Native Method)
I/MediaPlayer(18060): Info (1,26)

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to