Я пытаюсь воспроизвести видео с моего Сервера, но когда я пытаюсь это сделать, я получаю 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. Снимок экрана