2013-12-15 20 views
4

的iPhone 5有3個麥克風,根據其產品介紹:iPhone 5有3個麥克風。我可以改變我錄製的哪一個?

iPhone 5 presentation

通過iFixit的和其他人的網站看後,我現在知道底部麥克風和我已經確定在一後面,就在相機旁邊。

應該有另一個在前面,在頂部,但我看不到它,所以我認爲它是在聽筒/接收器開口後面。 (這是正確的嗎?)

我想記錄從兩個不同的麥克風,而iPhone 5躺在它的背面。 (所以後置麥克風是不可能的)。

我的問題:

有一些方法可以讓我從兩個話筒在同一時間記錄,並分別(即立體聲,像一些的Windows Phone 8個的Lumia手機讓你做)?如果不是,是否有我可以用來在麥克風之間切換的方法,例如,首先從iPhone底部的記錄開始,然後執行一些代碼切換到頂部的記錄?

您的提示將不勝感激。

回答

1
// set up the audio session 
NSError *error = nil; 

AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:&error]; 
[audioSession setActive:YES error:&error]; 

if (error != nil) { NSLog(error); } 


// all available inputs 
NSArray* inputs = [audioSession availableInputs]; 

// Locate the port corresponding to the built-in microphone 
for (AVAudioSessionPortDescription* port in inputs) 
{ 
    if ([port.portType isEqualToString:AVAudioSessionPortBuiltInMic]) 
    { 
     [self setBuiltInMicPort:port]; 
     break; 
    } 
} 

// list all microphones 
for (AVAudioSessionDataSourceDescription *micType in [audioSession inputDataSources]) { 
    NSLog(@"%@ -- %@ -- %@ -- %@", micType.dataSourceID, micType.dataSourceName, micType.location, micType.orientation); 

    if ([micType.orientation isEqualToString:@"Front"]) // or @"Back" or @"Bottom" 
    { 
     [micType setPreferredPolarPattern:AVAudioSessionPolarPatternOmnidirectional error:&error]; // optional 
     [self.builtInMicPort setPreferredDataSource:micType error:&error]; 
    } 
} 

這是如何在iPhone中選擇不同的內置麥克風的基本示例。請記住,麥克風的數量不同:iPhone 5和更高版本有三個麥克風,而前一代只有兩個麥克風(沒有後置麥克風)。

欲瞭解更多信息,請閱讀Apples Technical Q&A

0

我剛剛證實,使用前置攝像頭時,Skype會切換到頂級麥克風。現在我只需要確認我可以通過從前置攝像頭開始視頻捕捉然後再次停止,從而在頂部和底部麥克風之間快速切換。

+0

它可能與你正在玩的相機有關。 – Joride

相關問題