问题标签 [mpnowplayinginfocenter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1029 浏览

ios - Swift 2 - 更改按钮背景/锁定屏幕媒体播放器

在我的应用程序中,我启用了背景音频,以便用户从锁定屏幕播放、暂停、跳过曲目。

一切正常,但是我找不到显示next trackprevious track按钮的方法。

现在,“MediaPlayer”正在显示不同的按钮(见附图)

在此处输入图像描述

在我的AppDelegate.swift我有:

如何更改按钮以显示下一个和上一个按钮?

0 投票
1 回答
1095 浏览

xcode - Swift 2.0 中的远程控制 (MPNowPlayingInfoCenter)

我正在尝试用 Swift 制作一个广播应用程序。而且我在锁定屏幕上的遥控器有问题。根本不起作用 - 屏幕上什么都没有。来自 ViewController 的代码:

即使固定MPNowPlayingInfoCenter线路后,锁定屏幕上也不会出现任何内容。我做错了什么?

代码来自教程

0 投票
1 回答
1287 浏览

ios - MPNowPlayingInfoCenter 信息被 AVPlayer 覆盖

我正在使用一个使用 AVPlayer 播放由 AVPlayerItems 代表的歌曲的 iOS 应用程序。

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

即使在程序执行后立即

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

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

我究竟做错了什么?是否可以在 AVPlayerItem 中存储其他元数据,例如标题/专辑名称,以便显示在信息中心?

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

0 投票
1 回答
2542 浏览

ios - 设置标题和图像现在在后台播放音频

如何使用 设置正在后台播放音频的标题和图像AVPlayer

到目前为止我的代码:

我正在尝试使用MPNowPlayingInfoCenter,但在锁定屏幕上看不到信息。

0 投票
3 回答
3073 浏览

ios - 设置 MPNowPlayingInfoCenter 与其他背景音频播放

我正在尝试使用 MPMoviePlayerController 为 Swift 中的 iOS 应用程序播放视频。

我的目标是能够用苹果音乐之类的东西播放系统音乐,然后打开我的应用程序并混合音频,但我希望我的应用程序能够控制MPNowPlayingInfoCenter.

如何AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: .MixWithOthers)在设置 MPNowPlayingInfoCenter 的同时使用?

谷歌地图在设置 MPNowPlayingInfoCenter 时会混入音频。以下是我尝试设置 MPNowPlayingInfoCenter 的方式:

当我尝试同时使用选项 ( .MixWithOthers) 播放外部音乐时,上述功能有效,但是当我尝试使用选项 ( .MixWithOthers) 播放外部音乐时,信息中心不会更新。

编辑1:只是为了让事情变得非常清楚,我已经可以正常播放视频我正在尝试使用其他背景音频播放视频,同时能够设置 MPNowPlayingInfoCenter。

0 投票
1 回答
1719 浏览

ios - MPNowPlayingInfoCenter nowPlayingInfo 在 AVPlayer 中播放视频时未显示

我正在开发一个具有视频流的应用程序。我使用 AVPlayer 在设备上或使用 AirPlay 流式传输视频。使用 AirPlay 时,您可以锁定屏幕并继续播放视频。在您的设备的主屏幕上,您将获得控件:滑动条、播放/暂停、后退/前进。

都好。现在我想显示一些关于正在播放的视频的信息。我阅读了很多关于 MPNowPlayingInfoCenter 的内容,所有内容看起来都非常简单。但是,当我设置 nowPlayingInfo 时,主屏幕上没有设置任何内容。

我不知道我做错了什么。我在 AVPlayer 中有一个不允许我这样做的设置吗?我设置playingInfo的时间错了吗?(我尝试在播放前、加载流后、启动流后等设置)

下面的代码被执行,但它没有在锁定屏幕上设置 nowPlayingInfo:

0 投票
6 回答
9957 浏览

ios - MPNowPlayingInfoCenter nowPlayingInfo 在曲目结束时未更新

我有一种方法可以更改我的应用程序播放的音轨AVPlayerMPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo为新音轨设置:

当用户明确选择专辑或曲目并且曲目结束并且下一曲目自动开始时,我调用此方法。锁定屏幕在用户设置专辑或曲目时正确显示曲目元数据,但在曲目结束并自动设置下一个曲目时不正确。

我添加了打印语句以确保我正确地填充了nowPlayingInfo字典。正如预期的那样,当为用户发起的专辑或曲目更改调用此方法时,两个打印语句打印相同的字典内容。但是,在自动跟踪更改后调用该方法的情况下,局部nowPlayingInfo变量显示新的trackNum,而MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo显示前一个trackNum

我发现当我在设置为 的行上设置断点时MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfonowPlayingInfo轨道号会在锁定屏幕上正确更新。在该行之后添加sleep(1)还可以确保正确更新锁定屏幕上的轨道。

我已验证nowPlayingInfo始终从主队列设置。我尝试在主队列或其他队列中显式运行此代码,而行为没有变化。

是什么阻止我更改为MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo?如何确保设置MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo始终更新锁定屏幕信息?

编辑

在第 N 次思考“并发”的代码后,我找到了罪魁祸首。我不知道为什么我之前没有对此产生怀疑:

当用户擦洗或向前/向后跳过时,此代码会更新锁定屏幕的已用时间。如果我将其注释掉,则nowPlayingInfo更新setTrackNumber在任何情况下都会按预期工作。

修改后的问题:当这两段代码都在主队列上运行时,它们是如何交互的?有什么办法可以nowPlayingInfo更新,AVPlayerItemTimeJumpedNotification因为当有电话时会有跳跃setTrackNumber

0 投票
0 回答
366 浏览

ios - 在播放列表中跳过曲目时,MPNowPlayingInfoCenter 无法更新标题

我正在尝试使用 MPNowPlayingInfoCenter 更新标题。但是发生的情况是,当我跳过轨道时,它不会在控制面板上反映它。

这是我的代码:

此外,当我将调试点放在标题和副标题附近时,我可以看到要为下一首歌曲显示的正确信息。但是当我在手机上看到它时,它并没有像调试点中显示的那样显示正确的轨道信息。我不知道这里发生了什么。我还保证上述情况仅发生在主线程上。

0 投票
1 回答
459 浏览

ios - MPNowPlayingInfoCenter 在 iOS 8 中不显示媒体信息

我尝试使用此代码在锁屏和控制中心显示媒体信息,但它没有显示任何内容:

我也设置FirstResponding了,但还是什么都没看到。

我该如何解决?谢谢

0 投票
0 回答
596 浏览

ios - MPNowPlayingInfoCenter 不适用于 WKWebView 播放

WKWebView用来播放音频/视频并希望设置 custom MPNowPlayingInfoCenter nowPlayingInfo,但WKWebView似乎会覆盖我所做的任何设置。有没有人能够在使用时添加自定义锁屏控件和元数据WKWebView

这是我正在使用的代码的精简示例:

请注意,这-remoteControlReceivedWithEvent:在我的AppDelegate课堂上也会根据需要被覆盖。

另请注意,如果将WKWebView替换为例如 anAVPlayer或,则此方法可以正常工作AVAudioPlayer