Swift MPRemoteCommandCenter nextTrackCommand 被调用 3 次
Swift MPRemoteCommandCenter nextTrackCommand gets called 3 times
我正在使用 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
}
}
输出为:
下一个
下一个
下一个
但是我只按了一次按钮。我该怎么做才能只输出一次而不是 3 次?
问题可能是您多次调用 setupRemoteTransportControls
。每次这样做时,您都会调用 commandCenter.nextTrackCommand.addTarget
并设置一个新的 action-target 对(不删除现有的一对)。因此,当用户按下按钮时,所有这些对都会触发。
我正在使用 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
}
}
输出为: 下一个 下一个 下一个
但是我只按了一次按钮。我该怎么做才能只输出一次而不是 3 次?
问题可能是您多次调用 setupRemoteTransportControls
。每次这样做时,您都会调用 commandCenter.nextTrackCommand.addTarget
并设置一个新的 action-target 对(不删除现有的一对)。因此,当用户按下按钮时,所有这些对都会触发。