TVVLCKit 实现 SwiftUI

TVVLCKit Implementation SwiftUI

我需要在我的一个 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 上用 TVVLCKit 和 SwiftUI 从 Apple-Tv 编写了一个完整的工作代码示例,演示了如何添加播放暂停和缩略图控件、元数据信息面板(作为占位符,您可以在那里填写你想要的任何东西)

https://github.com/shaybc/VLCTester

希望这对您有所帮助