如何在后台启用iPod控件来控制iOS 4中的非iPod音乐?

Max*_*Max 22 iphone audio ipod mpmusicplayercontroller ios4

我想要完成的一个很好的例子是在最新版本的Spotify iPhone应用程序中实现的(Pandora似乎具有相同的功能).

当Spotify在后台时,双击可打开"多任务停靠",其中ipod控件(播放/暂停,转发等)允许控制Spotify(不是ipod应用程序)的音乐播放.此外,当iphone/ipod touch被锁定时,双击会显示类似的播放控件.

如果你不知道我的意思,这里有一篇截图的文章:http: //www.wired.com/gadgetlab/2010/07/spotify-updated-for-ios4-ready-to-replace-ipod/

在我目前的应用程序中,音乐是从服务器流式传输的(使用Matt Gallagher的AudioStreamer).我设法让音乐在后台播放.现在,我想将我的播放链接到"多任务停靠"/锁定屏幕.

我应该用[MPMusicPlayerController iPodMusicPlayer]吗?我该怎么办?

额外的问题:如果你能告诉我如何在"多任务停靠"中将ipod图标更改为我的应用程序图标(Spotify也提取了这个技巧......),这真是太棒了.

任何帮助表示感谢,谢谢.

Max*_*Max 31

问题解决了.

简而言之,要启用远程控制事件,1)使用:

- (void)remoteControlReceivedWithEvent:(UIEvent *)theEvent

2)把这是你的视图控制器:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self becomeFirstResponder];
}
- (BOOL)canBecomeFirstResponder {
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

我必须赞扬格兰特.他已经分配了Matt Gallagher的AudioStreamer,支持所有ios4改进(背景音频和遥控器工作).您可以在github上找到他的资源以及一个工作示例:http://github.com/DigitalDJ/AudioStreamer

关于图标:一旦使用beginReceivingRemoteControlEvents,图标会自动切换到您的应用程序图标.太棒了!

  • 谢谢!但是,你忘记了什么.即使我调整了我的代码(添加了remoteControlReceivedWithEvent和viewDidAppear中的内容),按下ipod控件中的上一个/播放/暂停/下一个按钮也没有任何反应.缺少的是,我需要这个方法: - (BOOL)canBecomeFirstResponder {return YES; } (2认同)