【发布时间】:2011-03-28 06:03:46
【问题描述】:
我目前正在尝试为我正在为 iOS 4 开发的应用程序设置背景音频。但是,该应用程序没有专用的音乐播放器 viewController,但与 Pandora 等其他背景音频应用程序不同,使任务更加混乱。
我已经正确设置了适当的Info.plist 设置,并且在我的应用程序委托中有一个AVAudioPlayer 对象,可以从任何地方访问。当用户播放歌曲时,我将AVAudioPlayer 替换为用歌曲初始化的新歌曲并播放。这一切都很好,除了现在我不知道如何支持远程控制事件。
根据 Apple 的文档,我有这个:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
[self resignFirstResponder];
}
- (BOOL)canBecomeFirstResponder {
return YES;
}
- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
switch(event.subtype) {
case UIEventSubtypeRemoteControlTogglePlayPause:
if([iPhoneAppDelegate backgroundAudioPlayer].playing)
[iPhoneAppDelegate pauseBackgroundAudioPlayer];
else
[iPhoneAppDelegate playBackgroundAudioPlayer];
break;
}
}
问题是,我把这个放在哪里? Apple 的文档似乎建议这应该放在某个视图控制器中,但我的应用程序有很多视图控制器和导航控制器。无论我试图把它放在哪里,由于某种原因,点击多任务托盘遥控器中的切换播放/暂停按钮要么导致歌曲暂停片刻然后取消暂停,要么以某种方式导致歌曲播放两次。
【问题讨论】:
-
你如何更改多任务栏中的播放/停止按钮?!
标签: iphone audio ios4 avfoundation