videoview只能加载指定视频

videoview只能加载指定视频,第1张

最近的项目中需要用到VideoView实现视频播放,自己花了一天多时间才能出来,有点想打自己再见,在学校的时候没好好学。

使用VideoView播放视频的步骤如下:

1) 在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件。

2) 调用VideoView的如下两个方法来加载指定视频。

setVideoPath(String path):加载 path 文件所代表的视频。

setVideoURI(Uri uri):加载uri所对应的视频。

3) 调用VideoView的start()、stop()、pause()方法来控制视频播放

实际上与VideoView—起结合使用的还有一个MediaController类,它的作用是提供一个友好的图形控制界面,通过该控制界面来控制视频的播放。

本文主要介绍的是Android用VideoView无法播放此视频的解决方法,下面废话不多说了,来一起看看详细的介绍吧

发现问题

废话少说,此次遇到的问题是无法播放此视频+黑屏,问题如下图,

这个问题硬是发了我一天多时间,在网上找不到解决方案,老板急,俺也急。

我是这样写的,已经简单的不能再简单了

Uri uri = Uri.parse("http://pic.ibaotu.com/00/20/08/96e888piCHck.mp4")

Log.i("Video", "视频:-->>"+uri)

vh.leftVideo.setMediaController(new MediaController(mContext))

vh.leftVideo.setVideoURI(uri)//播放网络视频

// 4.4 开始播放

vh.leftVideo.start()

// 4.5 获取焦点

vh.leftVideo.requestFocus()

原因分析:

很多人会以为是没有添加权限,或者是设备问题等等,都有可能。不过我这次犯了一个低级错误。

由于公司后台还没有实现视频上传功能,而我又着急弄视频播放,那么就去百度找视频素材,结果就是死活不肯出来。最后的最后,也是偶然的机会,我在公司的其他项目中看到了以前同事写的视频播放,关键的地方是我把它的视频路径换过来,结果奇迹般的可以播放了。

遇到这种问题,视频的最好是自己上传的,不要用网上的视频素材,网上的视频素材人家是做了保护的措施。还有一种方法,就是使用本地视频咯。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对呐喊教程的支持。

VideoView是Android用来实现视频播放的主要控件,VideoView内部是使用MediaPlayer来对视频文件进行控制的。但是他支持的格式比较单一,只支持mp4,avi,3gp等格式的视频。

android自带的播放器的进度条是默认会自动隐藏的,不能设置的。除非你去改源代码。你可以下个其他的播放器,看看能不能设置为不自动隐藏。

MediaController mc = new MediaController(this)

mc.setVisibility(View.INVISIBLE)

videoView.setMediaController(mc)

我是实现了,可以把VideoView自带的进度条隐藏。

用MediaController应该可以实现

如果用的VideoView的话,用如下代码:

MediaController mc = new MediaController(this)

mc.setVisibility(View.VISIBLE)

vvView.setMediaController(mc)

扩展资料:

以文件处理为例

单个文件的进度处理方法:

使用CopyFileEx进行文件复制,这个函数专门提供了一个回调函数用来处理你的进度条,详细参见MSDN。

总体进度的处理方法:

如果一批文件,首先获得文件的数量count = 文件数量

设置进条的范围为0至count,每完成一个文件,就向前进一步。

参考资料来源:百度百科-进度条


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8115783.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存