问题标签 [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.
xcode - Swift 2.0 中的远程控制 (MPNowPlayingInfoCenter)
我正在尝试用 Swift 制作一个广播应用程序。而且我在锁定屏幕上的遥控器有问题。根本不起作用 - 屏幕上什么都没有。来自 ViewController 的代码:
即使固定MPNowPlayingInfoCenter
线路后,锁定屏幕上也不会出现任何内容。我做错了什么?
代码来自教程
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 的类。
ios - 设置标题和图像现在在后台播放音频
如何使用 设置正在后台播放音频的标题和图像AVPlayer
?
到目前为止我的代码:
我正在尝试使用MPNowPlayingInfoCenter
,但在锁定屏幕上看不到信息。
ios - 设置 MPNowPlayingInfoCenter 与其他背景音频播放
我正在尝试使用 MPMoviePlayerController 为 Swift 中的 iOS 应用程序播放视频。
我的目标是能够用苹果音乐之类的东西播放系统音乐,然后打开我的应用程序并混合音频,但我希望我的应用程序能够控制MPNowPlayingInfoCenter
.
如何AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: .MixWithOthers)
在设置 MPNowPlayingInfoCenter 的同时使用?
谷歌地图在设置 MPNowPlayingInfoCenter 时会混入音频。以下是我尝试设置 MPNowPlayingInfoCenter 的方式:
当我不尝试同时使用选项 ( .MixWithOthers
) 播放外部音乐时,上述功能有效,但是当我尝试使用选项 ( .MixWithOthers
) 播放外部音乐时,信息中心不会更新。
编辑1:只是为了让事情变得非常清楚,我已经可以正常播放视频我正在尝试使用其他背景音频播放视频,同时能够设置 MPNowPlayingInfoCenter。
ios - MPNowPlayingInfoCenter nowPlayingInfo 在 AVPlayer 中播放视频时未显示
我正在开发一个具有视频流的应用程序。我使用 AVPlayer 在设备上或使用 AirPlay 流式传输视频。使用 AirPlay 时,您可以锁定屏幕并继续播放视频。在您的设备的主屏幕上,您将获得控件:滑动条、播放/暂停、后退/前进。
都好。现在我想显示一些关于正在播放的视频的信息。我阅读了很多关于 MPNowPlayingInfoCenter 的内容,所有内容看起来都非常简单。但是,当我设置 nowPlayingInfo 时,主屏幕上没有设置任何内容。
我不知道我做错了什么。我在 AVPlayer 中有一个不允许我这样做的设置吗?我设置playingInfo的时间错了吗?(我尝试在播放前、加载流后、启动流后等设置)
下面的代码被执行,但它没有在锁定屏幕上设置 nowPlayingInfo:
ios - MPNowPlayingInfoCenter nowPlayingInfo 在曲目结束时未更新
我有一种方法可以更改我的应用程序播放的音轨AVPlayer
并MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo
为新音轨设置:
当用户明确选择专辑或曲目并且曲目结束并且下一曲目自动开始时,我调用此方法。锁定屏幕在用户设置专辑或曲目时正确显示曲目元数据,但在曲目结束并自动设置下一个曲目时不正确。
我添加了打印语句以确保我正确地填充了nowPlayingInfo
字典。正如预期的那样,当为用户发起的专辑或曲目更改调用此方法时,两个打印语句打印相同的字典内容。但是,在自动跟踪更改后调用该方法的情况下,局部nowPlayingInfo
变量显示新的trackNum
,而MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo
显示前一个trackNum
:
我发现当我在设置为 的行上设置断点时MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo
,nowPlayingInfo
轨道号会在锁定屏幕上正确更新。在该行之后添加sleep(1)
还可以确保正确更新锁定屏幕上的轨道。
我已验证nowPlayingInfo
始终从主队列设置。我尝试在主队列或其他队列中显式运行此代码,而行为没有变化。
是什么阻止我更改为MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo
?如何确保设置MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo
始终更新锁定屏幕信息?
编辑
在第 N 次思考“并发”的代码后,我找到了罪魁祸首。我不知道为什么我之前没有对此产生怀疑:
当用户擦洗或向前/向后跳过时,此代码会更新锁定屏幕的已用时间。如果我将其注释掉,则nowPlayingInfo
更新setTrackNumber
在任何情况下都会按预期工作。
修改后的问题:当这两段代码都在主队列上运行时,它们是如何交互的?有什么办法可以nowPlayingInfo
更新,AVPlayerItemTimeJumpedNotification
因为当有电话时会有跳跃setTrackNumber
?
ios - 在播放列表中跳过曲目时,MPNowPlayingInfoCenter 无法更新标题
我正在尝试使用 MPNowPlayingInfoCenter 更新标题。但是发生的情况是,当我跳过轨道时,它不会在控制面板上反映它。
这是我的代码:
此外,当我将调试点放在标题和副标题附近时,我可以看到要为下一首歌曲显示的正确信息。但是当我在手机上看到它时,它并没有像调试点中显示的那样显示正确的轨道信息。我不知道这里发生了什么。我还保证上述情况仅发生在主线程上。
ios - MPNowPlayingInfoCenter 在 iOS 8 中不显示媒体信息
我尝试使用此代码在锁屏和控制中心显示媒体信息,但它没有显示任何内容:
我也设置FirstResponding
了,但还是什么都没看到。
我该如何解决?谢谢
ios - MPNowPlayingInfoCenter 不适用于 WKWebView 播放
我WKWebView
用来播放音频/视频并希望设置 custom MPNowPlayingInfoCenter
nowPlayingInfo
,但WKWebView
似乎会覆盖我所做的任何设置。有没有人能够在使用时添加自定义锁屏控件和元数据WKWebView
?
这是我正在使用的代码的精简示例:
请注意,这-remoteControlReceivedWithEvent:
在我的AppDelegate
课堂上也会根据需要被覆盖。
另请注意,如果将WKWebView
替换为例如 anAVPlayer
或,则此方法可以正常工作AVAudioPlayer
。