Обнаружить беззвучный режим в iOS5?

Я использовал этот метод в прошлом, чтобы определить, включен ли переключатель беззвучного режима:

- (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.

Надеюсь, ты сможешь помочь ...

24
задан Oliver 20 October 2011 в 22:32
поделиться

1 ответ

Как упоминалось в библиотеке разработчиков iOS, свойство kAudioSessionProperty_AudioRoute устарело. Вместо этого используйте kAudioSessionProperty_AudioRouteDescription

https://developer.apple.com/library/ios/#documentation/AudioToolbox/Reference/AudioSessionServicesReference/Reference/reference.html

На этот вопрос ответили здесь: Обнаружен ли переключатель iPhone Ring / Silent / Mute с помощью AVAudioPlayer не работает?

1
ответ дан 29 November 2019 в 00:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: