iOS 7获取所有可用的音频设备(蓝牙,耳机,扬声器,手机)

时间:2013-12-16 15:08:36

标签: ios objective-c ios7 bluetooth

所需功能:

这就像iPhone本机手机应用程序。当蓝牙/耳机连接到iPhone时,扬声器按钮(通常只有扬声器/电话切换)将显示所有可用的音频输出设备。默认使用蓝牙。用户可以选择其他设备播放声音。

问题:

  1. 如何检测连接到iPhone的所有可用音频设备?

  2. 如何更新路线并将音频输出设定为所选设备?

  3. 请注意,使用AudioSessionGetProperty和AudioSessionSetProperty的现有解决方案可能并不理想,因为iOS7不推荐使用这两种方法。

1 个答案:

答案 0 :(得分:1)

因为没有回应。我开始基于Jawbone的AudioSessionManager编写自己的库。

关于这两个问题

  1. 我仍然无法找到获得可用输出的方法。但是AVAudioSession确实支持来自iOS7的属性availableInputs。

  2. AVAudioSession有一个routeChange通知。你可以捕捉不同的路线变化原因并妥善处理。

    [[NSNotificationCenter defaultCenter] addObserver:self                                          选择:@选择(currentRouteChanged :)                                              name:AVAudioSessionRouteChangeNotification object:nil];

  3. 完整的实现在我的github repo中。欢迎提供反馈。