首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓VideoView我随机得到一个“无法播放此视频”的错误

安卓VideoView我随机得到一个“无法播放此视频”的错误
EN

Stack Overflow用户
提问于 2020-09-02 15:56:14
回答 1查看 107关注 0票数 1

我想用VideoView播放视频

代码语言:javascript
复制
videoView.setVideoURI(Uri.parse("http://192.168.1.10:7777/mov_bbb.mp4"));
videoView.start();

它是随机工作的。加载视频的时间为20%,视频就会启动。但80%的情况下,我会得到这样的错误:

代码语言:javascript
复制
Can't play this video

这将输出到控制台:

代码语言:javascript
复制
W/MediaPlayer: Couldn't open http://192.168.1.10:7777/...
    java.io.FileNotFoundException: No content provider: http://192.168.1.10:7777/mov_bbb.mp4
        at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1673)
        at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1503)
        at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1420)
        at android.media.MediaPlayer.attemptDataSource(MediaPlayer.java:1101)
        at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1073)
        at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1097)
        at android.widget.VideoView.openVideo(VideoView.java:412)
        at android.widget.VideoView.access$2200(VideoView.java:83)
        at android.widget.VideoView$7.surfaceCreated(VideoView.java:694)
        at android.view.SurfaceView.updateSurface(SurfaceView.java:758)
        at android.view.SurfaceView$2.onPreDraw(SurfaceView.java:155)
        at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1088)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2745)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1721)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7598)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:966)
        at android.view.Choreographer.doCallbacks(Choreographer.java:790)
        at android.view.Choreographer.doFrame(Choreographer.java:725)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:951)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
V/MediaHTTPService: MediaHTTPService(android.media.MediaHTTPService@969a5ef): Cookies: null
D/EGL_emulation: eglMakeCurrent: 0xe331a180: ver 3 0 (tinfo 0xe330f830)
V/MediaHTTPService: makeHTTPConnection: CookieHandler (java.net.CookieManager@abffe09) exists.
V/MediaHTTPService: makeHTTPConnection(android.media.MediaHTTPService@969a5ef): cookieHandler: java.net.CookieManager@abffe09 Cookies: null
D/EGL_emulation: eglMakeCurrent: 0xe331a180: ver 3 0 (tinfo 0xe330f830)
D/EGL_emulation: eglMakeCurrent: 0xe331a180: ver 3 0 (tinfo 0xe330f830)
W/MediaHTTPConnection: readAt 516238 / 32768 => java.net.ProtocolException
E/MediaPlayerNative: error (1, -2147483648)
E/MediaPlayer: Error (1,-2147483648)

我不知道如何调试它。是否可以捕获这些错误,禁用警报,然后静默重试?

如果我在浏览器中打开url,视频加载和播放都很完美。

EN

回答 1

Stack Overflow用户

发布于 2020-09-02 16:25:43

尝尝这个

代码语言:javascript
复制
   Uri uri= Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath()+"/yourvideopath");

 videoView.setVideoURI(uri);
videoView.start();

您可以使用此命令获取您的视频存储在外部存储中的路径。将"/yourvideopath“替换为您的视频路径,如/dcim/camera/mov_bbb.mp4

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63701103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档