c)调用MediaPlayer的
start(),stop(),pause()方法控制播放即可 6)播放来自网络的音频文件
a)根据网络上的音频文件所在的位置创建Uri对象。
Uri uri =
Uri.parse(\);
b)创建MediaPlayer对象,调用setDataSource(Context,Uri);
c)调用MediaPlayer对象的prepare()方法 d)调用MediaPlayer的
start(),stop(),pause()方法控制播放即可 7)如播放下一首歌曲的代码: mPlayer.reset();//空闲状态
mPlay-er.setDataSource(\
6
mPlayer.prepare(); mPlayer.start();
8)MediaPlayer还提供了事件监听器的方法 setOnCompletionListener():播放完成事件绑定事件监听器
setOnErrorListener():播放错误事件绑定事件监听器
setOnPreparedListener():调用prepare()方法时触发该监听器
setOnSeekCompleteListener():调用seek()方法时触发该监听器
9)Mediaplayer除了调用prepare()方法准备声音之外, 还可以调用
prepareAsync()来准备声音,他们的区别在于:
7
prepareAsync()是异步的,它不会阻塞当前的UI线程。
10)MediaPlayer的状态图
reset():清空MediaPlayer中的数据 setDataSource():设置音频数据 prepare():准备装载音频数据
prepareAsync():准备装载音频数据(异步)
seekTo():重新定位到音频数据的什么位置,单位毫秒
seekTo()是定位方法,可以让播放器从指定的位置开始播放,需要注意的是该方法是个异步方法,也就是说该方法返回时并不意味着定位完成,尤其是播放的网络文件,真正定位完成时会触发
OnSeekComplete.onSeekComplete(),如果需要是可以调用
8
setOnSeekCompleteListen-er(OnSeekCompleteListener)设置监听器来处理的。 start(): pause(): stop():
release():释放MediaPlayer资源
11)其他的方法
setLooping(true):是否重复播放 setAudioStreamType() 设置使用的音频流
9
A(播放音乐的界面)—>B
onPause()—>onCreate,onStart/onResume —>onStop
10