Я хочу определить, заблокирован ли MIC в настоящее время или используется каким-либо другим приложением iOS. Я не получил никакой информации, чтобы проверить, доступен ли MIC для использования или нет? Я не хочу разрешать пользователю записывать видео, если MIC уже используется каким-либо другим приложением, активным вызовом, факс-вызовом.Проверьте, не заблокирован ли MIC или не используется другим приложением iOS.
Может ли кто-нибудь сказать мне, как решить эту проблему?
Заранее спасибо.
Update: Добавление функции, чтобы проверить, если MIC занят
+(BOOL)isMicResourceBusy
{
NSError *error = nil;
NSMutableDictionary *recordSettings = [[NSMutableDictionary alloc] initWithCapacity:10];
NSNumber *formatObject;
formatObject = [NSNumber numberWithInt: kAudioFormatMPEG4AAC ];
[recordSettings setObject:formatObject forKey: AVFormatIDKey];
[recordSettings setObject:[NSNumber numberWithFloat:44100.0] forKey: AVSampleRateKey];
[recordSettings setObject:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey];
[recordSettings setObject:[NSNumber numberWithInt:12800] forKey:AVEncoderBitRateKey];
[recordSettings setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[recordSettings setObject:[NSNumber numberWithInt: AVAudioQualityHigh] forKey: AVEncoderAudioQualityKey];
NSURL *soundFileURL = [NSURL fileURLWithPath:[FileUtils getNewFilenameWithPrefix:@"testAudioRecording" ext:@"aac"]];
AVAudioRecorder *audioRecorder = [[AVAudioRecorder alloc]initWithURL:soundFileURL settings:recordSettings error:&error];
if ([audioRecorder prepareToRecord] && error == nil)
{
return NO;
}
else
{
NSLog(@"Error: %@", error.localizedDescription);
}
return YES;
}
Вы пытались инициализировать 'AVAudioRecorder', в то время как какое-то другое приложение использует микрофон? Я не могу проверить его прямо сейчас, но у меня такое ощущение, что вы получите ошибку, не позволяя пользователю записывать. – Gad
@GadMarkovits См. Мое обновление. Я написал одну функцию, чтобы проверить, занят ли Mic или нет, используя 'AVAudioRecorder'. Но он всегда возвращает NO, даже если голосовая связь Skype активна. – Nitin