Android音频管理

第一步

创建 MediaPlayer 对象 mMediaPlayer
AudioManager 对象 audioManager

第二步:

创建 OnAudioFocusChangeListener 对象 onAudioFocusChangeListener
重写 onAudioFocusChange 方法
第三步:
获取系统音频焦点:

1
audioManager=(AudioManager)getActivity().getSystemService(Context.AUDIO_SERVICE);

第四步:

编写释放声音资源子程序:

1
2
3
4
5
6
7
Private void releaseMediaPlayer(){
if(mMediaPlayer!=null){
mMediaPlayer.release();
mMediaPlayer=null;
audioManager.abandonAudioFocus(onAudioFocusChangeListener);
}
}

第五步:

设置按钮点击,播放音乐:

1
2
mMediaPlayer=MediaPlayer.create(getActivity(),words.get(i).getmVoice());
mMediaPlayer.start();

并且设置播放完成事件:

1
2
3
4
5
6
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){
@Override
Public void onCompletion(MediaPlayermediaPlayer){
releaseMediaPlayer();
}
});

参考代码如下:
https://github.com/udacity/ud839_Miwok/tree/2b548eae0e57d7ad0cbb9c77656fd24215ec6cb4