十三.Android简单的音频播放器和视频播放器
2016-08-18 本文已影响636人
KaelQ
1.概述
- 现在的智能手机越来越代替传统音乐播放器的作用了。这次我们就来看看简单的音频播放器和视频播放器如何编写。
2.音频播放器
2.1准备工作
- MediaPlayer:音频的基本操作类。
方法 | 作用 |
---|---|
start | 开始 |
pause | 暂停 |
reset | 停止 |
prepare | 准备就绪 |
isPlaying | 是否正在播放 |
release | 释放这个播放器 |
setDataSource | 设置音频文件路径 |
- File:文件读取类,读取需要播放的文件。
- 获取SD路径方法 Environment.getExternalStorageDirectory()
2.2流程图

2.3代码编写
首先要在sd根目录下放置一个music.mp3文件。
- 初始化MediaPlayer
File file =new File(Environment.getExternalStorageDirectory(),"music.mp3");//将文件存放为file对象
try {
mediaPlayer.setDataSource(file.getPath());//设置音频文件路径
mediaPlayer.prepare();//准备
} catch (IOException e) {
e.printStackTrace();
}
- 按键监听
switch (view.getId()) {
case R.id.btn_start:
if(!mediaPlayer.isPlaying()){
mediaPlayer.start();
}
break;
case R.id.btn_pause:
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
}
break;
case R.id.btn_stop:
if(mediaPlayer.isPlaying()){
mediaPlayer.reset();
initMediaPlayer();
}
break;
}
- 退出销毁
@Override
public void onDestroy(){
super.onDestroy();
if(mediaPlayer!=null){
mediaPlayer.stop();
mediaPlayer.release();
}
}
预览效果如下:

预览声音。Σ( ° °|||)︴。这个没办法预览啦。
3视频播放器
3.1 准备工作
- 与音频播放器类似,只不过换成了VideoView类。
- VideoView类
方法 | 作用 |
---|---|
start | 开始 |
pause | 暂停 |
resume | 视频重新从头播放 |
isPlaying | 是否在播放 |
setVideoPath | 设置播放文件的地址 |
suspend | 销毁 |
- File:文件读取类,读取需要播放的文件。
- 获取SD路径方法 Environment.getExternalStorageDirectory()
3.2流程图

3.3代码
首先你的根目录下需要放一个叫video.mp4文件。
- 获取文件
File file =new File(Environment.getExternalStorageDirectory(),"video.mp4");//将文件存放为file对象
videovFilm.setVideoPath(file.getPath());//设置音频文件路径
- 多种操作
switch (view.getId()) {
case R.id.btn_play:
if(!videovFilm.isPlaying()){
videovFilm.start();
}
break;
case R.id.btn_pause:
if(videovFilm.isPlaying()){
videovFilm.pause();
}
break;
case R.id.btn_resume:
if(videovFilm.isPlaying()){
videovFilm.resume();
}
break;
}
- 退出销毁
@Override
public void onDestroy(){
super.onDestroy();
if(videovFilm!=null) {
videovFilm.suspend();
}
}
预览效果如下:
