繁体   English   中英

iPhone - 我的应用程序的音频播放器是什么?

[英]iPhone - What's the right audio player for my app?

我正在设计一个音乐应用程序,播放用户的iPhone音乐库中的音乐,我在确定哪个音频播放器是正确的音频播放器(AVAudioPlayer,AVPlayer或MPMusicPlayer)时遇到了问题。

我的应用需要执行以下操作:

  • 播放iPhone音乐库中的音乐
  • 与设备/系统音量分开控制应用音乐音量
  • 当应用移动到后台时继续播放应用音乐
  • 当歌曲改变为下一首歌曲或结束时捕捉事件

从我的研究看来,上面提到的三个音频播放器中的每一个都可以完成我的应用程序所需的一些任务,但是没有一个能完成所有这些任务。 AVPlayer似乎最接近,除了它的音量取决于设备/系统音量。

有没有人有任何建议或解决方法来实现这一目标? 我已经相当长时间地嘲笑我的大脑了,所以任何帮助都会受到赞赏。

编辑

当通过+ applicationMusicPlayer获取它的实例时,MPMusicPlayerController类实际上不支持播放背景音频。 那么,最好的选择就是使用MPMusicPlayer来查询iPod音乐库。 一旦用户选择了一首歌曲,就可以查询生成的MPMediaItem的资产URL并将其输入AVPlayer的+playerWithURL ,让您完全控制播放参数。

-

我推荐MPMusicPlayerController。

  1. MPMusicPlayerController处理在iTunes资料库中播放音频文件的低级细节。
  2. 您可以使用类方法-applicationMusicPlayer来获取iPod单例的本地副本; 从那里,您可以通过为您的应用程序设置其volume属性来控制其音量。
  3. 我假设MPMusicPlayerController已经内置了后台音频支持。如果没有,您可以更改应用程序的音频会话上下文以使其工作(请参阅http://www.sagorin.org/2011/11/中 Playing background audio 29 / ios-playing-audio-in-background-audio /
  4. 您可以设置您选择的任何对象,使其成为特定MPMusicPlayerController应用程序的MPMusicPlayerController对象的KVO观察者。 这样,只要nowPlayingItem属性发生更改,就会收到通知。

希望这个高级描述足够了。 如果您需要进一步澄清,请与我们联系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM