无法在集合视图中播放 mp4 视频

Cannot play a mp4 video inside a collection view

我正在尝试在集合视图中播放 mp4 视频,但未能成功。我试过的方法是:

方法一:

let html = "<video playsinline controls width=\"100%\" src=\"\(url)\"> </video>"
cell.webview.loadHTMLString(html, baseURL: nil)
cell.webview.allowsInlineMediaPlayback = true

方法二:

cell.webview.loadRequest(URLRequest(url: URL(string: source)!))

结果: Video doesn't load and shows this

你能试试下面的代码吗,

let html = "<video width=\"100%\" controls> <source src=\"http://test.creatrixcampus.com/uploads/doc/binaryOctalHex_1526459737.mp4\" type=\"video/mp4\"></video>"

更新

let html = "<iframe src=\"http://test.creatrixcampus.com/uploads/doc/binaryOctalHex_1526459737.mp4\" width=\"100%\"></iframe>"
webView.loadHTMLString(html, baseURL: nil)
webView.allowsInlineMediaPlayback = true

下面是相同的输出,

如有任何疑问,请告诉我。

为什么用HTML嵌入视频,可以用原生

只需在 info.plist 文件中将 Allow Arbitrary Loads 设置为 YES

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

并在代码中进行测试

import UIKit
import AVKit
class ViewController: UIViewController  {

    override func viewDidLoad() {
        super.viewDidLoad()

        let videoURL = URL(string: "http://test.creatrixcampus.com/uploads/doc/binaryOctalHex_1526459737.mp4")!
        let videoPlayer = AVPlayer(url: videoURL)
        let avPlayerController = AVPlayerViewController()
        avPlayerController.player = videoPlayer
        avPlayerController.view.frame = CGRect(x: 10, y: 200, width:300, height: 300)
        avPlayerController.showsPlaybackControls = false
        self.view.addSubview(avPlayerController.view)
        videoPlayer.play()

    }
}