使用MediaPlayer播放音频-----之一

时间:2022-01-01 02:00:31

MediaPlayer提供了如下方法来指定装载相应的音频文件:

1、void  setDataSource( String  path):指定装载path路径所代表的文件。

2、void  setDataSource(FileDescriptor  fd, long  offset , long  length ):指定装载fd所代表的文件中从offset开始、长度为length的文件内容。

3、void  setDataSource(FileDescriptor  fd ):指定装载发的所代表的文件。

4、void  setDataSource(Context  context , Uri  uri ):指定装载Uri所代表的文件。

执行上面的setDataResource()方法之后,MediaPlayer并未真正去装载那些音频文件,还需要调用MediaPlayer的prepare()方法去准备音频,所谓“准备”,就是让MediaPlayer真正去装载音频文件。

使用已有的MediaPlayer对象装载“下一首”歌曲的代码模板为:

try {
  mPlayer.reset();
  //装载下一首歌曲
  mPlayer.setDataSource(“/mnt/sdcard/next.mp3”);
  //准备声音
  mPlayer.prepare();
  //播放
  mPlayer.start();
} catch (IOException e) {
  e.printStackTrace();
}

除此之外,MediaPlayer还提供了一些绑定事件监听器的方法,用于监听MediaPlayer播放过程中所发生的特定事件,绑定事件监听器的方法如下:

setOnCompletionListener(MediaPlayer.OnCompletionListener   listener):为MediaPlayer的播放完成事件绑定事件监听器。

setOnErrorListener(MediaPlayer.OnErrorListener   listener):为MediaPlayer的播放错误事件绑定事件监听器。

setOnSeekCompleteListener(MediaPlayer.OnSeekCompleteListener   listener):当MediaPlayer调用prepare()方法时触发该监听器。

setOnPreparedListener(MediaPlayer.OnPreparedListener   listener):当MediaPlayer调用seek()方法时触发该监听器。