无法在集合视图中播放 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()
}
}
我正在尝试在集合视图中播放 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()
}
}