9
|
Mark A. Donohoe · 技术社区 · 14 年前 |
1
16
哈!解决了的!我知道这是可能的!(谢谢) Async-games.com 支持!) 下面介绍如何在应用程序中播放iPod音乐,以及后台支持和应用程序接收遥控器通知。 你必须使用avplayer(而不是avaudioplayer)。不知道为什么!)使用从库选取器(或mpmusicPlayerController中的当前项或任何位置)获得的mpmediaitem的资源url初始化,然后将音频会话的类别设置为可播放(不要启用混合覆盖,否则将丢失远程事件!)并在info.plist文件中添加相应的键,告诉操作系统您的应用程序希望支持后台音频。 完成和完成! 这允许您播放iPod库中的项目(出于某种原因,audible.com文件除外!)在后台,仍然获取远程事件。既然这是你的音频播放器,它是分开的,并将中断iPod应用程序,你必须做更多的工作,但那些是休息! 该死的…我只是希望它能和audible.com文件一起工作。(对于感兴趣的人,原因是声音文件的资产URL返回零。臭!但你能做什么!) |
2
2
这可能对这个操作不再有任何用处,但因为它可能是人们通过谷歌搜索找到这个页面,我无论如何都会发布它。 如果您只对音乐遥控器事件感兴趣,并且仍然希望能够播放audible.com文件,那么您可以使用另一种(但相当难看)方法… 只需继续使用mpmusicplayer并跟踪其通知(现在正在播放,状态已更改)。要在后台继续接收这些通知,您可以在不同的地方执行“后台线程魔法”以防止应用程序被挂起。您不会直接接收遥控器(因为iPod播放器正在接收遥控器),但通过跟踪“正在播放”中的更改,可以推断ControlPreviousTrack和ControlNextTrack事件,并通过跟踪PlayBackState,可以推断TogglePlayPause命令。 缺点是,你的应用程序将一直运行,没有任何好的理由(不过,公平地说,如果iOS编程正确,后台线程什么都不做应该消耗几乎没有电池)。 另一种选择:使用mpmovieplayer?我已经检查过它在后台工作正常,并且应该接收远程控制事件。它可以本地播放mpmediaitem,所以希望也能播放audible.com文件… |
3
0
这是不可能的。如果用户iPod应用程序正在播放iPod选项,则所有远程事件都将转到iPod,而不是您的应用程序。 |
4
0
我注意到mpmediaitempropertyAssetURL的一点是,虽然返回的对象在nsurl中,但绝对字符串是这样的: iPod库://item/item.mp3?ID=580807975475997900 这不是虚拟玩家想要的。avaudioplayer需要的是从具有有效文件路径的文件创建的nsurl对象。 我不知道如何从mpmediaitem获取文件路径。所以我想如果你想在不使用mpmusicplayer的情况下播放ipod曲目,那么avplayer可能是一个不错的选择。 |
WkWk · Apple Watch动作通知不起作用 2 年前 |
Otavio Miguel · 在手机中保留我自己未发布的ios应用 2 年前 |
Nico Passaglia · 移动键盘向上移动站点 6 年前 |