使用URL forward和CDN在VideoView中播放视频

时间:2014-12-19 15:39:30

标签: android video android-videoview

我正在尝试在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。

1 个答案:

答案 0 :(得分:0)

似乎问题与使用https有关,一旦我删除它就可以正常工作。