Nextrp [CPP] RU + Many GEOs Игра на карте России | NEXTRP

Кнопка отключения звука не будет отключать AVAudioPlayer

ios iphone avaudioplayer avaudiosession

4563 просмотра

3 ответа

5515 Репутация автора

Мне нужно зациклить воспроизведение файла .caf в моем приложении для iPhone.

AVAudioPlayer выглядит многообещающе. Но есть одна проблема. Он не остановится и не отключится, даже если я нажму кнопку отключения звука на iPhone.

И я понимаю, что не было бы никакого способа программно узнать, нажата ли эта кнопка отключения звука в iOS 5 или нет.

Итак, что мне нужно знать, это некоторые свойства AVAudioPlayer или AVAudioSession. Или, может быть, мне придется рассмотреть другие библиотеки для циклического воспроизведения моего файла .caf.

Любая идея?

Автор: Di Wu Источник Размещён: 19.02.2012 03:24

Ответы (3)


25 плюса

5515 Репутация автора

Решение

Я понял, что это потому, что у меня была эта строка кода

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];

Затем я изменил его в

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil];

Тогда кнопка отключения звука сработает и остановит мой AVAudioPlayer ...

Автор: Di Wu Размещён: 19.02.2012 03:46

0 плюса

6579 Репутация автора

мои 2 цента за swift 3.0:

let sharedSession = AVAudioSession.sharedInstance()

do {
    try sharedSession.setCategory(AVAudioSessionCategoryAmbient)
} catch _{
    return false
}

или проще:

try? sharedSession.setCategory(AVAudioSessionCategoryAmbient)
Автор: ingconti Размещён: 05.02.2017 11:35

0 плюса

11890 Репутация автора

Из документов :

введите описание изображения здесь

В общем, вам просто нужно выяснить, какая категория аудиосеансов соответствует вашим потребностям.

Автор: Honey Размещён: 24.05.2019 09:15
Вопросы из категории :
32x32