AVAudioPlayer не начинает играть в фоновом режиме
я используюAVAudioPlayer
а такжеNSFileHandle
делать потоковое аудио. Основная идея заключается в том, что я сохраняю потоковые аудиоданные на устройство с файловой системой, а затем используюAVAudioPlayer
для воспроизведения только что сохраненного файла.AVAudioPlayer
может по-прежнему воспроизводить этот файл, даже если идет потоковая передача.
у меня естьUIButton
начать потоковую передачу / загрузку. Когда загруженные данные накапливаются до определенного количества байтов,AVAudioPlayer
будет игратьиграть" методAVAudioPlayer
срабатывает) автоматически. Мой вопрос: я нажимаю кнопку, чтобы начать потоковую передачу / загрузку, а затем нажмите iPhone 'Очень скоро кнопка «Домой» заставит мое приложение перейти в фоновый режим. Загрузка продолжает работать в фоновом режиме, но "играть" методAVAudioPlayer
возвращаетсяНЕТ» что означает "играть" метод нене воспроизводить аудио.
я добавилAVAudioSession
код, связанный с моим аудиоплееромМетод инициализации:
- (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 я добавил элемент "Приложение проигрывает аудио " за ключ "Требуемые фоновые режимы », Тем не менее "играть" до сих пор нев фоновом режиме. Что еще я пропустил? Заранее большое спасибо.