我正在为广播流应用程序实现MPRemoteCommandCenter
。它会在锁定屏幕的情况下播放音频,并在显示带有音量控件的UI时显示暂停按钮。
一旦我按下暂停按钮,音频就会停止并且整个音频控件UI都消失了,因此我无法按您期望的那样通过按播放按钮来取消暂停音频播放。
按下暂停按钮将调用pauseEvent
方法。见下文。
有人能给我一些有关我哪里出问题的提示吗?
这是我的代码:
- (id) init
{
if (self = [super init])
{
_streaming = NO;
_rcc = [MPRemoteCommandCenter sharedCommandCenter];
MPRemoteCommand *pauseCommand = [_rcc pauseCommand];
[pauseCommand setEnabled:YES];
[pauseCommand addTarget:self action:@selector(pauseEvent)];
MPRemoteCommand *playCommand = [_rcc playCommand];
[playCommand setEnabled:YES];
[playCommand addTarget:self action:@selector(playEvent)];
}
return self;
}
-(void) pauseEvent
{
[_rcc.playCommand setEnabled:YES];
[_rcc.pauseCommand setEnabled:NO];
[self.player pause];
_streaming = NO;
}
-(void) playEvent
{
[self.player play];
[_rcc.playCommand setEnabled:NO];
[_rcc.pauseCommand setEnabled:YES];
_streaming = YES;
}
最佳答案
出于某种原因,只修复了此问题,如果您没有将任何信息设置为MPNowPlayingInfoCenter
,那只是发生在我身上,我添加了一个随机标题,现在控件保留在屏幕上。
这种行为很奇怪,但也可以理解,如果遥控器上什么也没有显示,我可以认为可以将其关闭。