AVAudioPlayer не начинает играть в фоновом режиме

Я используюAVAudioPlayer а такжеNSFileHandle делать потоковое аудио. Основная идея заключается в том, что я сохраняю потоковые аудиоданные на устройство с файловой системой, а затем используюAVAudioPlayer для воспроизведения только что сохраненного файла.AVAudioPlayer может по-прежнему воспроизводить этот файл, даже если идет потоковая передача.

у меня естьUIButton начать потоковую передачу / загрузку. Когда загруженные данные накапливаются до определенного количества байтов,AVAudioPlayer будет играть (метод "играть"AVAudioPlayer срабатывает) автоматически. У меня такой вопрос: я нажимаю кнопку, чтобы начать потоковую передачу / загрузку, а затем очень скоро нажимаю кнопку «Домой» на iPhone, чтобы приложение перешло в фоновый режим. Загрузка продолжает работать в фоновом режиме, но метод "воспроизведения"AVAudioPlayer возвращает «NO», что означает, что метод «play» не воспроизводит аудио.

я добавилAVAudioSession связанный код для метода init моего аудиоплеера:

- (id) initWithURL:(NSString *) downloadedMusicURL
{
    if ((self = [super init]))
    {       
        [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

        CFURLRef url = CFURLCreateWithFileSystemPath (NULL, (CFStringRef)downloadedMusicURL, kCFURLPOSIXPathStyle, FALSE);

        audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:CFBridgingRelease(url) error:nil];

        AVAudioSession *session = [AVAudioSession sharedInstance];
        [session setActive:YES error:nil];
        [session setCategory:AVAudioSessionCategoryPlayback error:nil];
    }

    return self;
}

Также в info.plist я добавил пункт «Приложение проигрывает аудио» для клавиши «Требуемые режимы фона». Тем не менее, «игра» все еще не вызывается должным образом в фоновом режиме. Что еще я пропустил? Заранее большое спасибо.

Ответы на вопрос(4)

Ваш ответ на вопрос