IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android Audio 焦点 -> 正文阅读

[移动开发]Android Audio 焦点

Audio焦点

1.音频焦点管理准则

  • 在播放之前调用requestAudioFocus(),并验证调用是否返回AUDIOFOCUS_REQUEST_GANTED。同时注册监听音频焦点丢失的通知
  • 在其他应用请求焦点时,应该暂停或者降低当前音源音量。
  • 在播放完毕或者停止后,应该放弃焦点。

2.音频焦点在不同Android版本上的处理方式

  • Android 2.2(API 8 )开始,app通过requestAudioFocus()和abandonAudioFocus()来管理音频焦点,并且还需要为这两个方法注册AudioManager.OnAudioFocusChangeListener接口用于回调管理音量。
  • Android 5.0(API 21)之后,app通过AudioAttributes来描述app正在播放的音频类型。如:播放语音CONTENT_TYPE_SPEECH。
  • Android 8.0(API 26)之后,使用requestAudioFocus()方法,该方法需要接收AudioFocusRequest参数,该参数包含当前stream上下文,功能等基本参数。系统使用这些信息来自动管理音频焦点的获取和丢失。

3.焦点变化回调AudioFocusChangeListener

app获取焦点之后,必须在其他app请求焦点时释放焦点。这种情况下,app会收到AudioFocusChangeListener的onAudioFocusChange()的回调,该方法在调用requestAudioFocus时指定。

onAudioFocusChange()中包含focusChange参数,表示焦点更改类型,根据更改类型做出符合情况的响应:

  • 暂时失去焦点:AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK或者AUDIOFOCUS_LOSS_TRANSIENT,如果是这两个类型,当前应用播放的声音应该降低音量或者暂停播放,在是去焦点的这段时间,当前应用应该继续监听焦点的变化,并准备重新获取焦点恢复正常播放,当抢占焦点的app放弃焦点时,当前应用会收到回调AUDIOFOCUS_GAIN。
  • 永久失去焦点:AUDIOFOCUS_LOSS,如果是这个类型,其他应用播放时,当前app应该暂停播放,因为不会收到AUDIOFOCUS_GAIN的回调。如果需要重新开始播放,则必须重新进行播放操作。

Note

  • 一个app在请求获取焦点之后,可能无法一直持有焦点到音频播放结束,因为在当前的播放过程中,其他app有可能会请求焦点,从而占有上一个app持有的焦点。这种情况下,当前的app应该暂停或者降低音量,以便用户听到新的声音播放。
  • 当音频播放完后自动遗弃焦点。
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:39:30  更:2022-11-05 00:41:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 18:44:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码