Swift命令中心播放控制抛出异常

时间:2017-01-25 08:40:08

标签: ios swift

我正在尝试从命令中心控制音频播放。当选择播放文件时,每次从文件列表触发segue时,视频都会播放一个新实例。

配置命令中心控件的代码存在于播放器视图的viewDidLoad函数中:

        let audioSession = AVAudioSession.sharedInstance();
        do {
            try audioSession.setCategory(AVAudioSessionCategoryPlayback);
            try AVAudioSession.sharedInstance().setActive(true);
        } catch {}

        UIApplication.shared.beginReceivingRemoteControlEvents();

        TableViewController.commandCenter = MPRemoteCommandCenter.shared();

        TableViewController.commandCenter!.togglePlayPauseCommand.isEnabled = true;
        TableViewController.commandCenter!.togglePlayPauseCommand.addTarget(self, action: #selector(TableViewController.playbacker!.TogglePlayPause))

我第一次进入播放器视图时,控制中心命令完全正常。当我选择另一个文件进行播放并重新创建视图时,会出现问题。然后我被提出以下例外:

  

由于未捕获的异常而终止应用   ' NSInvalidArgumentException',原因:' - [_ MPWeakInvocationTarget   TogglePlayPause]:无法识别的选择器发送到实例0x170032340'

我尝试将MPRemoteCommandCenter变量设为静态,播放器视图引用为静态,但结果是相同的。

有人可以告诉我为什么这不起作用吗?

0 个答案:

没有答案