0

我有代码回调:

commandCenter.changePlaybackPositionCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in

        self.player.currentTime = ???
        self.setupNowPlaying(img: self.image)
        return .success
    }

它被调用。但是我如何设置它应该开始播放的实际时间。该事件似乎没有给我用户拖动到的时间。我如何获得该值?

4

3 回答 3

2

该事件似乎没有给我用户拖动到的时间

是的,它确实。有event一个positionTime.

于 2018-12-03T00:56:56.893 回答
1

将事件转换为 MPChangePlaybackPositionCommandEvent。

MPChangePlaybackPositionCommandEvent 有一个 positionTime 属性,即播放位置。

commandCenter.changePlaybackPositionCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in

    if let changePlaybackPositionCommandEvent = event as? MPChangePlaybackPositionCommandEvent
    {
        let positionTime = changePlaybackPositionCommandEvent.positionTime      
        self.player.currentTime = positionTime   
        return .success
    }
}
于 2020-03-24T16:01:07.387 回答
0

如上所示,对于所有事件,您必须将其转换为与命令匹配的事件类型,然后您将获得值。在将事件转换为 MPChangePlaybackPositionCommandEvent 后,您从 event.positionTime 获取时间跳过的另一个示例是 let event = event作为!MPSkipIntervalCommandEvent

于 2020-06-23T14:16:58.777 回答