Включить/отключить фоновую музыку

Чтобы включить фоновую музыку из приложения Spotify или Music, я использую этот код:

do
        {
            try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
            try AVAudioSession.sharedInstance().setActive(true)
        }
        catch let error as NSError
        {
            print(error)
        }

Но как я могу изменить это, чтобы остановить воспроизведение фоновой музыки?


person Roduck Nickes    schedule 14.01.2016    source источник


Ответы (2)


Согласно документации, основными категориями сеансов воспроизведения аудио являются:

AVAudioSessionCategoryAmbient

Когда вы используете эту категорию, звук из других приложений смешивается с вашим звуком.

AVAudioSessionCategorySoloAmbient

По умолчанию использование этой категории подразумевает, что звук вашего приложения нельзя микшировать — активация вашего сеанса прервет любые другие аудиосеансы, которые также нельзя микшировать.

Воспроизведение категории AVAudioSessionCategory

По умолчанию использование этой категории подразумевает, что звук вашего приложения нельзя микшировать — активация вашего сеанса прервет любые другие аудиосеансы, которые также нельзя микшировать.

Итак, вы намеренно выбрали единственную категорию воспроизведения, которая не заглушает несмешанный фоновый звук. Если вы действительно хотите отключить несмешиваемый фоновый звук, выберите одну из других категорий. Нет ничего плохого в изменении категорий в любое время.

person matt    schedule 14.01.2016

Вы пробовали этот код?

AVAudioSession.sharedInstance().setActive(false)

Я не проверял это, но я предполагаю, что это остановит музыку.

person MiddaPhofidda    schedule 14.01.2016