我需要在我的一个 TVOS 应用程序中实现 VLC 库,我目前拥有的是:
import SwiftUI
import TVVLCKit
struct VlcPlayerDemo: UIViewRepresentable{
func updateUIView(_ uiView: UIView, context: UIViewRepresentableContext<VlcPlayerDemo>) {
}
func makeUIView(context: Context) -> UIView {
return PlayerUIView(frame: .zero)
}
}
class PlayerUIView: UIView, VLCMediaPlayerDelegate {
private let mediaPlayer = VLCMediaPlayer()
override init(frame: CGRect) {
super.init(frame: frame)
let url = URL(string: "URL")!
mediaPlayer.media = VLCMedia(url: url)
mediaPlayer.delegate = self
mediaPlayer.drawable = self
mediaPlayer.play()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
super.layoutSubviews()
}
}
这段代码可以正常工作并播放内容,但我需要全屏播放它,并且需要像 AVPlayer 一样控制暂停、播放和跟踪选择器。
最佳答案
您所要做的就是在 VLC 播放器的顶部添加一个 ZStack 层,并在那里添加您的信息和交互,
我在 github 上用 Apple-Tv 编写了一个完整的工作代码示例,其中包含 TVVLCKit 和 SwiftUI,演示了如何添加播放暂停和缩略图控件、元数据信息面板(作为占位符,您可以在那里填写任何您想要的内容)
https://github.com/shaybc/VLCTester
希望对你有帮助
关于swift - TVVLCKit 实现 SwiftUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65096328/