我正在尝试在Android中播放视频文件,但会遇到以下异常。
String url = getIntent().getStringExtra("url");
Log.d(iDomsAndroidApp.TAG, "Url is " + url);
final VideoView videoView = (VideoView) findViewById(R.id.videoplayer_videoView);
videoView.setVideoPath(url + "?id=" + uniqueAppId.getValue());
回复是:
D/MediaPlayer﹕ setDataSource IOException happend :
java.io.FileNotFoundException: No content provider: https://dominicansinteractive.idoms.org/media/15304/video.mp4?id=13392
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1059)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:913)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:840)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:997)
at android.widget.VideoView.openVideo(VideoView.java:337)
at android.widget.VideoView.access$2100(VideoView.java:71)
at android.widget.VideoView$7.surfaceCreated(VideoView.java:617)
at android.view.SurfaceView.updateWindow(SurfaceView.java:602)
at android.view.SurfaceView.access$000(SurfaceView.java:94)
at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:183)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:888)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2199)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6630)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:803)
at android.view.Choreographer.doCallbacks(Choreographer.java:603)
at android.view.Choreographer.doFrame(Choreographer.java:573)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:789)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5479)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
问题是我认为这是一个https连接,它将请求转发给CDN(https://idoms-media.o.auroraobjects.eu/15304/1431/encoded.mp4?Expires=1419003882&AWSAccessKeyId=DNC899D1JKFCJFAZLC97&Signature=LhAlZ5%2BobUh0z2KN7VrR5bTthMI%3D)
它在浏览器或iOS上运行良好,但我不知道如何处理Android。 有什么问题的建议吗?它是否正在寻找某些标题数据,或者前向不提供?
[编辑:] 它似乎必须是初始请求的'https',因为我的测试服务器使用相同的CDN并且似乎有效,但是没有https。
答案 0 :(得分:0)
似乎问题与使用https有关,一旦我删除它就可以正常工作。