inthehand / InTheHand.Forms

Extras for Xamarin Forms including MediaElement

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Android] java.io.FileNotFoundException: No content provider:

dationguyen opened this issue · comments

Hi Guys,
I am facing an issue on android platform.
When i am trying to play some video an message keep showing
"Can't play this video" when I click Ok the dialogbox will close and open again.
error message in debug is :

[MediaPlayer] Couldn't open http://www.twelfy.com/iphone/twelty_app/service/user_file/97431aa5fb20f08d4fbb6c3274f7bae8.mp4: java.io.FileNotFoundException: No content provider: http://www.twelfy.com/iphone/twelty_app/service/user_file/97431aa5fb20f08d4fbb6c3274f7bae8.mp4
[MediaPlayer] setDataSource IOException | SecurityException happend :
[MediaPlayer] java.io.FileNotFoundException: No content provider: http://www.twelfy.com/iphone/twelty_app/service/user_file/97431aa5fb20f08d4fbb6c3274f7bae8.mp4
[MediaPlayer] at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1137)
[MediaPlayer] at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:988)
[MediaPlayer] at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:911)
[MediaPlayer] at android.media.MediaPlayer.attemptDataSource(MediaPlayer.java:1102)
[MediaPlayer] at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1093)
[MediaPlayer] at android.widget.VideoView.openVideo(VideoView.java:356)
[MediaPlayer] at android.widget.VideoView.-wrap0(VideoView.java)
[MediaPlayer] at android.widget.VideoView$7.surfaceCreated(VideoView.java:632)
[MediaPlayer] at android.view.SurfaceView.updateWindow(SurfaceView.java:652)
[MediaPlayer] at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:172)
[MediaPlayer] at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1013)
[MediaPlayer] at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2492)
[MediaPlayer] at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1509)
[MediaPlayer] at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7051)
[MediaPlayer] at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927)
[MediaPlayer] at android.view.Choreographer.doCallbacks(Choreographer.java:702)
[MediaPlayer] at android.view.Choreographer.doFrame(Choreographer.java:638)
[MediaPlayer] at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:913)
[MediaPlayer] at android.os.Handler.handleCallback(Handler.java:751)
[MediaPlayer] at android.os.Handler.dispatchMessage(Handler.java:95)
[MediaPlayer] at android.os.Looper.loop(Looper.java:154)
[MediaPlayer] at android.app.ActivityThread.main(ActivityThread.java:6692)
[MediaPlayer] at java.lang.reflect.Method.invoke(Native Method)
[MediaPlayer] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
[MediaPlayer] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)

Best regards,
Dat Nguyen

Hi guys,
I just find out that when you set an incorrect URI to source, the popup "can't play this video" will show infinity (unable to close it)
the problem comes from this method in the renderer

void MediaPlayer.IOnCompletionListener.OnCompletion(MediaPlayer mp)
       {            
           mp.SeekTo(0);
           this.Element.OnMediaEnded();
       }

Best regards,
Dat Nguyen

OnCompletion behaviour has changed so closing this, please re-open if it still occurs