Используйте кнопку для воспроизведения видео в Xcode 10 - PullRequest
0 голосов
/ 09 марта 2019

Если честно, я не совсем понимаю, что я делаю здесь, это код, который я пытался использовать для воспроизведения видео, которое он создает, но когда я нажимаю кнопку, я получаю предупреждение "sigabrt", и оно не работает.

вот код:

import UIKit

import AVKit

import AVFoundation

    class ViewController: UIViewController {


        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.

        }
        @IBAction func VideoPlayer(_ sender: Any) {


                guard let path = Bundle.main.path(forResource: "video", ofType:"mp4") else {
                    debugPrint("video.m4v not found")
                    return
                }
                let player = AVPlayer(url: URL(fileURLWithPath: path))
                let playerController = AVPlayerViewController()
                playerController.player = player
                present(playerController, animated: true) {
                    player.play()
                }
            }
        }


}

1 Ответ

0 голосов
/ 13 марта 2019

Попробуйте это.

import UIKit
import AVKit

class ViewController: UIViewController {

    var avPlayer: AVPlayer!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func VideoPlayer(_ sender: Any) {
          playVideo()
     }

    func playVideo() {

        let filepath: String? = Bundle.main.path(forResource: "videoplayback", ofType: "mp4")
        let fileURL = URL.init(fileURLWithPath: filepath!)

        avPlayer = AVPlayer(url: fileURL)
        let avPlayerController = AVPlayerViewController()
        avPlayerController.player = avPlayer
        avPlayerController.view.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height)

        // Turn on video controlls
        avPlayerController.showsPlaybackControls = true

        // play video
        avPlayerController.player?.play()
        self.view.addSubview(avPlayerController.view)
        self.addChild(avPlayerController)
    }
}
...