将视频从网址加载到视图中会出现问题

问题描述 投票:0回答:1

所以我正在将当前代码从UIWebView中的实时源加载到UIView它自己的意图是为了向视频体验转移Twitch / ESPN,我能够从URL加载视频但是无法到目前为止将其加载到将内联的UIView中。这是我当前的代码(我还没有尝试加载缩略图或内联版本。)我应该如何前进?从长远来看,加载一个UIWebView会更好,同时还能让我在以后扩展Versitility吗?

import UIKit
import AVFoundation
import AVKit

class ViewController: UIViewController {
@IBOutlet weak var videoPreviewLayer: UIView!
var player: AVPlayer!
var avpController = AVPlayerViewController()

override func viewDidLoad() {
    super.viewDidLoad()
    let moviePath = Bundle.main.path(forResource: "http://hidden/index.m3u8", ofType: "m3u8")
    if let path = moviePath {
        let url = NSURL.fileURL(withPath: path)
        self.player = AVPlayer(url: url)
        self.avpController = AVPlayerViewController()
        self.avpController.player = self.player
        avpController.view.frame = videoPreviewLayer.frame
        self.addChildViewController(avpController)
        self.view.addSubview(avpController.view)
    }
    // Do any additional setup after loading the view.
}

}
swift uiview avfoundation avplayer avkit
1个回答
0
投票

我认为问题在于:“self.view.addSubview(avpController.view)”。尝试“AVPlayerLayer”属性,如下所示:

guard let videoURL = URL(string: urlString) else {
                return
            }
            let player = AVPlayer(url: videoURL)
            let playerLayer = AVPlayerLayer(player: player)
            playerLayer.frame = self.view.bounds
            self.view.layer.addSublayer(playerLayer)
            player.play()
© www.soinside.com 2019 - 2024. All rights reserved.