MPRemoteCommandCenter:按下暂停按钮后,用户界面消失

时间:2016-09-07 11:19:44

标签: ios objective-c

我正在为无线电流媒体应用实施MPRemoteCommandCenter。它可以在屏幕锁定时播放音频,并且音量控制器显示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;
}

3 个答案:

答案 0 :(得分:2)

刚刚解决了这个问题,出于某种原因,如果你没有向MPNowPlayingInfoCenter设置任何信息发生了什么,就在我身上,我添加了一个随机标题,现在控件仍然在屏幕上

这种行为很奇怪,但也可以理解,如果遥控器没有任何东西可以显示,我可以认为可以解雇它们。

答案 1 :(得分:0)

您描述的行为与"暂停" self.player中的方法没有返回。你有断点检查过吗?我没有看到关于self.player的任何信息,它是什么类?

答案 2 :(得分:0)

这是默认行为。请在iPhone中检查默认音乐应用程序