Ответ 1
Мы не сможем обнаружить состояние молчащего переключения с iOS 5...
Ответ от Apple есть на принятом ответе: Обнаружение переключателя Ring/Silent/Mute iPhone с помощью AVAudioPlayer не работает?
Я использовал этот метод в прошлом, чтобы определить, включен ли тихий переключатель:
- (BOOL)silenced {
#if TARGET_IPHONE_SIMULATOR
// return NO in simulator. Code causes crashes for some reason.
return NO;
#endif
CFStringRef state;
UInt32 propertySize = sizeof(CFStringRef);
AudioSessionInitialize(NULL, NULL, NULL, NULL);
AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state);
if(CFStringGetLength(state) > 0)
return NO;
else
return YES;
}
Это больше не работает в iOS5 на моем iPad или iPhone. Это известная проблема? Я не смог найти ответы на переполнение стека или на форумы Apple dev.
Надеюсь, вы сможете помочь...
Мы не сможем обнаружить состояние молчащего переключения с iOS 5...
Ответ от Apple есть на принятом ответе: Обнаружение переключателя Ring/Silent/Mute iPhone с помощью AVAudioPlayer не работает?
Как упоминалось в iOS Developer Library, свойство kAudioSessionProperty_AudioRoute устарело. Вместо этого используйте параметр kAudioSessionProperty_AudioRouteDescription
На этот вопрос был дан ответ: Обнаружение переключателя iPhone/Silent/Mute iPhone с использованием AVAudioPlayer не работает?