问题标签 [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.
ios - 播放/暂停和已用时间未在 iOS 命令中心正确更新
我有一个可以从 iOS 命令中心和锁定屏幕播放的视频播放器。当我在我的应用程序中切换播放/暂停按钮时,它应该通过更新 ( ) 来更新命令中心 ( ) 中的播放/暂停MPRemoteCommandCenter
按钮。我不确定为什么它不更新。nowPlayingInfo
MPNowPlayingInfoCenter
例如,如果我在我的应用程序中使用自定义按钮暂停视频,命令中心仍会显示暂停按钮(这意味着视频仍在播放,这是错误的。)
这就是我更新的方式nowPlayingInfo
:
使用 KVO,当播放器rate
发生变化时,我调用这个函数:
有什么想法吗?
更新
我找到了一个解决方案,但在我的情况下并不完美。所以在我的应用程序中,我有 2 个视图控制器。让我们称它们为FeedVC
and PlayerVC
。FeedVC
一直AVPlayer
在播放但静音的 's 也是如此。如果您单击其中一个,PlayerVC
则会创建并播放完整视频。如果我在进入之前暂停AVPlayer
's,那么 NowPlayingInfoCenter 中的“播放/暂停”按钮可以完美运行!FeedVC
PlayerVC
有没有办法让这项工作而不必暂停视频FeedVC
?
另一个问题是,elapsed time
如果我不暂停FeedVC
. 似乎如果多个玩家正在玩,播放/暂停按钮和经过的时间不正确。
ios - Apple Music 与 MPNowPlayingInfoCenter 冲突
当我的音乐播放器应用在后台播放时,我需要一些帮助来解决问题。
我可以使用这两种服务在应用程序和后台播放音乐。我也可以设置MPNowPlayingInfoCenter
它并显示正确的信息,但播放/暂停、下一首曲目和上一首曲目仅在用户通过 Spotify 身份验证时才有效:
当用户通过 Spotify 进行身份验证时,应用程序会正确接收通知
但是当用户使用 Apple Music 进行身份验证时它不起作用。在这种情况下,Apple Music 似乎是接收通知的人。
当与 Apple Music同步以及与 Spotify 同步时,我正在使用AVPlayer
播放音乐。SPTAudioStreamingController
这是媒体中心设置的代码:
下面是事件处理的代码:
谁能指出我解决这种情况的方法?
ios - 在运行时更改屏幕锁定控件
我的应用程序分为两个模块。对于第一个模块,即使在屏幕锁定之后,音频也应该播放并且锁定的屏幕应该显示与媒体内容相关的详细信息。但是,在第二个模块中没有特殊要求。屏幕锁定后应立即停止音频,并且在锁定的屏幕上不应显示任何控件。
对于第一个模块,我编写了以下代码
在我的 appdelegate 中,我实现了:
在 MyVideoController 类中
在屏幕锁定时,我看到了预期的控制器。一切都很好。
但是,在我的第二个模块中,我更改了音频会话属性 -
每当播放视频并锁定屏幕时,我都会看到下图 1 或 2 秒,然后它就消失了!可能是因为应用程序突然意识到屏幕被锁定,然后决定隐藏控件。
我相信,我一开始就不应该看到这个屏幕。除了我已经实现的之外,还有其他方法可以禁用屏幕吗?
编辑1:
在 MyVideoController 类中添加了以下部分
再次,在屏幕消失之前看到屏幕 1 秒钟。
swift - 从 AVAudioPlayer 设置 MPNowPlayingInfoCenter currentTime 和 songLength
我在设置 MPNowPlayingInfoCenter 的 currentTime 和 songLength 时遇到问题。这是我的代码:
这里是我在 viewWillAppear 中设置属性的地方:
我尝试使用 audioPlayer.currentTime 和 audioPlayer.duration,但它不起作用。我该怎么做呢?另外,我不知道如何设置 MPMediaItemPropertyArtwork 的图像。我的资产中有文件,图像名称等于 titleText[thisSong]。如果你也能帮助我,那就太棒了!谢谢!
swift - 控制中心的进度视图不会暂停
我已经为我的AVAudioPlayer
. 一切都很好,除了控制中心的进度条,它会在AVAudioPlayer
暂停时继续计数。我怎样才能解决这个问题?这是我到目前为止所拥有的:
在 viewDidLoad 中:
我正在使用 Swift 3 和 Xcode 8。
ios - Objective-C 锁屏媒体控制器隐藏下一个/上一个按钮
我正在使用 Objective-C 开发 iOS 媒体播放器应用程序。有锁屏播放器,我想隐藏或禁用上一个和下一个按钮。这是我的代码:
但是上一个和下一个按钮仍然可见。谁能帮我禁用或隐藏这些按钮?
ios - MPNowPlayingInfoCenter Live 图标
我正在制作一个广播应用程序,并注意到在 iHeartRadio 应用程序以及 Apple Music 应用程序 (Beats 1) 中似乎有一个用于直播媒体的 Live 图标。我想在我的应用程序中实现它,但不知道如何去做。我正在使用 Swift 3 和 MPNowPlayingInfoCenter。任何答案都会有所帮助。(图标在下面的照片中称为 iHeart Radio LIVE 图标。)谢谢!
swift - MPNowPlayingInfoCenter 停止更新进度条
我正在制作一个包含音乐播放器的应用程序。我有一段时间没有工作了,但我最后一次工作时它nowPlayingInfo
正在工作。现在,当我将它更新到 Swift 3 时,除了进度条之外,一切正常。
我在这里看到了一些类似的问题,这些问题谈到了竞争条件,它被某些东西覆盖了,但我似乎无法弄清楚是什么。我正在使用AVQueuePlayer
如果有帮助的话。
跳过和上一个按钮有效,专辑封面、标题和艺术家更新完美,但经过的时间没有更新。当我调试时,MPNowPlayingInfoPropertyElapsedPlaybackTime
从MPNowPlayingInfoCenter.default().nowPlayingInfo
显示正确的数字,但控制中心的实际屏幕不是。通常,进度卡在 0:01,只是不动。但是,如果我在我的应用程序中寻找使用滑块并返回控制中心,它会显示我寻找的时间但停留在那个位置。
这是我的setNowPlaying
代码:
我曾经设置为传递给该方法MPNowPlayingInfoPropertyElapsedPlaybackTime
的timePlayed
变量,但由于它不起作用,我player.currentTime()
按照其他问题的建议尝试了它,它可能比我使用的方法更好。
以下是寻求帮助的代码:
出于某种原因,这是唯一会更新控制中心信息的东西。
ios - 设置现在播放信息
我正在尝试构建一个音乐应用程序。音乐播放完美。现在我想在我的应用程序中设置现在播放信息,将显示音乐控制中心。
那么如何将其设置到我的以下代码中?
这个类的使用