代码很简单,布局有一个SurfaceView,然后调用getHolder获取SurfaceHolder对象,在此处完成与SurfaceView相关的设置,设置显示分辨率和一个Callback接口,在发生更改时重写SurfaceView的创建,以及销毁时的三种方法!然后按钮仅控制播放和暂停〜
除了使用MediaPlayer + SurfaceView播放视频外java本地视频播放器,我们还可以使用VideoView直接播放视频,并且只需稍作更改即可实现视频播放!运行效果与上面的效果相同,因此它不会被发布,只需转到代码即可!
MainActivity.java:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private VideoView videoView;
private Button btn_start;
private Button btn_pause;
private Button btn_stop;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bindViews();
}
private void bindViews() {
videoView = (VideoView) findViewById(R.id.videoView);
btn_start = (Button) findViewById(R.id.btn_start);
btn_pause = (Button) findViewById(R.id.btn_pause);
btn_stop = (Button) findViewById(R.id.btn_stop);
btn_start.setOnClickListener(this);
btn_pause.setOnClickListener(this);
btn_stop.setOnClickListener(this);
//根据文件路径播放
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
videoView.setVideoPath(Environment.getExternalStorageDirectory() + "/lesson.mp4");
}
//读取放在raw目录下的文件
//videoView.setVideoURI(Uri.parse("android.resource://com.jay.videoviewdemo/" + R.raw.lesson));
videoView.setMediaController(new MediaController(this));
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_start:
videoView.start();
break;
case R.id.btn_pause:
videoView.pause();
break;
case R.id.btn_stop:
videoView.stopPlayback();
break;
}
}
}
代码非常简单,因此我将不作解释〜如果有疑问,我可以运行下一个演示〜
MediaPlayerDemo.zip
MediaPlayerDemo2.zip
VideoViewDemo.zip
好的,本节简要介绍如何使用MediaPlayer播放音频以及结合SurfaceView播放视频. 最后,我还写了一个使用VideoView播放视频的示例. 它们都是非常简单的用法〜我相信每个人都会学到的〜非常简单,谢谢您〜
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-270679-2.html
#易烊千玺#加油
谢作诗这厮脑袋进水了吧