gpt4 book ai didi

ios - 导致 MPNowPlayingInfoCenter 丢失状态的广告横幅

转载 作者:行者123 更新时间:2023-12-01 16:07:18 24 4
gpt4 key购买 nike

我有一个使用 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 框架出现。这些是 UIWebView 中提供的标准 MREC 和横幅。实例。一旦出现,“正在播放”状态将恢复为“音乐”应用程序,并且使用 Remote 的能力消失。

一旦发生这种情况,我什至无法重新设置“正在播放”信息,就像卡住了一样。虽然,当我打印出 [[MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo 的值时,正如我所料,它只是没有显示。

广告不播放音频或视频,但不知何故,它们破坏了 Now Playing API 并且无法恢复。

我已经联系了谷歌和苹果来解决这个问题,但同时想知道是否有人有任何解决方法可以建议?

最佳答案

我在调查 Google Interactive Media Ads SDK (IMA SDK) 的类似问题时发现了这个问题,它会自动将“正在播放”状态更改为“广告”。最终在 IMAAdsSettings 对象上找到了标志,disablesNowPlayingInfo Documentation .将此设置为 true 解决了我的问题。

        let adsLoaderSettings = IMASettings()
adsLoaderSettings.disableNowPlayingInfo = true
adsLoader = IMAAdsLoader(settings: adsLoaderSettings)

关于ios - 导致 MPNowPlayingInfoCenter 丢失状态的广告横幅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56764170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com