Событие изменения видимости элемента управления AVPlayer?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Событие изменения видимости элемента управления AVPlayer?

Сообщение Anonymous »

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

import SwiftUI
import AVKit

struct VideoPlayerView: View {
let videoURL: URL

@State private var player: AVPlayer?
// how to set it true/false based on AVPlayer controls visiblity?
@State private var controlsAreVisible = true
@State private var title = ""

var body: some View {
VStack {
if let player = player {
VideoPlayer(player: player)
.onAppear {
player.play()
}
.onDisappear {
player.pause()
}
} else {
Text("Failed to load video")
}
}
.onAppear {
player = AVPlayer(url: videoURL)
}
.onDisappear {
player = nil
}
.navigationBarBackButtonHidden(!controlsAreVisible)
.navigationBarHidden(true)
.navigationBarTitle(title, displayMode: .inline)
.statusBar(hidden: true)
.edgesIgnoringSafeArea(.all)
.onChange(of: controlsAreVisible) { newValue in
if (newValue) {
title = videoURL.lastPathComponent
} else {
title = ""
}
}
}
}
Поэтому экран видеоплеера должен быть полноэкранным. Выход из этого экрана на предыдущий экран приложения не является проблемой для новых iPhone с навигацией с помощью жестов, но для старых iPhone, таких как 6s/7, такой возможности нет. у меня нет, поэтому все равно нужно показывать кнопку возврата на панель, по крайней мере, когда элементы управления AVPlayer видны, но как определить, видны они или нет?

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

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

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

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

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

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

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