AVAudioSession с AVPlayer: значок «Воспроизвести» в меню состояния не отображается, когда воспроизводится проигрыватель AVPlayer.

У меня есть AVPlayer для потоковой передачи mp3-файла из Интернета. Я активировал AVAudioSession, чтобы звук воспроизводился при выходе из приложения / выключении экрана. Музыка воспроизводится отлично, но маленький треугольный значок «Воспроизвести», который появляется в меню состояния в верхней части телефона, не появляется во время воспроизведения музыки (как это обычно бывает в iOS). Что-то я делаю не так? Код ниже

// Set AudioSession
NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setDelegate:self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError];
[[AVAudioSession sharedInstance] setActive:YES error:nil];

//Direct audio to speakers when there is no headphone
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);    
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);

person secondbreakfast    schedule 11.07.2012    source источник


Ответы (1)


Для тех, кто может столкнуться с этим вопросом, я разобрался. Вы должны сделать контроллер вашего плеера первым ответчиком - особенно для событий удаленного управления. Это не только позволяет вам получать события дистанционного управления (например, универсальные элементы управления воспроизведением/паузой/вперед/назад), но также помещает значок воспроизведения в меню состояния.

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
person secondbreakfast    schedule 14.07.2012