今天修改MP3中的一个小问题:在来短信的时候自动暂停音乐播放,当短信音播放完毕以后,或手动查看通知导致短信音结束后,音乐自动播放。
查看android自带的播放器源码后发现使用的是OnAudioFocusChangeListener这个监听器来监听声音焦点的改变的。附上代码:
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
public void play() {
mAudioManager.requestAudioFocus(mAudioFocusListener, AudioManager.STREAM_MUSIC,
AudioManager.AUDIOFOCUS_GAIN);
......
}
在此几行代码中,拿到AudioManager的实例,然后调 用requestAudioFocus方法,第一个参数为监听声音焦点改变的监听器,后两个不太明白,第二个好像是主要的监听音频类型,
这里设置为音乐。
然后在service的onDestory方法中调用mAudioManager.abandonAudioFocus(mAudioFocusListener);貌似是注销监听器的意思。
private OnAudioFocusChangeListener mAudioFocusListener = new OnAudioFocusChangeListener() {
public void onAudioFocusChange(int focusChange) {
mMediaplayerHandler.obtainMessage(FOCUSCHANGE, focusChange, 0).sendToTarget();
}
};
这个监听器就很好理解了就不多说了。
分享到:
相关推荐
AudioManager的setmode使用及其详解,一个项目的开发经验。
AudioManager中文翻译 让你不必再看烦恼的代码!
Android中使用AudioManager实现按键录音并保存以及点击播放功能示例代码 Android中使用AudioManager实现按键录音并保存以及点击播放功能示例代码 Android中使用AudioManager实现按键录音并保存以及点击播放功能示例...
背景音乐播放技术, 通过使用 MediaPlayer,AudioManager 需要用到的dl.mid 文件放在assets, 读者需将其复制到 /sdcard/ 目录下 详情请参见 http://blog.csdn.net/aduovip/article/details/9026567
AudioManager设置声音模式和调整声音大小的方法。 如何获取声音管理器: AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); 里面主要的方法: A、设置声音模式 //声音模式 ...
在Android手机中,我们同样可以通过Android的SDK提供的声音管理接口来管理手机声音模式以及调整声音大小,这就是Android中AudioManager的使用。 AudioManager 类位于 android.Media 包中,该类提供访问控制音量和...
audioManager.assat for Unity3d Develpment
在Android源码的基础上分析 音频文件的的扫描,系统铃声的管理以及情景模式的切换
Unity-AudioManager 一种在 Unity 中播放和管理多种不同声音的简单、通用的方法。 只需一行代码即可播放“Resources”文件夹中的...对于大多数声音,您只需要播放它们并忘记它,因此,为此,请使用 AudioManager 的 P
最近在做iOS中的蓝牙语音识别功能,所以封装了这一个类来做麦克风的权限管理和语音通道的切换。主要还是为了优化代码。
通过这个程序可以控制系统全局音量,非常好用的。
unity3d声音管理插件AudioManager
AudioManager.cs
主要介绍了Android使用AudioManager修改系统音量的方法,结合实例形式分析了AudioManager调节音量的常用方法及相关使用技巧,需要的朋友可以参考下
1.1 知识解析 1.2 功能演示 1.3 实战操作 1.4 职业素质
Unity实现切换音频和音效的时候淡入淡出,
AudioManager.js 一个简单的库,供那些想暂时使用Web Audio API的人使用如何使用[removed] = function() { var manager = new AudioManager({ // 設定オプション... }); manager.init();};或者[removed] = function...
Android程序设计
该资源为Unity音效编辑器的创建,可以直接将音效名字地址写进txt文本中,通过名字读取播放