安卓VideoView(二)
来源:互联网 发布:visio 2016 for mac 编辑:程序博客网 时间:2024/06/05 21:57
此篇文章主要是对上篇文章地址的优化补充。
一.控制器位置
在给videoView设置控制机MediaController的时候他的位置显示在最底下,导致你每次触碰视频进度条快进快退都出现挡住了导航栏影响用户操作。
解决方法:只需设置mediaController.setPadding(intleft,inttop,intright,intbottom)就可以了。left靠父控件左边的像素距离,top靠上,right靠右,bottom靠下。像我为了给导航栏腾出空间,我就设置成mediaController.setPadding(0,0,0,222)。离底部222像素点当然由于每台设备的像素不一样你也可以通过getResources().getDisplayMetrics().heightPixels得到整个屏幕高再乘以个比例系数。比如:1/10距离底部占整个屏幕的1/10。
二.设置错误监听videoView.setOnErrorListener(errorListener)
我们都知道当URL地址不存在或解析的文件格式不对,视频是无法播放的。为了让用户知道原因我们就需要设置错误监听。
MediaPlayer.OnErrorListener a=new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { return false; }};
系统如果识别不了视频会自动出现个弹框“此视频无法播放”,界面真他娘的丑。解决办法把上面的return false改成ture。这个时候你就可以添加你自定义的弹框。
错误码解析对照
switch (what){ case MediaPlayer.MEDIA_ERROR_UNKNOWN: 1 Log.e("text","发生未知错误"); break; case MediaPlayer.MEDIA_ERROR_SERVER_DIED: 100 Log.e("text","媒体服务器死机"); } switch (extra){ case MediaPlayer.MEDIA_ERROR_IO: -1004 //io读写错误 Log.e("text","文件或网络相关的IO操作错误"); break; case MediaPlayer.MEDIA_ERROR_MALFORMED: -1007 //文件格式不支持 Log.e("text","比特流编码标准或文件不符合相关规范"); break; case MediaPlayer.MEDIA_ERROR_TIMED_OUT: -110 //一些操作需要太长时间来完成,通常超过3 - 5秒。 Log.e("text","操作超时"); break; case MediaPlayer.MEDIA_ERROR_UNSUPPORTED: -1010 //比特流编码标准或文件符合相关规范,但媒体框架不支持该功能 Log.e("text","比特流编码标准或文件符合相关规范,但媒体框架不支持该功能");
阅读全文
0 0
- 安卓VideoView(二)
- 安卓VideoView(一)
- 安卓VideoView使用
- 安卓设置videoview全屏
- 安卓videoView 横屏,全屏显示
- 安卓MediaPlayer和VideoView简单使用
- Xamarin 安卓VideoView 播放视频有声音无图像(已解决)
- VideoView的简单使用(二)
- 安卓使用系统提供videoview播放视频
- 安卓播放器VideoView的简单使用
- 安卓原生VideoView与MediaController之间建立关联
- Android 安卓使用VideoView播放本地视频
- 安卓基础(二)
- 安卓学习(二)
- 安卓逆向(二)
- 安卓Fragment(二)
- Android 播放视频(二)VideoView
- 安卓 利用videoView 播放资源文件 并且全屏播放 适用于闪屏页
- 关于如何理解递归的两则小例子
- 其他题目---设计一个没有扩容负担的堆结构
- xz: linux-4.13.10.tar.xz: Unexpected end of input
- Fibonacci数列第n项的第7种计算方法:Python列表
- 跟我学习dubbo-简介(1)
- 安卓VideoView(二)
- mysql中or和in的效率问题
- 一位10年Java工作经验的架构师聊Java和工作经验
- eclipse查看jar包源代码乱码问题解决
- Floyd算法相关
- c++构建工具之xmake使用实例
- EL表达式
- SpringBoot实战读书笔记
- 前端如何做好网站优化