Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios MPRemoteCommandCenter事件处理程序从未触发_Ios_Iphone_Audio_Mpmusicplayercontroller_Remote Control - Fatal编程技术网

Ios MPRemoteCommandCenter事件处理程序从未触发

Ios MPRemoteCommandCenter事件处理程序从未触发,ios,iphone,audio,mpmusicplayercontroller,remote-control,Ios,Iphone,Audio,Mpmusicplayercontroller,Remote Control,我正在制作一款iPhone音乐应用程序,它可以处理音乐播放和暂停,并维护自己的播放列表。我正在尝试让耳塞上的播放/暂停遥控功能和向上滑动屏幕在我的应用程序中播放音乐 这是我在初始化方法中输入的与音乐播放器相关的代码,音乐播放器是MPMusicLayerController的一个实例,我确信通过调试调用了这段代码,我将在代码之后讨论我面临的问题: [self.musicController beginGeneratingPlaybackNotifications]; // listen to r

我正在制作一款iPhone音乐应用程序,它可以处理音乐播放和暂停,并维护自己的播放列表。我正在尝试让耳塞上的播放/暂停遥控功能和向上滑动屏幕在我的应用程序中播放音乐

这是我在初始化方法中输入的与音乐播放器相关的代码,音乐播放器是MPMusicLayerController的一个实例,我确信通过调试调用了这段代码,我将在代码之后讨论我面临的问题:

[self.musicController beginGeneratingPlaybackNotifications];

// listen to remote control events
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];    

if ([self canBecomeFirstResponder]) {
    NSLog(@"Can be first responder");
    [self becomeFirstResponder];
    NSLog([NSString stringWithFormat: @"is first responder now? %@", [self isFirstResponder] ? @"yes" : @"no"]);
} else {
    NSLog(@"Cannot be first responder");
}

MPRemoteCommandCenter *commandCenter = [MPRemoteCommandCenter sharedCommandCenter];

[commandCenter.togglePlayPauseCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent *event) {
    NSLog(@"TK: toggle command");
    return nil;
}];

[commandCenter.playCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent *event) {
    NSLog(@"TK: play command");
    return nil;
}];

[commandCenter.pauseCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent *event) {
    NSLog(@"TK: pause command");
    return nil;
}];
我的问题:添加上述代码后,当我在应用程序中播放音乐时按下向上滑动屏幕上的播放/暂停按钮时,日志中没有显示调试消息,这意味着事件处理程序块没有被触发

当音乐在我的应用程序中播放时,当我按下苹果耳塞上的播放/暂停按钮时,系统开始在我的iOS音乐库中播放随机音乐,它播放的歌曲不会出现在我的应用程序的播放列表中,这意味着除了执行上述步骤外,没有合法的方法从我的应用程序播放这首歌曲


注意:日志的输出为不能成为第一响应者。

您应该启用view controller成为第一响应者

-布尔坎贝尔急救员{ 返回true; }