Ich sehe die Frage bereits hier gefragt:AVAudioRecorder/AVAudioSession mit Apple Airpods
AirPods not working as an input source for Voice Recorder App
Ich habe mit diesem Thread eincheckten, aber keine Antwort.
Aber weiß jemand, ob/warum AVAudioRecorder die AirPods möglicherweise nicht als Eingabegerät für die Aufnahme von Audio in einer App verwenden kann? Ich habe Audio-Aufnahme funktioniert durch die eingebauten Mikrofone sowie mit anderen BT-Geräten (Beats, billige BT-Lautsprecher-Sache, etc.) aber bei der Arbeit mit den AirPods kann ich das Audio nicht erfassen.
Zusätzlich, wenn ich aufzeichnen möchte, durchlaufe ich die verfügbaren Eingänge und zwinge den Eingang zum BT-Gerät (siehe Code unten) in diesem Fall die AirPods. Auch hier funktioniert es für alle anderen BT-Geräte außer den AirPods.
Gedanken? Jede Anleitung, was wir hier falsch machen, wäre großartig. Das war ärgerlich.
NSError *error;
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryRecord withOptions:audioSession.categoryOptions|AVAudioSessionCategoryOptionAllowBluetooth
error:&error];
[audioSession setActive:YES error:nil];
NSLog(@"Data sources: %@", [audioSession availableInputs]);
// Data sources: ("<AVAudioSessionPortDescription: 0x1706071b0, type = MicrophoneBuiltIn; name = iPhone Microphone; UID = Built-In Microphone; selectedDataSource = Bottom>",
"<AVAudioSessionPortDescription: 0x170611bd0, type = BluetoothHFP; name = Dan\U2019s AirPods; UID = 50:32:37:E0:90:37-tsco; selectedDataSource = (null)>"
for (AVAudioSessionPortDescription *desc in [audioSession availableInputs]){
NSLog(@"Port desc: %@", desc.portType);
// Loop: 1) Port desc: MicrophoneBuiltIn
// 2) Port desc: BluetoothHFP
if (desc.portType == AVAudioSessionPortBluetoothHFP) {
NSLog(@"Trying to change preferred input");
NSError *error;
BOOL didSet = [audioSession setPreferredInput:desc error:&error];
NSString *didSetString = didSet ? @"True" : @"False";
NSLog(@"Post change preferred input: %@, error: %@", didSetString, error);
// Post change preferred input: True, error: (null)
}
}
Danke. Ich werde das durchsehen und sehen, ob es hilft. – djneely