如何在Swift中以全屏模式打开VLC

5

我正在使用MobileVLCKit,这是我的代码:

class CameraViewController: UIViewController,VLCMediaPlayerDelegate{

  var mediaPlayer = VLCMediaPlayer()

  override func viewDidLoad() {
    super.viewDidLoad()

    mediaPlayer.delegate = self
    let url = NSURL(string: "URL HERE")
    mediaPlayer.media = VLCMedia(URL: url!)
  }
}  

我想让VLC全屏播放,并带有播放、暂停和计时器功能。
谢谢。

你好,你成功地在全屏模式下播放视频了吗? - Dania Delbani
这里也遇到了同样的问题,你有解决方案吗? - kemdo
2个回答

0

VLCKit不包括“全屏”功能。您需要将mediaPlayer的drawable设置为UIView,并自行处理视图处理。


0

*我从Videolan/VLC Kit找到了一个解决方案。

首先,我们需要安装VLC pods。

pod 'MobileVLCKit'

var mediaPlayer: VLCMediaPlayer = VLCMediaPlayer()

 func playDownload(url: URL)
 {
        self.movieView = UIView()
        self.movieView.backgroundColor = UIColor.gray
        self.movieView.frame = UIScreen.screens[0].bounds

        //Add tap gesture to movieView for play/pause
        let gesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.movieViewTapped(_:)))
        self.movieView.addGestureRecognizer(gesture)

        //Add movieView to view controller
        self.view.addSubview(self.movieView)
        let media = VLCMedia(url: url)
        mediaPlayer.media = media
        mediaPlayer.delegate = self
        mediaPlayer.drawable = movieView
        mediaPlayer.play()
 }

@objc func movieViewTapped(_ sender: UITapGestureRecognizer) {
    if mediaPlayer.isPlaying 
    {
      mediaPlayer.pause()
      let remaining = mediaPlayer.remainingTime
      let time = mediaPlayer.time
      print("Paused at \(time?.stringValue ?? "nil") with \(remaining?.stringValue ?? "nil") time remaining")
    } else {
      mediaPlayer.play()
      print("Playing")
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接