Android(安卓)获取音频焦点工具类
public class AudioFocusChangeUtil {
private static AudioFocusChangeUtil instance;
private AudioManager audioManager;
public static AudioFocusChangeUtil getInstance(){
if (instance == null){
instance = new AudioFocusChangeUtil();
}
return instance;
}
private AudioFocusChangeUtil(){
audioManager = (AudioManager) CustomApplication.getInstance().getSystemService(AUDIO_SERVICE);
}
public boolean requestFocus() {
// Request audio focus for playback
int result = audioManager.requestAudioFocus(afChangeListener,
// Use the music stream.
AudioManager.STREAM_MUSIC,
// Request permanent focus.
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
return result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED;
}
public boolean abandonAudioFocus() {
int result = audioManager.abandonAudioFocus(afChangeListener);
return result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED;
}
private AudioManager.OnAudioFocusChangeListener afChangeListener = new AudioManager.OnAudioFocusChangeListener() {
public void onAudioFocusChange(int focusChange) {
if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT) {
// Pause playback
} else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
// Resume playback
} else if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
// mAm.unregisterMediaButtonEventReceiver(RemoteControlReceiver);
audioManager.abandonAudioFocus(afChangeListener);
// Stop playback
}
}
};
}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer