问题标签 [mpmediaplayercontroller]
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 - MPMediaPickerController 显示白屏,没有错误
尝试演示时出现白屏MPMediaPickerController
。之后,它会自动关闭自己。我无法访问音乐库以在我的应用中导入歌曲。
真正奇怪的是控制台中没有打印出错误。我正在物理 iPhone 设备上进行测试。
objective-c - 如何设置 MPErrorDomain 侦听器
我试图了解如何在 MediaPlayer 上处理 obj-c 中的错误,我们有人在 AVPlayer 上为我们做一些工作,但在 AVPlayer 上处理的方式与我在文档,而不是如何在 MPMusicPlayerController 上处理错误。
有一种叫做 MPErrorDomain 的东西,它是 ErrorDomain 的一种。
https://developer.apple.com/documentation/mediaplayer/mperrordomain?language=objc
当这种类型的错误对象发生时,我是否创建一个观察者来监听?
我真的只是想了解当这些错误之一发生时如何处理
https://developer.apple.com/documentation/mediaplayer/mperrorcode?language=objc
最终我想处理这些错误代码 https://developer.apple.com/documentation/mediaplayer/mperrorcode?language=objc
ios - 某些操作会导致 MPMusicPlayerApplicationController 因“无法获取播放队列标识符”错误而锁定
我有一个音乐播放器应用程序,它使用 MPMusicPlayerApplicationController 播放 Apple Music 中的歌曲,我使用 MPMediaQuery 访问这些歌曲。在某些队列操作期间(向前跳过,从队列中删除项目),它将为队列中剩余的每首歌曲抛出以下错误并停止响应播放命令。必须强制退出应用程序才能再次播放。
2019-11-16 12:53:39.926758-0500 相册[32354:6195330] [中间件] RRC:请求失败并出现错误:Error Domain=MPRequestErrorDomain Code=1 "(null)" UserInfo={MPRequestUnderlyingErrorsUserInfoKey=("Error Domain= MPCPlayerRequestErrorDomain Code=2000 \"获取播放队列标识符失败\" UserInfo={NSDebugDescription=获取播放队列标识符失败,NSUnderlyingError=0x130005ec0 {Error Domain=kMRMediaRemoteFrameworkErrorDomain Code=35 \"(null)\"}}" )}
当跳过歌曲时,这个问题很少出现,但在我最近添加了从队列中删除即将发行的完整专辑的功能之后,它变得令人沮丧地重复了。以下是我的实现方式:
此操作可能在第二次或第三次失败并出现上述错误,或者它可能让我删除十几个专辑,但最终它总是抛出上述错误。我删除的每个项目之间经过了多少时间,播放器是否正在播放/暂停,或者 Apple Music 歌曲是否正常,这似乎并不重要
如果有人有想法或指示,我将不胜感激。每个谷歌链接都是紫色的,我很茫然。谢谢!
ios - MPMediaPickerController didPickMediaItems 返回 MPModelObjectMediaItem
我有一个超级奇怪的问题。我正在使用 iOS13MPMediaPickerController
从用户苹果音乐库中获取一些歌曲,以便通过[MPMusicPlayerController applicationMusicPlayer]
.
现在,我已将一些播放列表中的一些未下载歌曲添加到我的库中,委托功能
返回
MPModelObjectMediaItem
玩家无法播放的类型的对象。(我也不能转换为那种类型,因为它是未知的。也没有这种类型的文档。它似乎是媒体播放器框架内的一个私有类。)
我期待MPConcreteMediaItem
所有下载的类型(以及不在播放列表中的所有其他云项目)
选择器是这样配置的
有什么提示吗?
ios - iOS 13.4 中的 MPMusicPlayerController.applicationQueuePlayer 错误
我已经在反馈助手中提交了关于此的反馈,但我想我也会在这里发布——从 iOS 13.4 开始,我注意到 MediaPlayer 框架中的各种错误,特别是 applicationQueuePlayer 和 applicationMusicPlayer。
第一个是在应用程序启动时初始化,它现在抛出这个错误:
[SDKPlayback] applicationQueuePlayer _establishConnectionIfNeeded timeout [ping did not pong]
当调用 prepareToPlay() 时,该错误之后是这个错误:
Error Domain=MPMusicPlayerControllerErrorDomain Code=6 "Failed to prepare to play" UserInfo={NSDebugDescription=Failed to prepare to play}
最终,在调用 prepareToPlay 足够的时间后,它会直接开始播放内容,但即便如此,我发现我必须多次调用 play() 或 pause() 才能可靠地执行此操作。
在 13.4 之后的应用程序中还有其他人看到这个吗?
ios - Apple Music Api SkiptoNextItem 不工作
试图跳到队列中的下一个项目,但是当调用 applicationMusicPlayer.skipToNextItem() 时,队列中的位置没有改变,当前曲目只是重新开始。队列由字符串项 ID 数组组成。
这是用于跳到队列中下一项的代码
ios - 在 Swift iOS MPMediaPlayer 应用程序中切换播放列表和设置计时器时出现问题
我正在构建一个音乐播放器应用程序,旨在模仿广播或互联网流媒体自动化。我已经成功地从播放列表中提取音乐并按最后播放日期进行过滤,因此歌曲不会经常重复(我的 iPod 的一个小问题)。我希望它安排每一刻钟从单独的播放列表播放短站 ID,然后返回当前播放列表或切换到新播放列表。我遇到的障碍是让一个重复计时器等到一首歌结束后再播放一个 ID,并在切换回音乐之前只播放一个 ID。通知观察者……</p>
…触发计时器…</p>
…运行这个函数:
从 Voicers 播放列表中选择的媒体查询…</p>
…不仅在计时器关闭而不是使用“…NowPlayingItemDidChange”通知时中断歌曲,而且在一次播放后继续播放而不是返回到底部列出的函数,因为我无法找到任何方法来隔离第一个项目语音集合数组。
swift - 使用音乐播放器控制器时未接收远程命令中心事件
我正在尝试从远程命令中心接收关于何时点击播放/暂停按钮的通知,以便我可以适当地更新播放/暂停按钮的图像。但是,我没有收到有关何时按下播放命令/暂停命令的通知(即何时应该打印“轻按播放”或“轻按暂停”)。这是我第一次使用这个库,所以我跟着 Apples 文档,它说要使用 applicationMusicPlayer 或 applicationQueuePlayer 来实现一个音乐控制器来接收这些事件,但到目前为止我还不能。我不知道除了将其设置为 applicationQueuePlayer 之外是否还有其他需要做的事情。
这是我的代码,用于产生这种情况的非常简单的音乐播放器控制器:
swift - 在 Mac Catalyst 音乐播放器中未更新歌曲时间的 UILabels 和 UISlider
我最近构建了一个简单的音乐应用程序,它在我停用的 iPhone 上运行良好。此后我购买了一台 Mac mini,因此我可以使用 Mac Catalyst 在该平台上本地运行它。到目前为止,它已经适应得很好,但是我被 UILabels 和 UISlider 阻碍,因为经过的和剩余的播放时间没有更新。我在这里研究了上周的问题,但还没有解决方案。这些包括在视图控制器激活时调用字符串变量以及在主线程上更新标签。
我调用了一个计时器viewDidLoad
:
tick 函数显示一个时钟标签,显示当前时间:
它还控制已用时间和剩余时间的两个标签以及一个时间滑块:
标签和滑块是您的标准插座:
我看到该功能正常工作,因为时钟忠实地计算秒数,并且当我插入断点时所有变量都包含数据,但标签和滑块仅在我的应用程序启动时显示音乐应用程序中正在进行的播放时间,仅此而已。滑块在操作时会跳转到歌曲中的不同点,但之后不会更新。所以我的问题是:是什么阻止了 Mac Catalyst 中的这些更新操作?
android - 如何在布局中设置媒体播放控制器?
如何在布局中设置媒体播放控制器?
当我滑动recycleview时,媒体播放控制器无法保持布局,如何设置?