ViewController.swift 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // ViewController.swift
  2. // Tencent is pleased to support the open source community by making vap available.
  3. import UIKit
  4. import QGVAPlayer
  5. final class ViewController: UIViewController, LNVAPPlaybackDelegate {
  6. private let vapButton = UIButton()
  7. private var playerView: LNVAPPlayerView?
  8. override func viewDidLoad() {
  9. super.viewDidLoad()
  10. vapButton.frame = CGRect(x: 0, y: 100, width: view.frame.width, height: 90)
  11. vapButton.backgroundColor = .lightGray
  12. vapButton.setTitle("LN Swift API", for: .normal)
  13. vapButton.addTarget(self, action: #selector(playVap), for: .touchUpInside)
  14. view.addSubview(vapButton)
  15. }
  16. @objc private func playVap() {
  17. playerView?.removeFromSuperview()
  18. let player = LNVAPFacade.lnMakePlayerView(frame: view.bounds)
  19. player.center = view.center
  20. player.delegate = self
  21. player.enterBackgroundOperation = .stop
  22. player.lnSetMute(true)
  23. player.lnEnableOldVersion(true)
  24. player.lnAddTapGesture(target: self, action: #selector(onTap(_:)))
  25. view.addSubview(player)
  26. playerView = player
  27. let mp4Path = "\(Bundle.main.resourcePath ?? "")/Resource/vap.mp4"
  28. player.lnPlay(filePath: mp4Path, repeatCount: -1)
  29. }
  30. @objc private func onTap(_ gesture: UIGestureRecognizer) {
  31. playerView?.lnStop()
  32. gesture.view?.removeFromSuperview()
  33. }
  34. func lnPlayerDidStop(_ playerView: LNVAPPlayerView) {
  35. DispatchQueue.main.async {
  36. playerView.removeFromSuperview()
  37. }
  38. }
  39. }