Android 音频、视频与相机使用全解析
1. 媒体浏览器服务的生命周期
当媒体浏览器连接到媒体浏览器服务时,它会绑定到该服务,如果需要还会创建它。这样可以进行媒体播放准备,减少用户选择媒体播放到听到音频之间的延迟。不过,绑定的服务在启动之前不会开始运行。
由于将活动中的播放控制与处理媒体播放的服务解耦,服务会根据从媒体会话接收到的回调来处理自身的启动和停止,这些回调是在活动 UI 通过媒体控制器发送播放命令时触发的。
以下是媒体浏览器服务在收到播放命令、成功获得音频焦点并开始媒体播放后启动自身的代码示例:
mMediaSession.setCallback(new MediaSessionCompat.Callback() {
@Override
public void onPlay() {
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
// 请求音频焦点以进行播放
int result = am.requestAudioFocus(focusChangeListener,
AudioManager.STREAM_MUSIC,
AudioManager.AUDIOFOCUS_GAIN);
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
超级会员免费看
订阅专栏 解锁全文
1431

被折叠的 条评论
为什么被折叠?



