Android MediaPlayer播放音频
初始化MediaPlayer及加载音频资源,加载完成后开始播放
private MediaPlayer mediaPlayer;
private void start() {
mediaPlayer = new MediaPlayer();
// 设置音量,参数分别表示左右声道声音大小,取值范围为0.0~1.0
mediaPlayer.setVolume(1f, 1f);
// 设置是否循环播放
mediaPlayer.setLooping(true);
// 监听音频资源加载完毕后开始播放
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
// 开始播放
mediaPlayer.start();
}
});
try {
// 我这里播放的是本地音频,在存储的根目录下
String path = Environment.getExternalStorageDirectory().getPath()
+ File.separator + SPUtils.getProductFileName()
+ File.separator + "music.mp3";
mediaPlayer.setDataSource(path);
// 异步加载资源,加载成功后会回调OnPreparedListener.onPrepared(MediaPlayer mediaPlayer)方法
mediaPlayer.prepareAsync();
} catch (IOException e) {
e.printStackTrace();
}
}
指定播放位置,参数为毫秒,表示跳转到距离开始多少秒处播放
mediaPlayer.seekTo(5000);
暂停播放
mediaPlayer.pause();
停止播放
mediaPlayer.stop();
释放资源,当需要再使用MediaPlayer的时候需调用此方法
mediaPlayer.release();
权限声明,播放本地文件或者网络音频别忘了声明存储读取权限或网络访问权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>