android 视频播放
来源:互联网 发布:fastdfs java api文档 编辑:程序博客网 时间:2024/05/06 20:21
android 有三种视频播放方式
1 surfaceView + MediaPlayer 组合
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.play_activity); seekBarVideo =(SeekBar)findViewById(R.id.seekBar_video); mediaPlayer = new MediaPlayer(); pathString = "https://video.c-ctrip.com/videos/u00b0c00000065uyyBF17.mp4"; holder = surfaceView.getHolder(); holder.addCallback(this); try { mediaPlayer.setDataSource(pathString); mediaPlayer.prepare(); } catch (IllegalArgumentException e1) { e1.printStackTrace(); } catch (SecurityException e1) { e1.printStackTrace(); } catch (IllegalStateException e1) { e1.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } mediaPlayer.start(); } @Override public void surfaceCreated(SurfaceHolder holder) { mediaPlayer.setDisplay(holder); int max=mediaPlayer.getDuration(); seekBarVideo.setMax(max); //定时器更新进度条 timer=new Timer(); timeTask=new TimerTask() { @Override public void run() { // TODO Auto-generated method stub seekBarVideo.setProgress(mediaPlayer.getCurrentPosition()); } }; timer.schedule(timeTask, 0, 500); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } @Override public void surfaceDestroyed(SurfaceHolder holder) { if (mediaPlayer!=null&&mediaPlayer.isPlaying()) { currentPosition=mediaPlayer.getCurrentPosition(); mediaPlayer.stop(); mediaPlayer.release(); mediaPlayer=null; timer.cancel(); timeTask.cancel(); timer=null; timeTask=null; } }
在这里容易出现问题
mediaPlayer.setDisplay(holder);
容易报 SurfaceHolder holder can not release
问题出现在mdiaPlayer 中没有初始化好,所以我门会实现 SurfaceHolder 中的CallBack 接口
在
public void surfaceCreated(SurfaceHolder holder) {}
中设置 mediaPlayer.setDisplay(holder);
0 0
- Android视频播放: VideoView播放视频(三)
- android视频播放
- Android 视频播放
- android 视频播放
- android 视频播放
- Android VideoView播放视频
- Android视频播放
- Android之视频播放
- Android 视频播放器
- android 视频播放
- android 播放视频示例
- android 视频播放器
- Android VideoView播放视频
- ANDROID 视频播放代码
- Android 视频播放 MediaPlayer
- Android视频播放
- Android 播放视频示例
- Android播放视频(四)
- 蚂蚁分类信息系统5.8多城市UTF8开源优化版
- 蓝桥 PREV-34 历届试题 矩阵翻硬币 【高精度】
- 深夜来一发,拿走不谢
- 程序员福音:美五角大楼宣布开源代码库
- 深夜来一发,拿走不谢
- android 视频播放
- Risk uva 12264(最大流,二分法,拆点法)
- uvalive 5088 hdu3066(树形dp)
- (蓝桥杯)基础练习 高精度加法
- 树形dp 总结(转)
- c程序实例
- 蓝桥 ADV-232 算法提高 矩阵乘法 【区间DP】
- 蓝桥 ADV-233 算法提高 队列操作 【STL】
- 104.归属地风格的自定义选择