我正在尝试通过服务器播放视频,但是当我尝试这样做时,我在付费按钮上看到Crossed mark
。
当我将其他.ppt
,.keynote
等文件与服务器url一起使用并使用WKWebview
来显示它们但.mp4
文件不起作用时,
我尝试了2种方法。
1)直接使用WKWebview播放。
2)下载文件并将其保存在本地路径中,然后使用AVPlayer
播放文件。
在两种情况下,我在播放按钮上都获得了相同的叉号。
func playVideo(url:String){
var newUrl:String = url
if !( url.hasPrefix("http") || url.hasPrefix("https") ){
let host = kGetHostName()
newUrl = host + newUrl
}
do
{
let videoData = NSData(contentsOf: URL(string: newUrl)!)
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let documentsDirectory = paths[0]
let path = URL(fileURLWithPath: documentsDirectory).appendingPathComponent("myMove.mp4")
if videoData == nil{
print("No data in this")
return
}
videoData?.write(toFile: path.absoluteString, atomically: true)
let playeritem = AVPlayerItem(url: path)
let player = AVPlayer(playerItem: playeritem)
let controller = AVPlayerViewController()
controller.player = player
self.present(controller, animated: true) {
player.play()
}
} catch {
print(error)
}
以及尝试使用WKWebview
func loadWebView(url:String){
var newUrl:String = url
if !( url.hasPrefix("http") || url.hasPrefix("https") ){
let host = kGetHostName()
newUrl = host + newUrl
}
self.webView.load(URLRequest(url: URL(string: newUrl)!))
}
这两种情况都失败了并且得到了。在我要下载和播放时,是否可以在不更改plist
设置的情况下播放视频?
1。屏幕截图
2。屏幕截图