immersiveEnvironmentPicker(content:)
Add menu items to open immersive spaces from a media player’s environment picker.
Declaration
nonisolated func immersiveEnvironmentPicker<Content>(@ViewBuilder content: () -> Content) -> some View where Content : View
Discussion
These items are added alongside recently used system environments.
SystemPlayerView(player: player)
.immersiveEnvironmentPicker {
Button("Chalet", systemImage: "fireplace") {
Task {
await openImmersiveSpace(id: "Chalet")
}
}
}Use a UIViewControllerRepresentable instance to display a AVPlayerViewController class in your SwiftUI interface.
struct SystemPlayerView: UIViewControllerRepresentable {
let player: AVPlayer
func makeUIViewController(context: Context) -> AVPlayerViewController {
return AVPlayerViewController()
}
func updateUIViewController(_ avPlayerViewController: AVPlayerViewController, context: Context) {
viewController.player = player
}
}Items will be donated to media players (like AVPlayerViewController) downstream in the hierarchy.