【发布时间】:2017-08-11 12:25:32
【问题描述】:
在我的应用程序中,如果任何其他应用程序已经在播放音乐,我想控制stop/play、skipToNext 和goToPrevious 歌曲。类似于控制中心已经做的事情,但我希望这些按钮在我的应用程序中可用。
我看到MPMusicPlayerController 允许 Apple Music 应用使用 skipToPreviousItem()、skipToBeginning()、skipToNextItem()。但我正在寻找一种适用于任何其他应用程序(SoundCloud、Spotify、Deezer 等)的解决方案,就像控制中心一样。
有什么方法可以控制在我的应用内播放的其他应用音乐吗?
【问题讨论】:
-
一句话,没有。沙盒会阻止您直接访问不在您的应用组中的应用。现在,如果所说的应用程序有一个 API....
-
我知道沙盒。但是播放音乐使用共享资源,并且在系统级别上有一些支持。例如,我可以使用
AVAudioSession.sharedInstance().isOtherAudioPlaying来检查是否有任何播放。如果您从屏幕底部向上滑动,我希望能在控制中心看到类似下一个/停止/上一个的内容。 -
请记住,您提到的所有内容(
MPMusicPlayerController、AVAudioSession、“Apple Music”和“控制中心”)都来自 Apple - 谁使您正在编程的操作系统。这符合我对“展示我”的个人测试 - 向我展示另一个可以做你想做的事情的应用程序。除非这些第三方应用程序在 iOS 沙盒的约束下工作,向你开放他们的沙盒——深度链接、API 等等——我认为你无法做到这一点。
标签: ios swift avfoundation