对于 Audio 的设备管理,主要是扬声器、耳机以及蓝牙设备。这部分主要是针对手机来说,对于车机开发应用不是特别多。在《Android Audio开发——系统服务(二)》中提到过 AudioService 的主要功能,除了调节音量,还有就是音频设备管理。这里也简单介绍一下。

一、耳机介绍

通常带线耳机分类,模拟耳机和数字耳机。

模拟耳机

平时常用的 3.5mm 或 6.3mm 接口耳机,接收模拟信号(音频数据需要先处理,转码成pcm格式),Android 中模拟耳机由 WiredAccessoryManager 获取上报的事件,调用

AudioService.setWiredDeviceConnectionState 传递信息给 AudioService,更新设备信息。

数字耳机

例如 USB Type-c 耳机,接收数字信号(音频数据不需要解码成pcm,由耳机进行转换),Android 中由 UsbAlsaManager 负责 usb 音频设备连接断开事件,调用  AudioService.setWiredDeviceConnectionState 传递信息给 AudioService。

使用扬声器播放音乐,此时插入耳机,则音乐切换从耳机播放出。这里以插入数字耳机为例分析下音频

Android Audio开发——音频设备管理(十四)相关推荐

  1. Android App开发学习第十四天:RecyclerView的简单使用

    简介 RecyclerView 可以用来替代ListView和GridView 应用流程 1.导入相关依赖 进入project structure 添加依赖 2.设计UI界面和item样式 activ ...

  2. Android Audio开发——音频管理器(三)

    AudioManager,音频管理类.它主要提供了丰富的 API 让开发者对应用的音量和铃声模式进行控制以及访问.主要内容涉及到音频流.声音.蓝牙.扩音器.耳机等等. 一.API接口 1.接口列表 接 ...

  3. Xamarin.Android开发实践(十四)

    原文:Xamarin.Android开发实践(十四) Xamarin.Android之ListView和Adapter 一.前言 如今不管任何应用都能够看到列表的存在,而本章我们将学习如何使用Xama ...

  4. Android开发问题集锦十四--绚丽的烟花

    Android开发问题集锦十四--绚丽的烟花 程序之美 前言 源码下载 程序之美 前言 随着一声突如其来的响声,打破了久违的不能喘息般的的寂静.一团彩色的光芒快速上升着,留下一线灰色的烟雾.啪!一朵& ...

  5. SAP UI5 应用开发教程之六十四 - 基于 OData V4 的 SAP UI5 表格控件如何实现 filter(过滤) 和 sort(排序)功能试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  6. SAP UI5 应用开发教程之五十四 - 如何将本地 SAP UI5 应用配置到本地 Fiori Launchpad 中的试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  7. iOS 11开发教程(十四)iOS11应用代码添加视图

    iOS 11开发教程(十四)iOS11应用代码添加视图 如果开发者想要使用代码为主视图添加视图,该怎么办呢.以下将为开发者解决这一问题.要使用代码为主视图添加视图需要实现3个步骤. (1)实例化视图对 ...

  8. QT开发(六十四)——QT样式表(二)

    QT开发(六十四)--QT样式表 本文主要翻译自QT官方文档Qt Style Sheets . 五.QT样式表参考 QT样式表支持多种的属性.状态和子控件,使得定制组件的外观成为可能. 1.组件 以下 ...

  9. SAP UI5 应用开发教程之三十四 - SAP UI5 应用基于设备类型的页面适配功能(Device Adaptation)试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

最新文章

  1. 超图iserver登录密码忘记,重置密码
  2. jQuery慢慢啃之事件对象(十一)
  3. 超级全面的权限系统设计方案
  4. node.js express 启用 https
  5. Idea 同一工程根据不同配置文件启动、idea 同一工程多实例同时运行
  6. Android中一个有趣的crash的日志分析
  7. 生活之美--需要设计
  8. ubuntu linux mac地址,告诉你Ubuntu更改mac地址的方法及命令
  9. Sportisimo EDI项目需求及包装标准
  10. SEO网站关键词挖掘策略
  11. scrapy入门小案例--爬取电影天堂最新电影下载地址
  12. 初中计算机教师个人总结报告,初中计算机教师度工作总结工作总结
  13. Golang如何正确的停止Ticker
  14. inner join 和 outer join 的区别
  15. 人民网_领导留言板data2021年-2022年
  16. 白话解读“中台”技术
  17. Easy-Es核心功能深度介绍
  18. 开源软件和开源社区的反思
  19. 神舟八号利用计算机进行飞行状态调整属于,“神舟八号”飞船利用计算机进行飞行状态调整属于____。...
  20. VUE使用video-player在线播放视频

热门文章

  1. 【STM32】详解PWM的概念和原理
  2. Teamcenter Dataset
  3. #2摄影测量学—基础概念和透视变换
  4. 如何配置XenDesktop使用Mirror数据库
  5. iptables 一键设置/清除脚本
  6. python 声音合成_Python 音频生成器的实现示例
  7. 英伟达FXAA抗锯齿性能实测、画质对比
  8. 2020年中科院软件所夏令营经历
  9. ROS笔记(33) 关节空间规划
  10. 天文方位角与大地方位角的区别