android+音乐暂停广播,如何在Android中录制音频时暂停背景音乐

你可以阻止其他应用程序播放音乐,请求AudioFocus。当您被授予AudioFocus时,其他应用程序会停止播放音乐,然后您可以根据需要播放/录制。

AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

// Request audio focus for playback

int result = am.requestAudioFocus(focusChangeListener,

// Use the music stream.

AudioManager.STREAM_MUSIC,

// Request permanent focus.

AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);

if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {

// other app had stopped playing song now , so you can start recording.

}

但是,只有一个AudioManager。所以,音频焦点被分配给每个请求它的应用程序一个接一个。这意味着如果另一个应用程序请求音频焦点,您的应用程序将失去它。通过您请求音频焦点时注册的Audio Focus Change Listener(afChangeListener)的onAudioFocusChange处理程序将通知您音频焦点丢失。

private OnAudioFocusChangeListener focusChangeListener =

new OnAudioFocusChangeListener() {

public void onAudioFocusChange(int focusChange) {

AudioManager am =(AudioManager)getSystemService(Context.AUDIO_SERVICE);

switch (focusChange) {

case (AudioManager.AUDIOFOCUS_LOSS) :

//Lost focus. Stop recording

break;

case (AudioManager.AUDIOFOCUS_GAIN) :

//Gained AudioFocus. Start recording tasks

break;

default: break;

}

}

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值