Swiftui Macos AvPlayer не будет воспроизводить видео CDN после увольнения и повторного открытия представленияIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Swiftui Macos AvPlayer не будет воспроизводить видео CDN после увольнения и повторного открытия представления

Сообщение Anonymous »

Я строю приложение MacOS в Swiftui (нацеливание на MacOS 12.0), и я пытаюсь воспроизвести видео по ссылке CDN с помощью AvPlayer. Видео играет нормально в первый раз, но когда пользователь закрывает (отклоняет) лист и открывает его снова, видео больше не воспроизводит. Лист. Видео не воспроизводит снова. < /p>
Если пользователь отклоняет видео до его завершения, видео работает нормально в следующий раз. .onapear < /li>
Проверенная ссылка CDN доступна и не истекает < /li>
< /ul>

Код: Выделить всё

import SwiftUI
import AVKit

struct VideoSheet: View {
@State var videoURL: URL
@Environment(\.dismiss) var dismiss
@State private var player: AVPlayer?

var body: some View {
VStack(spacing: 0) {
Spacer()
HStack {
Spacer()
Button(action: {
dismiss()
}) {
Image("cancel")
.resizable()
.renderingMode(.template)
.foregroundStyle(Color("Heading"))
.frame(width: 20, height: 20)
}
.buttonStyle(.plain)
}
.padding([.top, .trailing], 8)

if let player = player {
MacVideoPlayer(player: player)
.cornerRadius(16)
.onAppear {
player.seek(to: .zero)
player.play()
}
.onDisappear {
player.pause()
player.seek(to: .zero)
}
} else {
ProgressView()
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
}
.frame(minWidth: 360, maxWidth: .infinity, minHeight: 640, maxHeight: .infinity)
.background(Color("Background"))
.onAppear {
player = AVPlayer(url: videoURL)
}
.onDisappear {
player?.pause()
player = nil
}
}
}

struct MacVideoPlayer: NSViewRepresentable {
let player: AVPlayer

func makeNSView(context: Context) -> AVPlayerView {
let view = AVPlayerView()
view.controlsStyle = .floating
view.player = player
return view
}

func updateNSView(_ nsView: AVPlayerView, context: Context) {
nsView.player = player
}
}
Вопрос:
Как я могу гарантировать, что видео CDN правильно воспроизводите каждый раз, когда лист открывается, даже после того, как видео завершено один раз?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... pening-the
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»