MPRemoteCommandCenter watch 和 if play run 命令

问题描述

我正在制作我的 Apple CarPlay 应用程序,我的列表项需要查看媒体播放器是否正在播放。

因为我需要展示旋转轮直到媒体播放器开始播放。

我知道我需要访问 MPRemoteCommandCenter 并执行以下操作:

 let commandCenter = MPRemoteCommandCenter.shared()

    // Add handler for Play Command
    commandCenter.playCommand.addTarget { [unowned self] event in
        if self.player?.rate == 0.0 {
            self.player?.play()
            return .success
        }
        return .commandFailed
    }

    // Add handler for Pause Command
    commandCenter.pauseCommand.addTarget { [unowned self] event in
        if self.player?.rate == 1.0 {
            self.player?.pause()
            return .success
        }
        return .commandFailed
    }

但是,因为我已经有了媒体播放器 (mediaplayer.swift),所以我想我可以观看它。

我尝试做一个 if 语句,但是没有用。

if MusicPlayer.shared.player?.rate == 1.0 {
completion()
}

然而,它不会等到媒体播放器正在播放时才运行它,而是对其进行检查,如果在检查时它正在播放,它将完成,否则它将继续旋转。

我知道有一种方法可以做到这一点。我的想法是我需要制作一个可以观看媒体播放器的功能吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)