2016-10-17 3 views
0

Мой проект связан с музыкой, и у меня есть проблема с остановкой воспроизведения музыки при выключении экрана. Хотя я зарегистрировал фоновый режим (аудио), но когда я выключаю экран, AVPlayer перестает играть музыку и снова воспроизводится при включении экрана.AVPlayer останавливает воспроизведение музыки при выключении экрана

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

+0

Вы можете найти правильный ответ здесь: http://stackoverflow.com/questions/10429204/how-to-handle-background-audio-playing-while-ios-device-is-locked- or-on-another – iGenio

+0

После этого ответа я использовал способ для своего приложения, но проблема все еще появляется –

+0

Является ли аудиопоток потоковым из Интернета или находится в локальном файле? – iGenio

ответ

0

Недостаточно только добавить фоновый режим audio. Кроме того, необходимо установить категорию сеанса воспроизведения звука, а described in Apple QA1668:

A: Вы должны объявить ваше приложение воспроизводит звуковое содержание, а в фоновом режиме, и назначить соответствующую категорию для вашей аудио сессии.

#import <AVFoundation/AVFoundation.h> 
#import <AudioToolbox/AudioToolbox.h> 

AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 

NSError *setCategoryError = nil; 
BOOL success = [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError]; 
if (!success) { /* handle the error condition */ } 

NSError *activationError = nil; 
success = [audioSession setActive:YES error:&activationError]; 
if (!success) { /* handle the error condition */ }