OGeek|极客世界-中国程序员成长平台

标题: ios - 如何更改 MPNowPlayingInfoCenter 信息以用于 youtube 播放? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 10:19
标题: ios - 如何更改 MPNowPlayingInfoCenter 信息以用于 youtube 播放?

我正在开发一个 html5 webview 应用程序来播放播放列表中的 youtube 视频(使用 JavaScript 控制)。 现在我想使用以下代码更改 iOS InfoCenter 中显示的标题、艺术家和其他信息:

Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter");
if (playingInfoCenter) {
    NSMutableDictionary *songInfo = [[NSMutableDictionary alloc] init];
    [songInfo setObject"Audio Title" forKey:MPMediaItemPropertyTitle];
    [songInfo setObject"Audio Author" forKey:MPMediaItemPropertyArtist];
    [[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo];
}

它工作了一秒钟,但 iOS 再次用原始的 youtube 标题和视频 url 替换了我的设置信息(标题和艺术家)。有没有办法用我自己的信息永久覆盖这些信息?

谢谢!



Best Answer-推荐答案


有点黑,但你需要为 AVPlayerItemNewAccessLogEntry 设置一个通知监听器

像这样:

-(void)viewWillAppearBOOL)animated {
[super viewWillAppear:animated];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selectorselector(playerItemWasSet
                                             name"AVPlayerItemNewAccessLogEntry"
                                           object:nil];
}

然后

-(void)playerItemWasSetNSNotification *)note {
    Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter");
    if (playingInfoCenter) {
        NSMutableDictionary *songInfo = [[NSMutableDictionary alloc] init];
        [songInfo setObject"Audio Title" forKey:MPMediaItemPropertyTitle];
        [songInfo setObject"Audio Author" forKey:MPMediaItemPropertyArtist];
        [[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo];
    }
}

我不知道苹果会不会有问题,我没有提交过包含这个的应用程序。只是尝试一下。

关于ios - 如何更改 MPNowPlayingInfoCenter 信息以用于 youtube 播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28659682/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4