0

我正在使用 MPRemoteCommandCenter 更改我的音乐广播应用程序中的歌曲。但是,当我从锁定屏幕按下下一曲目按钮时,它会跳出 3 步。

这是我的代码:

func setupRemoteTransportControls() {
        let commandCenter = MPRemoteCommandCenter.shared()

        commandCenter.nextTrackCommand.addTarget { [unowned self]     event in
        print("Next")
        self.stationIndex = (self.stationIndex+1)
        self.currentStation = self.stations[self.stationIndex]
            return .success
        }
}

输出为: Next Next Next

但我只按了一次按钮。我该怎么做才能只输出一次 3 次?

4

1 回答 1

3

问题很可能是您setupRemoteTransportControls多次调用。每次您这样做时,您都会调用commandCenter.nextTrackCommand.addTarget并设置一个新的操作-目标对(不删除现有的)。因此,当用户按下按钮时,所有这些对都会触发。

于 2019-07-21T21:12:13.070 回答