mirror of
https://github.com/mpv-player/mpv
synced 2025-02-12 18:07:12 +00:00
parent
00efaeb428
commit
c56be84675
@ -31,7 +31,7 @@ extension RemoteCommandCenter {
|
|||||||
var state: UInt32 = 0
|
var state: UInt32 = 0
|
||||||
let handler: ConfigHandler
|
let handler: ConfigHandler
|
||||||
|
|
||||||
init(key: Int32, type: KeyType = .normal, handler: @escaping ConfigHandler = { event in return .commandFailed }) {
|
init(key: Int32 = 0, type: KeyType = .normal, handler: @escaping ConfigHandler = { event in return .commandFailed }) {
|
||||||
self.key = key
|
self.key = key
|
||||||
self.type = type
|
self.type = type
|
||||||
self.handler = handler
|
self.handler = handler
|
||||||
@ -70,6 +70,7 @@ class RemoteCommandCenter: NSObject {
|
|||||||
commandCenter.togglePlayPauseCommand: Config(key: MP_KEY_PLAY, handler: keyHandler),
|
commandCenter.togglePlayPauseCommand: Config(key: MP_KEY_PLAY, handler: keyHandler),
|
||||||
commandCenter.seekForwardCommand: Config(key: MP_KEY_FORWARD, type: .repeatable, handler: keyHandler),
|
commandCenter.seekForwardCommand: Config(key: MP_KEY_FORWARD, type: .repeatable, handler: keyHandler),
|
||||||
commandCenter.seekBackwardCommand: Config(key: MP_KEY_REWIND, type: .repeatable, handler: keyHandler),
|
commandCenter.seekBackwardCommand: Config(key: MP_KEY_REWIND, type: .repeatable, handler: keyHandler),
|
||||||
|
commandCenter.changePlaybackPositionCommand: Config(handler: seekHandler),
|
||||||
]
|
]
|
||||||
|
|
||||||
disabledCommands = [
|
disabledCommands = [
|
||||||
@ -78,7 +79,6 @@ class RemoteCommandCenter: NSObject {
|
|||||||
commandCenter.changeShuffleModeCommand,
|
commandCenter.changeShuffleModeCommand,
|
||||||
commandCenter.skipForwardCommand,
|
commandCenter.skipForwardCommand,
|
||||||
commandCenter.skipBackwardCommand,
|
commandCenter.skipBackwardCommand,
|
||||||
commandCenter.changePlaybackPositionCommand,
|
|
||||||
commandCenter.enableLanguageOptionCommand,
|
commandCenter.enableLanguageOptionCommand,
|
||||||
commandCenter.disableLanguageOptionCommand,
|
commandCenter.disableLanguageOptionCommand,
|
||||||
commandCenter.ratingCommand,
|
commandCenter.ratingCommand,
|
||||||
@ -166,6 +166,18 @@ class RemoteCommandCenter: NSObject {
|
|||||||
return .success
|
return .success
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lazy var seekHandler: ConfigHandler = { event in
|
||||||
|
guard let posEvent = event as? MPChangePlaybackPositionCommandEvent else {
|
||||||
|
return .commandFailed
|
||||||
|
}
|
||||||
|
|
||||||
|
let success = String(format: "seek %.02f absolute", posEvent.positionTime).withCString {
|
||||||
|
EventsResponder.sharedInstance().queueCommand(UnsafeMutablePointer<Int8>(mutating: $0))
|
||||||
|
}
|
||||||
|
|
||||||
|
return success ? .success : .commandFailed
|
||||||
|
}
|
||||||
|
|
||||||
@objc func processEvent(_ event: UnsafeMutablePointer<mpv_event>) {
|
@objc func processEvent(_ event: UnsafeMutablePointer<mpv_event>) {
|
||||||
switch event.pointee.event_id {
|
switch event.pointee.event_id {
|
||||||
case MPV_EVENT_PROPERTY_CHANGE:
|
case MPV_EVENT_PROPERTY_CHANGE:
|
||||||
|
Loading…
Reference in New Issue
Block a user