IPhone 5 имеет 3 микрофона. Могу ли я изменить, с какого я записываю?
IPhone 5 имеет 3 микрофона, согласно презентации продукта:
Просматривая веб-сайт iFixit и других, я теперь знаю, где находится нижний микрофон, и я определил тот, что сзади, прямо рядом с камерой.
Наверху должен быть еще один, но я не вижу его, поэтому я предполагаю, что он находится за отверстием наушника / ресивера. (Это правильно?)
Я хотел бы записывать с двух разных микрофонов, пока iPhone 5 лежит на спине. (Таким образом, задний микрофон не может быть и речи).
Мой вопрос:
Есть ли какой-нибудь способ, которым я могу записывать с обоих микрофонов одновременно и по отдельности (то есть в стерео, как это делают некоторые телефоны с Windows Phone 8 Lumia)? Если нет, есть ли способ, который я могу использовать для переключения между микрофонами, например, сначала записать запись с нижней части iPhone, а затем выполнить какой-нибудь код для переключения на верхнюю?
Ваши советы будут высоко оценены.
2 ответа
// 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 и более поздние имеют три микрофона, в то время как в предыдущих поколениях было только два микрофона (без заднего микрофона).
Для получения дополнительной информации прочитайте Технический вопрос и ответ Apple.
Я только что проверил, что Skype использует верхний микрофон при использовании фронтальной камеры. Теперь мне нужно только убедиться, что я могу быстро переключаться между верхним и нижним микрофоном, начав захват видео с передней камеры, а затем остановив его снова.