Mathias Lin
- Forum-Beiträge: 20
04.08.2010, 19:40:40 via Website
04.08.2010 19:40:40 via Website
In meiner Anwendung habe ich eine VideoView, die bislang Videos und Images von der SDCard anzeigt. Aus Sicherheitsgruenden habe ich die Medien nun in den Internal Storage verschoben (z.B. /data/data/com.myapp/some/folders/video.mp4), und zwar per Routine im Code meiner App. Auf diese Files sollte die App also alle Rechte haben.
In meiner App habe ich nun den Pfad zu den Bildern und Videos geaendert, urspr. /sdcard/, nun zum Internal Storage wie oben angegeben. Mit den Anzeigen der Bilder funktioniert auch alles soweit, aber Videos werden nicht abgespielt, die Datei ist definitiv vorhanden, Rechte sind auch vorhanden, es wird folgende IOException geworfen, beim prepare() des Mediaplayers::
java.io.IOException: Prepare failed.: status=0xFFFFFFFC
Meine Frage also: kann die VideoView keine Videos vom internal storage abspiegeln?
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)
In meiner App habe ich nun den Pfad zu den Bildern und Videos geaendert, urspr. /sdcard/, nun zum Internal Storage wie oben angegeben. Mit den Anzeigen der Bilder funktioniert auch alles soweit, aber Videos werden nicht abgespielt, die Datei ist definitiv vorhanden, Rechte sind auch vorhanden, es wird folgende IOException geworfen, beim prepare() des Mediaplayers::
java.io.IOException: Prepare failed.: status=0xFFFFFFFC
Meine Frage also: kann die VideoView keine Videos vom internal storage abspiegeln?
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)
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.