您的位置:首页 > 其它

智能手机音频系统(二 耳机和蓝牙耳机)

2008-07-14 21:26 465 查看
手机要求支持耳机和蓝牙耳机, 并且能够主动和被动的实现其探测切换。在探测到耳机和蓝牙耳机

的连接后, 我们可以通过amixer命令来设置codec的路由, 从而控制系统声音。

耳机: 耳机的连接可以通过GPIO上报到内核。由内核体现在/dev/headset(需要自己写驱动实现)。应用 级通过读取此设备,来主动获取耳机的插入状态。同时也可以通过监控IO口来获取耳机的插入

状态。

蓝牙耳机: 蓝牙耳机则要比耳机复杂。由于蓝牙不只是作为耳机设备而存在的。因而,我们并不能

想获取耳机状态那样去获取蓝牙耳机的俩接状体。好在LINUX下的BLUEZ为我们提供了方便。

在蓝牙后台启动后, 我们可以注册其声音的DBUS服务。然后通过监控,其链接的connected和

remove信号来获取当前的蓝牙耳机状态。

在手机系统中还有下面的情况需要特别处理:

设备的优先级:

1】同时连接有耳机和蓝牙耳机。大多要求优先蓝牙耳机,当蓝牙耳机断开后,就用耳机, 然后再试本机。也有的情况要求耳机和蓝牙耳机同时可以实现音频控制。

2】有些情况要求优先外设发音, 如播放MP3等。有些情况则要求外设和本机同时发音,如来电铃声。

3】处理好同系统的情景模式的关系。如振动、静音状态。

一般情况下,这些都是在AP上层直接切断源头,不需要后台服务的专门处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: