Есть ли способ воспроизвести звук на iPhone, когда экран заблокирован, но не когда установлен бесшумный переключатель? - PullRequest
1 голос
/ 05 сентября 2011

Я просматривал категории и переопределения аудио-сеансов, и кажется, что вы можете воспроизводить аудио независимо от того, установлен ли переключатель без звука или экран заблокирован (AVAudioSessionCategoryPlayback), ИЛИ вы можете уважать переключатель без звука инастройки блокировки экрана (AVAudioSessionCategorySoloAmbient).

Есть идеи, как воспроизвести звук, который отключается с помощью бесшумного переключателя, но продолжает воспроизводиться, когда экран заблокирован?Все, что я хочу, - это взять свой пирог и съесть его.

Чтобы ответить на неизбежные вопросы «зачем вам когда-либо обходить систему», это приложение, которое показывает слова и воспроизводит музыку, которая, вероятно,для использования как в церкви, так и дома.В церкви было бы плохо, если бы приложение начало играть музыку, поэтому я хочу уважать выключатель звука.Дома вы можете выключить телефон, чтобы слушать музыку, когда делаете что-то другое, и не захотите, чтобы он прекращал играть, когда телефон автоматически блокируется.

1 Ответ

1 голос
/ 05 сентября 2011

Вы можете использовать AVAudioSessionCategoryPlayback и использовать этот код, чтобы проверить, включен или выключен тихий переключатель:

- (BOOL)deviceIsSilenced
{
    #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);

    return (CFStringGetLength(state) <= 0);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...