Das iPhone 5 hat drei Mikrofone - oben vorne, oben hinten und unten. Ich möchte alle gleichzeitig aufzeichnen, um eine Signalverarbeitung durchzuführen. Ich habe mehrere Tage erfolglos versucht.Stereo Aufnahme auf dem iPhone
Mit AVAudioSession, kann ich die Mikrofone sehen:
NSLog(@"%@", [AVAudioSession sharedInstance].availableInputs);
"<AVAudioSessionPortDescription: 0x14554400, type = MicrophoneBuiltIn; name = iPhone Microphone; UID = Built-In Microphone; selectedDataSource = Back>"
NSLog(@"%@", [AVAudioSession sharedInstance].availableInputs[0].inputDataSources);
"<AVAudioSessionDataSourceDescription: 0x145afb00, ID = 1835216945; name = Bottom>",
"<AVAudioSessionDataSourceDescription: 0x145b1870, ID = 1835216946; name = Front>",
"<AVAudioSessionDataSourceDescription: 0x145b3650, ID = 1835216947; name = Back>"
I AVAudioSessionPortDescription -setPreferredDataSource:error:
von einem der drei aufnehmen können. Aber ich kann nicht mehr als eins gleichzeitig aufnehmen. Wenn ich die Anzahl der Eingangskanäle auf 2 festlege, erhalte ich zwei identische Spuren vom selben Mikrofon.
AVAudioRecorder hat eine Eigenschaft channelAssignments
, die wie es scheint, sollte zu funktionieren, aber AVAudioSession inputNumberOfChannels
und maximumInputNumberOfChannels
sind beide 1. Die Eigenschaft channelAssignments
für Zusatzmikrofone ausgebildet ist, die mehrere Kanäle haben.
Ich habe versucht, die Low-Level-AudioUnit, aber ich bekomme das gleiche Ergebnis. Ich konnte auf AudioUnit keine Eigenschaften finden, um die Eingangsquelle zu ändern.
Jede Hilfe wäre willkommen.
Ich denke, Sie benötigen ≥ iOS 7.0 (siehe https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioSession_ClassReference/Reference/Reference.html#//apple_ref/doc/uid/TP40008240 -CH1-SW112). –
All meine Erfahrung bezieht sich auf die Verwendung des iOS 7 SDK, so dass allein das nicht ausreicht, um meine Frage zu beantworten, aber vielleicht fehlt mir etwas Spezifischeres. –
Haben Sie in iOS8 oder sogar in iOS9 Betas versucht? Ich bin daran interessiert, zwei Quellen gleichzeitig aufzunehmen. – nacho4d