如何在后台启用iPod控件来控制iOS 4中的非iPod音乐?
我试图完成的一个很好的例子是在最新版本的Spotify iPhone应用程序中实现的(潘多拉似乎有相同的function)。
当Spotify在后台时,双击打开“多任务停靠”,ipod控制(播放/暂停,转发等)允许控制Spotify(而不是iPod应用程序)的音乐播放。 另外,当iPhone / iPod touch被locking时,双击会显示类似的播放控制。
如果你不知道我的意思,这里有一篇文章有截图 : http : //www.wired.com/gadgetlab/2010/07/spotify-updated-for-ios4-ready-to-replace-ipod/
在我目前的应用程序中,音乐是从服务器stream式传输的(使用Matt Gallagher的AudioStreamer)。 我已经设法保持音乐播放的背景。 现在,我想将我的回放链接到“多任务停靠”/locking屏幕。
我应该使用[MPMusicPlayerController iPodMusicPlayer]
? 我应该如何继续?
奖金的问题:如果你能告诉我如何改变我的应用程序图标在“多任务docker”(Spotify拉动这个技巧,以及…),这将是真棒。
任何帮助表示感谢,谢谢。
问题解决了。
总之,要启用远程控制事件,1)使用:
- (void)remoteControlReceivedWithEvent:(UIEvent *)theEvent
和2)把这个是你的视图控制器:
- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; [self becomeFirstResponder]; } - (BOOL)canBecomeFirstResponder { return YES; }
我必须赞扬格兰特。 他已经推出了Matt Gallagher的AudioStreamer,使所有的ios4改进(背景audio和遥控器工作)。 你可以在github上find他的源代码和一个工作示例: http : //github.com/DigitalDJ/AudioStreamer
关于图标:一旦你使用beginReceivingRemoteControlEvents
,图标自动切换到你的应用程序图标。 太棒了!
这里是文档:
但是请注意,只有在应用程序中有活动的audio会话时才能使用。
我用AVAudioSession
与AVAudioSessionCategoryPlayback
类别和AVAudioPlayer
和“远程控制”只有当我AVAudioSession
活动和AVAudioPlayer
对象创build工作。
如果您正在使用新的背景audioAPI,控件将会改变您的应用程序。 信息可以在这里find。 特别是关于背景audio的部分。