Add iOS 27 remote media session and system player extension
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import Foundation
|
||||
import NowPlaying
|
||||
|
||||
@available(iOS 27.0, *)
|
||||
struct SystemPlayerAttributes: RemoteMediaSessionAttributes {
|
||||
let id: String
|
||||
var title: String
|
||||
var artist: String
|
||||
var source: String
|
||||
var artworkID: String?
|
||||
var playing: Bool
|
||||
var rate: Double
|
||||
var position: Double
|
||||
var duration: Double
|
||||
var timestamp: Date
|
||||
var capabilities: Capabilities
|
||||
var volume: Double?
|
||||
var hasSession: Bool
|
||||
|
||||
init(id: String, state: MediaState, now: Date = Date()) {
|
||||
self.id = id
|
||||
title = String(state.title.prefix(256)); artist = String(state.artist.prefix(256))
|
||||
source = String(state.source.prefix(128)); artworkID = state.artworkId
|
||||
playing = state.playbackStatus == "Playing"; rate = state.playbackRate
|
||||
position = max(0, state.position(elapsed: 0) - state.startSeconds)
|
||||
duration = max(0, state.endSeconds - state.startSeconds)
|
||||
timestamp = now; capabilities = state.capabilities; volume = state.volume; hasSession = state.hasSession
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user