所需功能:
这就像iPhone本机手机应用程序。当蓝牙/耳机连接到iPhone时,扬声器按钮(通常只有扬声器/电话切换)将显示所有可用的音频输出设备。默认使用蓝牙。用户可以选择其他设备播放声音。
问题:
如何检测连接到iPhone的所有可用音频设备?
如何更新路线并将音频输出设定为所选设备?
请注意,使用AudioSessionGetProperty和AudioSessionSetProperty的现有解决方案可能并不理想,因为iOS7不推荐使用这两种方法。
答案 0 :(得分:1)
因为没有回应。我开始基于Jawbone的AudioSessionManager编写自己的库。
关于这两个问题
我仍然无法找到获得可用输出的方法。但是AVAudioSession确实支持来自iOS7的属性availableInputs。
AVAudioSession有一个routeChange通知。你可以捕捉不同的路线变化原因并妥善处理。
[[NSNotificationCenter defaultCenter] addObserver:self 选择:@选择(currentRouteChanged :) name:AVAudioSessionRouteChangeNotification object:nil];
完整的实现在我的github repo中。欢迎提供反馈。