android 播放声音 停止其他,Android AudioManager处理两个播放器同时有声音,停止其中一个播放的问题,暂停其他的播放...

在Android 2.2及以上版本,通过AudioManager的音频焦点管理可以解决多个应用同时播放音频的问题。应用在播放音频时应请求音频焦点,失去焦点时则停止或降低音量。通过注册OnAudioFocusChangeListener监听焦点变化,根据焦点状态控制播放行为。当获得焦点时正常播放,失去焦点时暂停或静音,并在焦点恢复时恢复播放。
摘要由CSDN通过智能技术生成

尽管某个时刻只有一个

activity

可以运行,

Android

却是一个多任务环境.这对使用音频的应用带来了特殊的挑战,因为只有一个音频输出而可能多个媒体都想用它.在

Android2.2

之前,没有内建的机制来处理这个问题,所以可能在某些情况下导致坏的用户体验.例如,当一个用户正在听音乐而另一个应用需要通知用户一些重要的事情时,用户可能由于音乐声音大而不能听的通知.从

Android2.2

开始,平台为应用提供了一个协商它们如何使用设备音频输出的途径,这个机制叫做音频焦点,AudioManager。

当你的应用需要输出像乐音和通知之类的音频时,你应该总是请求音频焦点.一旦应用具有了焦点,它就可以自由的使用音频输出.但它总是应该监听焦点的变化.如果被通知丢失焦点,它应该立即杀死声音或降低到静音水平(有一个标志表明应选择哪一个)并且仅当重新获得焦点后才恢复大声播放。

首先,注册一个焦点监听器OnAudioFocusChangeListener 。

privateAudioManager.OnAudioFocusChangeListener mAudioFocusChangeListener =null;

//Build.VERSION.SDK_INT表示当前SDK的版本,Build.VERSION_CODES.ECLAIR_MR1为SDK 7版本 ,

//因为AudioManager.OnAudioFocusChangeListener在SDK8版本开始才有。

if(Build.VERSION.SDK_INT > Build.VER

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值