android播放网络或者本地视频(截取某帧做封面)VideoView原生控件
来源:互联网 发布:java tar.gz 编辑:程序博客网 时间:2024/05/17 01:01
使用android原生控件VideoView播放本地或者网络视频, 实现如下:
XML文件中:
<VideoView android:id="@+id/videoView" android:layout_width="match_parent" android:layout_height="match_parent" />
Jave代码中:
videoView = (VideoView)this.findViewById(R.id.videoView ); //本地的视频 需要在手机SD卡根目录添加一个 fl1234.mp4 视频 String videoUrl1 = Environment.getExternalStorageDirectory().getPath()+"/fl1234.mp4" ; //网络视频 String videoUrl2 = "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" ; Uri uri = Uri.parse( videoUrl2 ); //设置视频控制器 videoView.setMediaController(new MediaController(this)); //播放完成回调 videoView.setOnCompletionListener( new MyPlayerOnCompletionListener()); //设置视频路径 videoView.setVideoURI(uri); //开始播放视频 videoView.start();class MyPlayerOnCompletionListener implements MediaPlayer.OnCompletionListener { @Override public void onCompletion(MediaPlayer mp) { Toast.makeText( MainActivity.this, "播放完成了", Toast.LENGTH_SHORT).show(); } }
好了,运行吧
PS:不要忘了加权限
有的时候需要显示网络视频的某一帧做封面,接下来上实现代码:
public Bitmap getNetVideoBitmap(String videoUrl) { Bitmap bitmap = null; MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { //根据url获取缩略图 retriever.setDataSource(videoUrl, new HashMap()); //获得第一帧图片 bitmap = retriever.getFrameAtTime(); imageView.setImageBitmap(bitmap); } catch (IllegalArgumentException e) { e.printStackTrace(); } finally { retriever.release(); } return bitmap; }
这样就能获取到视频中的某一帧做封面了!!! 但是这段代码非常的耗时,我能想到的暂时的办法是开个线程放进去, 没有什么好的办法, 有能解决的麻烦告知一下,谢谢了!
阅读全文
0 0
- android播放网络或者本地视频(截取某帧做封面)VideoView原生控件
- Android VideoView本地视频播放
- Android VideoView播放网络视频
- Android VideoView播放网络视频
- VideoView播放本地、网络视频及其监听
- Android 视频播放器 VideoView 的使用,播放本地视频 和 网络 视频
- android 使用videoview播放本地视频
- VideoView播放网络视频
- Android使用VideoView播放网络视频
- Android使用VideoView播放网络视频
- Android使用VideoView播放网络视频
- Android使用VideoView播放网络视频
- Android使用VideoView播放网络视频
- Android使用VideoView播放网络视频
- Android使用VideoView播放网络视频
- Android使用VideoView播放网络视频
- Android使用VideoView播放网络视频
- Android使用VideoView播放网络视频
- unity3d配置Android环境,打包发布Apk流程详解
- EMD代码的研究之路
- 嵌入式linux基础学习全套精品视频教程
- Linux:GDB调试NS2项目详细步骤
- Unity3d 技巧(11) -VR 瞬移睁眼闭眼 能减少眩晕感
- android播放网络或者本地视频(截取某帧做封面)VideoView原生控件
- Android Studio 使用AIDL
- 常用python内置函数
- Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析
- 原生js一些方法
- Android采用ListView实现数据列表显示
- Fresco 与 Picasso 、Glide 的比较
- acm进阶题
- 记录日常代码