Я наконец нашел правильный ответ.
AVAudioSession
следует использовать для сбора и записи, что очень важно.
А потом setCategory
вот так:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:&error];
Установить предпочитаемое значение:
[[AVAudioSession sharedInstance] setPreferredInput:_bluetoothPort error:nil];
Когда вы получили текущий ввод, как это:
inputs = (
"< AVAudioSessionPortDescription: 0x28185bf00, type = MicrophoneBuiltIn; name = iPhone \U9ea6\U514b\U98ce; UID = Built-In Microphone; selectedDataSource = \U524d >"
);
outputs = (
"< AVAudioSessionPortDescription: 0x28185bfb0, type = BluetoothA2DPOutput; name = h.ear (MDR-EX750BT); UID = 04:5D:4B:4A:4F:31-tacl; selectedDataSource = (null) >"
)>.
Это работает! Но я до сих пор не понимаю, почему ввод Apple показывает, что предпочтительными являются «iPhone MicrophoneBuiltIn», а «наушники Bluetooth» работают. Это ошибка?