Bu kodu kullanarak bir iPhone üzerinde mevcut ses giriş cihazlarının listesini almak için denedim: hatasızkAudioSessionProperty_InputSources aslında ne işe yarar?
CFArrayRef arrayRef;
UInt32 size = sizeof(arrayRef);
OSStatus status = AudioSessionGetProperty(kAudioSessionProperty_InputSources, &size, &arrayRef);
assert(status == noErr);
NSArray *array = (__bridge NSArray *)arrayRef;
çağrı işler ve getiri, ancak sonuçlar dizisi olursa olsun, her zaman hangi donanım boş Ona bağlandım. Cep telefonları için iki adet normal kulaklık, Apple'dan bir tane ve bir tane Samsung ve iki çeşit USB mikrofon (bir iXY from Rode ve bir iM2X from Tascam) denedim, ancak dizi her zaman boş kalıyor. Peki, bu özellik tarafından hangi girdi kaynaklarının listeleneceğini merak ediyorum? Kullanılabilir mi?
Ses yollarında bir dinleyici geri çağırma kullanarak, tüm 4 aygıtın doğru şekilde algılandığını doğrulayabildim. Her bir cihazla da ses kaydı yapabildim, bu yüzden hepsi düzgün çalışıyor. IOS 6.1.3 (10B329) ile bir iPhone 4S kullanıyorum.
görünüyor. "' kAudioSessionProperty_InputSources' "sadece USB tabanlı ses girişleri içindir. Bu talihsiz bir durumdur, çünkü tüm *** ses girişlerini Core Foundation/C işlevleri (Objective-C'ye özgü olmayanlar) aracılığıyla almak için kullanılmayan bir yol yoktur. –
@MichaelDautermann Teşekkür ederim, daha üst düzey alternatiflerin daha fazla yük taşıyacağı düşünülürse, bunun talihsiz olduğunu kabul ediyorum. – Bamsworld
@MichaelDautermann ve diğerleri, kamera olmayan bağlantı kiti giriş cihazlarını almak için hangi Objective-C alternatiflerinin var olduğunu söyleyebilir misiniz? Bu soruya cevaben Shawn Hershey'in bahsettiği şey mi? –