【问题标题】:MPRemoteCommandCenter : UI disappears after I press the pause buttonMPRemoteCommandCenter:按下暂停按钮后 UI 消失
【发布时间】:2016-09-27 13:48:18
【问题描述】:

我正在为一个广播流应用程序实现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;
}

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    刚刚解决了这个问题,出于某种原因,如果您没有为MPNowPlayingInfoCenter 设置任何信息,这就是发生的事情,只是发生在我身上,我添加了一个随机标题,现在控件仍保留在屏幕上。

    这种行为很奇怪,但也可以理解,如果遥控器没有什么可显示的,我可以认为可以关闭它们。

    【讨论】:

    • MPNowPlayingInfoCenter 没有标题。你能解释一下吗?
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2016-08-13
        • 1970-01-01
        • 1970-01-01
        • 2015-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多