diff --git a/Shared/ViewModels/VideoPlayerManager/VideoPlayerManager.swift b/Shared/ViewModels/VideoPlayerManager/VideoPlayerManager.swift index ec337cdd..f405a513 100644 --- a/Shared/ViewModels/VideoPlayerManager/VideoPlayerManager.swift +++ b/Shared/ViewModels/VideoPlayerManager/VideoPlayerManager.swift @@ -6,10 +6,12 @@ // Copyright (c) 2024 Jellyfin & Jellyfin Contributors // +import AVFoundation import Combine import Defaults import Foundation import JellyfinAPI +import MediaPlayer import UIKit import VLCUI @@ -66,6 +68,14 @@ class VideoPlayerManager: ViewModel { private var currentProgressWorkItem: DispatchWorkItem? private var hasSentStart = false + private let commandCenter = MPRemoteCommandCenter.shared() + + override init() { + super.init() + + setupControlListeners() + } + func selectNextViewModel() { guard let nextViewModel else { return } currentViewModel = nextViewModel @@ -285,4 +295,18 @@ class VideoPlayerManager: ViewModel { logger.debug("sent progress task") } } + + func setupControlListeners() { + commandCenter.pauseCommand.addTarget { [weak self] _ in + self?.proxy.pause() + + return .success + } + + commandCenter.playCommand.addTarget { [weak self] _ in + self?.proxy.play() + + return .success + } + } }