智能手机音频系统(二 耳机和蓝牙耳机)
2008-07-14 21:26
465 查看
手机要求支持耳机和蓝牙耳机, 并且能够主动和被动的实现其探测切换。在探测到耳机和蓝牙耳机
的连接后, 我们可以通过amixer命令来设置codec的路由, 从而控制系统声音。
耳机: 耳机的连接可以通过GPIO上报到内核。由内核体现在/dev/headset(需要自己写驱动实现)。应用 级通过读取此设备,来主动获取耳机的插入状态。同时也可以通过监控IO口来获取耳机的插入
状态。
蓝牙耳机: 蓝牙耳机则要比耳机复杂。由于蓝牙不只是作为耳机设备而存在的。因而,我们并不能
想获取耳机状态那样去获取蓝牙耳机的俩接状体。好在LINUX下的BLUEZ为我们提供了方便。
在蓝牙后台启动后, 我们可以注册其声音的DBUS服务。然后通过监控,其链接的connected和
remove信号来获取当前的蓝牙耳机状态。
在手机系统中还有下面的情况需要特别处理:
设备的优先级:
1】同时连接有耳机和蓝牙耳机。大多要求优先蓝牙耳机,当蓝牙耳机断开后,就用耳机, 然后再试本机。也有的情况要求耳机和蓝牙耳机同时可以实现音频控制。
2】有些情况要求优先外设发音, 如播放MP3等。有些情况则要求外设和本机同时发音,如来电铃声。
3】处理好同系统的情景模式的关系。如振动、静音状态。
一般情况下,这些都是在AP上层直接切断源头,不需要后台服务的专门处理。
的连接后, 我们可以通过amixer命令来设置codec的路由, 从而控制系统声音。
耳机: 耳机的连接可以通过GPIO上报到内核。由内核体现在/dev/headset(需要自己写驱动实现)。应用 级通过读取此设备,来主动获取耳机的插入状态。同时也可以通过监控IO口来获取耳机的插入
状态。
蓝牙耳机: 蓝牙耳机则要比耳机复杂。由于蓝牙不只是作为耳机设备而存在的。因而,我们并不能
想获取耳机状态那样去获取蓝牙耳机的俩接状体。好在LINUX下的BLUEZ为我们提供了方便。
在蓝牙后台启动后, 我们可以注册其声音的DBUS服务。然后通过监控,其链接的connected和
remove信号来获取当前的蓝牙耳机状态。
在手机系统中还有下面的情况需要特别处理:
设备的优先级:
1】同时连接有耳机和蓝牙耳机。大多要求优先蓝牙耳机,当蓝牙耳机断开后,就用耳机, 然后再试本机。也有的情况要求耳机和蓝牙耳机同时可以实现音频控制。
2】有些情况要求优先外设发音, 如播放MP3等。有些情况则要求外设和本机同时发音,如来电铃声。
3】处理好同系统的情景模式的关系。如振动、静音状态。
一般情况下,这些都是在AP上层直接切断源头,不需要后台服务的专门处理。
相关文章推荐
- 智能手机音频系统概述
- 智能手机音频系统(一codec)
- 智能手机扬声器、听筒及耳机阻抗及音频效果比较
- 基于蓝牙技术的校园导览(智能手机)系统
- 智能手机音频系统概述
- 智能手机音频系统
- 智能手机音频系统概述
- 智能手机音频系统概述
- 智能手机音频系统(四 媒体播放客户端)
- 通话中RX和TX-智能手机音频系统概述
- 智能手机音频系统(三 媒体播放后台)
- 智能手机音频系统概述
- 智能手机音频系统概述
- 智能手机音频系统概述
- 录制音频和在手机系统中获取音频
- 在智能手机上跟踪ADS-B系统的飞机航线信息
- Android智能手机中各种音频场景下的audio data path
- 嵌入式linux开发板使用pulseaudio连接蓝牙耳机播放音频文件
- 使用HI3518E实现智能社区的可视楼宇门禁系统(手机远程呼叫)
- 图:智能手机Android系统的评委专用的比赛打分客户端,开发进行中...