public class PlayerVideoActivity extends Activity {
// SurfaceView控件
private SurfaceView sv_video;
private SurfaceHolder surfaceHolder;
// 播放视频对象
private MediaPlayer mediaPlayer;
private String path;
private boolean PasueFlag = false;
// 记录暂停播放的位置
private int currentPosition = 0;
// 播放按钮的控件
private LinearLayout video_layout;
//声明一个回放的记录位置
private int backPosition = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
// 获取SurfaceView控件
sv_video = (SurfaceView) findViewById(R.id.sv_video);
// 通过控件来获取SurfaceHolder
surfaceHolder = sv_video.getHolder();
// 回调函数
surfaceHolder.addCallback(new SurfaceHolder.Callback() {
// surfaceView控件被销毁的方法
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// 当点击后退按钮 就杀死 surfaceView控件 activity被杀死
//记录视频所播放的位置
int position = mediaPlayer.getCurrentPosition();
mediaPlayer.release();
mediaPlayer = null;
//声明意图对象
Intent data = new Intent();
data.putExtra("position",position);
PlayerVideoActivity.this.setResult(RESULT_OK, data);
//当前kill
PlayerVideoActivity.this.finish();
}
// surfaceView创建的时候执行的方法
@Override
public void surfaceCreated(SurfaceHolder holder) {
// 当第一次使用SurfaceView的时候 播放视频
play();
}
// surfaceView发生变化执行的操作
@Override
public void surfaceChanged(SurfaceHolder holder, int format,
int width, int height) {
}
});
// 在这里怎么获取intent传递的数据
path = this.getIntent().getStringExtra("path&#
Android中使用SurfaceView视频播放器
最新推荐文章于 2023-08-29 16:41:21 发布
该博客详细介绍了如何在Android应用中使用SurfaceView组件实现视频播放功能。包括SurfaceView的初始化,MediaPlayer对象的创建、设置播放源、监听事件以及播放、暂停、停止和重置操作。此外,还涉及到通过Intent传递播放位置信息,以便在activity间恢复播放状态。
摘要由CSDN通过智能技术生成