gpt4 book ai didi

iOS 7 蓝牙输出不适用于 AVAudioSessionCategoryPlayAndRecord

转载 作者:可可西里 更新时间:2023-11-01 03:33:48 29 4
gpt4 key购买 nike

在我的应用程序中,如果 iPhone 连接到蓝牙耳机,则使用蓝牙播放声音。否则使用默认扬声器。

这是我的代码

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil];
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeVoiceChat error:nil];
[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];

但是,当我尝试使用类别 setCategory:AVAudioSessionCategoryPlayAndRecord 时。蓝牙设备的路由停止工作。我不知道为什么。因为根据权利,蓝牙选项应该只适用于 Record 或 PlayAndRecord 类别...

/* only valid with AVAudioSessionCategoryRecord and AVAudioSessionCategoryPlayAndRecord */

补充:我可以只使用蓝牙输出吗(输入仍然使用手机的默认麦克风)?

更新

我更改了顺序,首先调用 setMode,然后调用 setCategory。它第一次运行应用程序(调用)。当我尝试再次执行相同的操作时,currentRoute 仍然给我 output = Bluetooth 但实际输出返回到默认手机前置扬声器。

最佳答案

自从我发布这个问题以来已经有一段时间了,我有点忘了问题到底是什么......如果我没记错的话,那是由于另一个库不断重写输出路径。我以某种方式修复了它并使其按照我想要的方式工作。

我将代码贡献给了 Jawbone 的 AudioSessionManager库。希望对您有所帮助。

关于iOS 7 蓝牙输出不适用于 AVAudioSessionCategoryPlayAndRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20596756/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com