mirror of
https://github.com/cranci1/Sora.git
synced 2026-04-21 00:22:12 +00:00
yeah idk again
This commit is contained in:
parent
76e2b3ed3b
commit
390b78062c
1 changed files with 34 additions and 40 deletions
|
|
@ -174,6 +174,19 @@ class VideoPlayerViewController: UIViewController {
|
||||||
}
|
}
|
||||||
|
|
||||||
private func setupNowPlaying() {
|
private func setupNowPlaying() {
|
||||||
|
var nowPlayingInfo: [String: Any] = [
|
||||||
|
MPMediaItemPropertyTitle: mediaTitle,
|
||||||
|
MPMediaItemPropertyArtist: "Episode \(episodeNumber)",
|
||||||
|
MPNowPlayingInfoPropertyPlaybackRate: player?.rate ?? 1.0
|
||||||
|
]
|
||||||
|
|
||||||
|
if let player = player, let currentItem = player.currentItem {
|
||||||
|
nowPlayingInfo[MPNowPlayingInfoPropertyElapsedPlaybackTime] = currentItem.currentTime().seconds
|
||||||
|
nowPlayingInfo[MPMediaItemPropertyPlaybackDuration] = currentItem.duration.seconds
|
||||||
|
}
|
||||||
|
|
||||||
|
MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo
|
||||||
|
|
||||||
if let imageUrl = URL(string: episodeImageUrl) {
|
if let imageUrl = URL(string: episodeImageUrl) {
|
||||||
URLSession.custom.dataTask(with: imageUrl) { [weak self] data, _, _ in
|
URLSession.custom.dataTask(with: imageUrl) { [weak self] data, _, _ in
|
||||||
guard let self = self,
|
guard let self = self,
|
||||||
|
|
@ -184,43 +197,36 @@ class VideoPlayerViewController: UIViewController {
|
||||||
self.currentArtwork = MPMediaItemArtwork(boundsSize: image.size) { _ in
|
self.currentArtwork = MPMediaItemArtwork(boundsSize: image.size) { _ in
|
||||||
return image
|
return image
|
||||||
}
|
}
|
||||||
|
self.updateNowPlayingInfo()
|
||||||
var nowPlayingInfo: [String: Any] = [
|
|
||||||
MPMediaItemPropertyTitle: self.mediaTitle,
|
|
||||||
MPMediaItemPropertyArtist: "Episode \(self.episodeNumber)",
|
|
||||||
MPMediaItemPropertyArtwork: self.currentArtwork as Any,
|
|
||||||
MPNowPlayingInfoPropertyPlaybackRate: self.player?.rate ?? 1.0
|
|
||||||
]
|
|
||||||
|
|
||||||
if let player = self.player, let currentItem = player.currentItem {
|
|
||||||
nowPlayingInfo[MPNowPlayingInfoPropertyElapsedPlaybackTime] = currentItem.currentTime().seconds
|
|
||||||
nowPlayingInfo[MPMediaItemPropertyPlaybackDuration] = currentItem.duration.seconds
|
|
||||||
}
|
|
||||||
|
|
||||||
MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo
|
|
||||||
}
|
}
|
||||||
}.resume()
|
}.resume()
|
||||||
} else {
|
|
||||||
var nowPlayingInfo: [String: Any] = [
|
|
||||||
MPMediaItemPropertyTitle: mediaTitle,
|
|
||||||
MPMediaItemPropertyArtist: "Episode \(episodeNumber)",
|
|
||||||
MPNowPlayingInfoPropertyPlaybackRate: player?.rate ?? 1.0
|
|
||||||
]
|
|
||||||
|
|
||||||
if let player = player, let currentItem = player.currentItem {
|
|
||||||
nowPlayingInfo[MPNowPlayingInfoPropertyElapsedPlaybackTime] = currentItem.currentTime().seconds
|
|
||||||
nowPlayingInfo[MPMediaItemPropertyPlaybackDuration] = currentItem.duration.seconds
|
|
||||||
}
|
|
||||||
|
|
||||||
MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let interval = CMTime(seconds: 1.0, preferredTimescale: CMTimeScale(NSEC_PER_SEC))
|
let interval = CMTime(seconds: 0.5, preferredTimescale: CMTimeScale(NSEC_PER_SEC))
|
||||||
player?.addPeriodicTimeObserver(forInterval: interval, queue: .main) { [weak self] _ in
|
player?.addPeriodicTimeObserver(forInterval: interval, queue: .main) { [weak self] _ in
|
||||||
self?.updateNowPlayingInfo()
|
self?.updateNowPlayingInfo()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func updateNowPlayingInfo() {
|
||||||
|
guard let player = player,
|
||||||
|
let currentItem = player.currentItem else { return }
|
||||||
|
|
||||||
|
var nowPlayingInfo: [String: Any] = [
|
||||||
|
MPMediaItemPropertyTitle: mediaTitle,
|
||||||
|
MPMediaItemPropertyArtist: "Episode \(episodeNumber)",
|
||||||
|
MPNowPlayingInfoPropertyElapsedPlaybackTime: currentItem.currentTime().seconds,
|
||||||
|
MPMediaItemPropertyPlaybackDuration: currentItem.duration.seconds,
|
||||||
|
MPNowPlayingInfoPropertyPlaybackRate: player.rate
|
||||||
|
]
|
||||||
|
|
||||||
|
if let artwork = currentArtwork {
|
||||||
|
nowPlayingInfo[MPMediaItemPropertyArtwork] = artwork
|
||||||
|
}
|
||||||
|
|
||||||
|
MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo
|
||||||
|
}
|
||||||
|
|
||||||
private func setupRemoteTransportControls() {
|
private func setupRemoteTransportControls() {
|
||||||
let commandCenter = MPRemoteCommandCenter.shared()
|
let commandCenter = MPRemoteCommandCenter.shared()
|
||||||
|
|
||||||
|
|
@ -319,18 +325,6 @@ class VideoPlayerViewController: UIViewController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateNowPlayingInfo() {
|
|
||||||
guard let player = player,
|
|
||||||
let currentItem = player.currentItem else { return }
|
|
||||||
|
|
||||||
var nowPlayingInfo = MPNowPlayingInfoCenter.default().nowPlayingInfo ?? [:]
|
|
||||||
nowPlayingInfo[MPNowPlayingInfoPropertyElapsedPlaybackTime] = currentItem.currentTime().seconds
|
|
||||||
nowPlayingInfo[MPMediaItemPropertyPlaybackDuration] = currentItem.duration.seconds
|
|
||||||
nowPlayingInfo[MPNowPlayingInfoPropertyPlaybackRate] = player.rate
|
|
||||||
|
|
||||||
MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo
|
|
||||||
}
|
|
||||||
|
|
||||||
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
|
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
|
||||||
if UserDefaults.standard.bool(forKey: "alwaysLandscape") {
|
if UserDefaults.standard.bool(forKey: "alwaysLandscape") {
|
||||||
return .landscape
|
return .landscape
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue