gpt4 book ai didi

ios - MPNowPlayingInfoCenter 信息被 AVPlayer 覆盖

转载 作者:行者123 更新时间:2023-11-28 13:00:41 27 4
gpt4 key购买 nike

我正在开发一个 iOS 应用程序,它使用 AVPlayer 来播放由 AVPlayerItems 表示的歌曲。

我已经尝试设置 MPNowPlayingInfoCenter.defaultCenter() 的 nowPlayingInfo 属性,但似乎信息立即被 AVPlayer 覆盖,因为它需要更新其他信息,如 elapsedTime 和 playbackDuration。

甚至在程序执行后立即

MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo?[MPMediaItemPropertyTitle] = "Title"

MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo 的打印输出是

Info: ["MPNowPlayingInfoPropertyElapsedPlaybackTime": 34.89555007300078, "AVNowPlayingInfoControllerIdentifierKey": <__NSConcreteUUID 0x13778e9b0> 9141DD1C-FD09-4210-B3C7-B948522E3AF6, "playbackDuration": 198.2516666666667, "MPNowPlayingInfoPropertyPlaybackRate": 1]

我做错了什么?是否可以在 AVPlayerItem 中存储额外的元数据,如标题/专辑名称,以便它显示在信息中心?

此外,什么是 AVNowPlayingInfoControllerIdentifierKey?似乎没有任何名为 AVNowPlayingInfoController 的类。

最佳答案

问题是这一行什么都不做:

MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo?[MPMediaItemPropertyTitle] =
"Title"

即使该行实际上做了任何事情,您也会获取 nowPlayingInfo副本 作为单独的字典,然后写入其中单独的字典。您不会写入实际正在播放的信息,而这是您想要做的。

正确的方法是形成一个字典,然后将MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo设置到那个字典

例如:

MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = 
[MPMediaItemPropertyTitle : "Title"]

(当然字典可以有更多词条。)

关于ios - MPNowPlayingInfoCenter 信息被 AVPlayer 覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33977989/

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