问题标签 [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 回答
6059 浏览

ios - 播放/暂停和已用时间未在 iOS 命令中心正确更新

我有一个可以从 iOS 命令中心和锁定屏幕播放的视频播放器。当我在我的应用程序中切换播放/暂停按钮时,它应该通过更新 ( ) 来更新命令中心 ( ) 中的播放/暂停MPRemoteCommandCenter按钮。我不确定为什么它不更新。nowPlayingInfoMPNowPlayingInfoCenter

例如,如果我在我的应用程序中使用自定义按钮暂停视频,命令中心仍会显示暂停按钮(这意味着视频仍在播放,这是错误的。)

在此处输入图像描述

这就是我更新的方式nowPlayingInfo

使用 KVO,当播放器rate发生变化时,我调用这个函数:

有什么想法吗?

更新

我找到了一个解决方案,但在我的情况下并不完美。所以在我的应用程序中,我有 2 个视图控制器。让我们称它们为FeedVCand PlayerVCFeedVC一直AVPlayer在播放但静音的 's 也是如此。如果您单击其中一个,PlayerVC则会创建并播放完整视频。如果我在进入之前暂停AVPlayer's,那么 NowPlayingInfoCenter 中的“播放/暂停”按钮可以完美运行!FeedVCPlayerVC

有没有办法让这项工作而不必暂停视频FeedVC

另一个问题是,elapsed time如果我不暂停FeedVC. 似乎如果多个玩家正在玩,播放/暂停按钮和经过的时间不正确。

0 投票
0 回答
266 浏览

ios - Apple Music 与 MPNowPlayingInfoCenter 冲突

当我的音乐播放器应用在后台播放时,我需要一些帮助来解决问题。

我可以使用这两种服务在应用程序和后台播放音乐。我也可以设置MPNowPlayingInfoCenter它并显示正确的信息,但播放/暂停、下一首曲目和上一首曲目仅在用户通过 Spotify 身份验证时才有效:

  • 当用户通过 Spotify 进行身份验证时,应用程序会正确接收通知

  • 但是当用户使用 Apple Music 进行身份验证时它不起作用。在这种情况下,Apple Music 似乎是接收通知的人。

当与 Apple Music同步以及与 Spotify 同步时,我正在使用AVPlayer播放音乐。SPTAudioStreamingController

这是媒体中心设置的代码:

下面是事件处理的代码:

谁能指出我解决这种情况的方法?

0 投票
0 回答
61 浏览

ios - 在运行时更改屏幕锁定控件

我的应用程序分为两个模块。对于第一个模块,即使在屏幕锁定之后,音频也应该播放并且锁定的屏幕应该显示与媒体内容相关的详细信息。但是,在第二个模块中没有特殊要求。屏幕锁定后应立即停止音频,并且在锁定的屏幕上不应显示任何控件。

对于第一个模块,我编写了以下代码

在我的 appdelegate 中,我实现了:

在 MyVideoController 类中

在屏幕锁定时,我看到了预期的控制器。一切都很好。

但是,在我的第二个模块中,我更改了音频会话属性 -

每当播放视频并锁定屏幕时,我都会看到下图 1 或 2 秒,然后它就消失了!可能是因为应用程序突然意识到屏幕被锁定,然后决定隐藏控件。 在此处输入图像描述

我相信,我一开始就不应该看到这个屏幕。除了我已经实现的之外,还有其他方法可以禁用屏幕吗?

编辑1:

在 MyVideoController 类中添加了以下部分

再次,在屏幕消失之前看到屏幕 1 秒钟。

0 投票
1 回答
1481 浏览

ios - How to add seek buttons on iOS lock screen?

How to setup MPRemoteCommandCenter/MPNowPlayingInfoCenter to add seek buttons? Result that I want to achieve is on the screenshot. Seek buttons should look like I have already added this code:

0 投票
1 回答
910 浏览

swift - 从 AVAudioPlayer 设置 MPNowPlayingInfoCenter currentTime 和 songLength

我在设置 MPNowPlayingInfoCenter 的 currentTime 和 songLength 时遇到问题。这是我的代码:

这里是我在 viewWillAppear 中设置属性的地方:

我尝试使用 audioPlayer.currentTime 和 audioPlayer.duration,但它不起作用。我该怎么做呢?另外,我不知道如何设置 MPMediaItemPropertyArtwork 的图像。我的资产中有文件,图像名称等于 titleText[thisSong]。如果你也能帮助我,那就太棒了!谢谢!

0 投票
0 回答
233 浏览

swift - 控制中心的进度视图不会暂停

我已经为我的AVAudioPlayer. 一切都很好,除了控制中心的进度条,它会在AVAudioPlayer暂停时继续计数。我怎样才能解决这个问题?这是我到目前为止所拥有的:

在 viewDidLoad 中:

我正在使用 Swift 3 和 Xcode 8。

0 投票
0 回答
462 浏览

ios - Objective-C 锁屏媒体控制器隐藏下一个/上一个按钮

我正在使用 Objective-C 开发 iOS 媒体播放器应用程序。有锁屏播放器,我想隐藏或禁用上一个和下一个按钮。这是我的代码:

但是上一个和下一个按钮仍然可见。谁能帮我禁用或隐藏这些按钮?

0 投票
1 回答
570 浏览

ios - MPNowPlayingInfoCenter Live 图标

我正在制作一个广播应用程序,并注意到在 iHeartRadio 应用程序以及 Apple Music 应用程序 (Beats 1) 中似乎有一个用于直播媒体的 Live 图标。我想在我的应用程序中实现它,但不知道如何去做。我正在使用 Swift 3 和 MPNowPlayingInfoCenter。任何答案都会有所帮助。(图标在下面的照片中称为 iHeart Radio LIVE 图标。)谢谢!

iHeart 电台直播图标。

iHeart Radio LIVE 图标 2。

0 投票
2 回答
1974 浏览

swift - MPNowPlayingInfoCenter 停止更新进度条

我正在制作一个包含音乐播放器的应用程序。我有一段时间没有工作了,但我最后一次工作时它nowPlayingInfo 正在工作。现在,当我将它更新到 Swift 3 时,除了进度条之外,一切正常。

我在这里看到了一些类似的问题,这些问题谈到了竞争条件,它被某些东西覆盖了,但我似乎无法弄清楚是什么。我正在使用AVQueuePlayer如果有帮助的话。

跳过和上一个按钮有效,专辑封面、标题和艺术家更新完美,但经过的时间没有更新。当我调试时,MPNowPlayingInfoPropertyElapsedPlaybackTimeMPNowPlayingInfoCenter.default().nowPlayingInfo显示正确的数字,但控制中心的实际屏幕不是。通常,进度卡在 0:01,只是不动。但是,如果我在我的应用程序中寻找使用滑块并返回控制中心,它会显示我寻找的时间但停留在那个位置。

这是我的setNowPlaying代码:

我曾经设置为传递给该方法MPNowPlayingInfoPropertyElapsedPlaybackTimetimePlayed变量,但由于它不起作用,我player.currentTime()按照其他问题的建议尝试了它,它可能比我使用的方法更好。

以下是寻求帮助的代码:

出于某种原因,这是唯一会更新控制中心信息的东西。

0 投票
0 回答
395 浏览

ios - 设置现在播放信息

我正在尝试构建一个音乐应用程序。音乐播放完美。现在我想在我的应用程序中设置现在播放信息,将显示音乐控制中心。

那么如何将其设置到我的以下代码中?

这个类的使用