У меня есть приложение, которое воспроизводит звук с использованием AVPlayer
, и я касаюсь нужных API, чтобы получить информацию о текущем воспроизведении для обновления в Центре управления.
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:0 error:&categoryError];
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeSpokenAudio error:&modeError];
[[AVAudioSession sharedInstance] setActive:YES error:&activeError];
[MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = {...};
...
MPRemoteCommandCenter * const commandCenter = [MPRemoteCommandCenter sharedCommandCenter];
commandCenter.playCommand.enabled = YES;
...
Этот API работает, как и ожидалось, до тех пор, пока некоторые объявления не появятся с помощью Google AdMob Framework.Это стандартные MREC и баннеры, которые представлены в UIWebView
экземплярах.Как только он появляется, состояние «Сейчас исполняется» возвращается к приложению «Музыка», и возможность использовать пульты дистанционного управления исчезает.
Как только это происходит, я даже не могу повторно установить информацию «Сейчас исполняется»,это как будто застряло.Хотя, когда я распечатываю значение [[MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo
, оно, как я и ожидал, просто не показывается.
Реклама не воспроизводит аудио или видео, но каким-то образом портит API Now Playing ион не восстанавливается.
Я связался с Google и Apple относительно того, как это исправить, но в то же время задавался вопросом, есть ли у кого-нибудь какие-нибудь обходные пути, чтобы предложить?