VideoView中实现循环播放视频的问题
2016-07-18 15:31
543 查看
本文转载来自:http://blog.sina.com.cn/s/blog_ea95a18b0102wg84.html
关于这一点我很惭愧,研究了两个小时各种方法几乎都用到了,可是半毛钱的作用也没有起。
最后,静下心来想了想突然醒悟了,看源码多么强大的领悟。于是乎顺藤摸瓜我便很快解决了问题,顺利完成了循环播放视频。
实现效果描述:给手机SDcard的某个目录下放N个视频文件,然后通过你自己写的App播放视频的组件VideoView来实现循环播放。
也就是说,我们要实现的播放顺序是1-2-3-4-1-2-3-4.......
直接上代码了:
package com.hangcheng;
import com.example.bdcustomer_demo.R;
import com.hangcheng.view.MyVideoView;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Window;
public class VideoActivity extends Activity {
private MyVideoView myVideoView;
private String videopath;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.video);
initView();
videopath = VideoActivity.this.getIntent().getStringExtra("videopath");
myVideoView.setVideoPath(videopath);
myVideoView.start();
myVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
mp.setLooping(true);
}
});
myVideoView
.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
myVideoView.setVideoPath(videopath);
myVideoView.start();
}
});
}
private void initView() {
myVideoView = (MyVideoView) findViewById(R.id.video);
}
}
关于这一点我很惭愧,研究了两个小时各种方法几乎都用到了,可是半毛钱的作用也没有起。
最后,静下心来想了想突然醒悟了,看源码多么强大的领悟。于是乎顺藤摸瓜我便很快解决了问题,顺利完成了循环播放视频。
实现效果描述:给手机SDcard的某个目录下放N个视频文件,然后通过你自己写的App播放视频的组件VideoView来实现循环播放。
也就是说,我们要实现的播放顺序是1-2-3-4-1-2-3-4.......
直接上代码了:
package com.hangcheng;
import com.example.bdcustomer_demo.R;
import com.hangcheng.view.MyVideoView;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Window;
public class VideoActivity extends Activity {
private MyVideoView myVideoView;
private String videopath;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.video);
initView();
videopath = VideoActivity.this.getIntent().getStringExtra("videopath");
myVideoView.setVideoPath(videopath);
myVideoView.start();
myVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
mp.setLooping(true);
}
});
myVideoView
.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
myVideoView.setVideoPath(videopath);
myVideoView.start();
}
});
}
private void initView() {
myVideoView = (MyVideoView) findViewById(R.id.video);
}
}
相关文章推荐
- android视频播放(二) 利用android原生的MediaPlayer+SurfaceView
- android播放视频(三)利用原生的MediaPlayer+SurfaceView之提高
- 采用mvp+retrofix+rxjava框架的一款集结多功能的个人项目
- videoView播放视频,简易视频播放器自己写
- 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(上)
- Android 仿2016版京东筛选
- Android 去掉运营商STK对话框提示
- Android中ActionBar的使用
- Android-弹出DatePickerDialog并获取值
- Android 屏幕旋转(横竖设置)
- Android解决获取控件Width和Height为0的问题
- StartedService和BoundService的区别
- Android Toast使用详解
- AndroidManifest.xml中属性
- Android和iOS设备中的纹理压缩
- Android 5.0 内置第三方apk
- Android 讯飞语音合成
- android手机字体库相关问题深入剖析
- 史上最通俗易懂的Android中使用Dagger入门教程
- 类似酷狗锁屏时页面显示在解锁页面之上的实现方法