Add iOS 27 remote media session and system player extension
This commit is contained in:
@@ -3,6 +3,7 @@ import SwiftUI
|
||||
struct ContentView: View {
|
||||
@ObservedObject var store: PlayerStore
|
||||
@ObservedObject var liveActivity: LiveActivityManager
|
||||
@ObservedObject var systemPlayer: SystemPlayerManager
|
||||
@State private var showForget = false
|
||||
|
||||
var body: some View {
|
||||
@@ -20,6 +21,23 @@ struct ContentView: View {
|
||||
} else {
|
||||
PlayerView(store: store, coverSize: min(280, max(120, min(viewport.size.width - 40, viewport.size.height * 0.30))))
|
||||
|
||||
if #available(iOS 27.0, *) {
|
||||
VStack(alignment: .leading, spacing: 10) {
|
||||
Button {
|
||||
if systemPlayer.running { systemPlayer.end() }
|
||||
else if let state = store.state, let connection = store.connection {
|
||||
Task { await systemPlayer.start(state: state, connection: connection) }
|
||||
}
|
||||
} label: {
|
||||
Label(systemPlayer.running ? "Выключить системный пульт" : "Включить системный пульт iOS", systemImage: "play.rectangle")
|
||||
}.disabled(systemPlayer.busy || (!systemPlayer.running && (!store.connected || store.state?.hasSession != true)))
|
||||
if systemPlayer.busy { ProgressView() }
|
||||
Text("Музыка ПК в Пункте управления. Звук остаётся на компьютере.")
|
||||
.font(.caption).foregroundStyle(.secondary)
|
||||
if let error = systemPlayer.error { Text(error).font(.caption).foregroundStyle(.red).textSelection(.enabled) }
|
||||
}.frame(maxWidth: .infinity, alignment: .leading).bridgeCard()
|
||||
}
|
||||
|
||||
VStack(alignment: .leading, spacing: 10) {
|
||||
Button {
|
||||
if liveActivity.running { liveActivity.end() }
|
||||
|
||||
Reference in New Issue
Block a user