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

时间:2018-05-16 08:39:49

标签: ios swift uiwebview

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

方法1:

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

方法2:

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

结果: Video doesn't load and shows this

2 个答案:

答案 0 :(得分:0)

请试试下面的代码,

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

以下是相同的输出,

enter image description here

如有任何疑问,请与我联系。

答案 1 :(得分:0)

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

只需在Allow Arbitrary Loads文件

中将YES设为info.plist即可
<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()

    }
}

check image