gpt4 book ai didi

swift - TVVLCKit 实现 SwiftUI

转载 作者:行者123 更新时间:2023-12-04 17:22:54 28 4
gpt4 key购买 nike

我需要在我的一个 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 一样控制暂停、播放和跟踪选择器。

AVPlayer Example

最佳答案

您所要做的就是在 VLC 播放器的顶部添加一个 ZStack 层,并在那里添加您的信息和交互,

我在 github 上用 Apple-Tv 编写了一个完整的工作代码示例,其中包含 TVVLCKit 和 SwiftUI,演示了如何添加播放暂停和缩略图控件、元数据信息面板(作为占位符,您可以在那里填写任何您想要的内容)

https://github.com/shaybc/VLCTester

希望对你有帮助

关于swift - TVVLCKit 实现 SwiftUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65096328/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com