这些天在项目上遇到了些困难:在播放语音的时候遇到了第三方音频播放器的干扰。
倒腾了两天,终于解决了,这里mark一下。
在Android系统中,如果想自己的音频播放不被第三方干扰,例如有时出现音乐和你的语音一起播放,或者是一声音大,一声音小。
这时候必须先获取音频的焦点(除了一些耍流氓的),然后才去播放你的语音,而且在播放结束后必须释放焦点。
1.请求音频焦点
public void requestAudioFocus() {
if (!mIsGetAudioFocus) {
int result = mAudioManager.requestAudioFocus(afChangeListener,
AudioManager.STREAM_MUSIC, // Use the music stream.
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
mIsGetAudioFocus = true;
} else {
Log.e(TAG, "AudioManager request Audio Focus result = " + result);
}
}
Log.v(TAG, "requestAudioFocus mAu