59、Android 音频、视频与相机使用全解析

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) {
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值