我们的iOS应用程序存在问题。 我们的主要功能之一是播放音频,部分功能是,我们会自动在我们的应用程序中检查耳机是否已连接到iPhone设备(可以是蓝牙,常规耳机)
当前,所有蓝牙设备都存在音频质量非常低的问题。 我们注意到,对于每个蓝牙设备,音频回放都是通过HFP协议传输的。
我们为AVAudioSession实例尝试了各种配置,以下同时适用于Air-pods和常规Bluetooth设备的配置
AVAudioSession *sessionInstance = [AVAudioSession sharedInstance];
NSError* theError = nil;
BOOL result = YES;
result = [sessionInstance setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionAllowBluetoothA2DP | AVAudioSessionCategoryOptionAllowBluetooth error:&theError];
if (!result)
{
NSLog(@"setCategory failed");
}
result = [sessionInstance overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:&theError];
if (!result)
{
NSLog(@"overrideOutputAudioPort failed");
}
result = [sessionInstance setActive:YES error:&theError];
if (!result)
{
NSLog(@"setActive failed");
}
尽管有常规蓝牙设备和Air-pods的音频,但是蓝牙设备中的音频质量(在Air-pods中是好的)确实很差。
我们尝试将类别从播放和录制更改为仅播放,但如果将其更改为播放,则所有蓝牙设备将不再自动在out应用程序中识别(因为完全没有音频)
希望在这个问题上有想法,谢谢大家