Я создаю приложение видеоплеера в ios, если я храню файл mp4 в ресурсе пакета или если я транслирую URL-адрес, он работает нормально, но если я сохраняю файл в каталоге документов и пытаюсь играть с avplayer, он не воспроизводится, если я обработаю по-разному с автономным файлом в каталоге документов
код:
let fileManager = FileManager()
let destinationURLForFile = URL(fileURLWithPath: documentDirectoryPath.appendingFormat("/myvideo.mp4"))
self.playVideo(filePath: destinationURLForFile.path)
func playVideo(filePath:String)
{
var playerItem = AVPlayerItem.init(url:URL.init(string: filePath)!)
var player = AVPlayer(playerItem: playerItem)
var playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.frame
self.view.layer.addSublayer(playerLayer)
player.play()
}
Решение проблемы
Попробуйте это, написанное на Swift 3.0,
let fm = FileManager.default
let docsurl = try! fm.url(for:.documentDirectory, in:.userDomainMask, appropriateFor: nil, create: false)
let path = docsurl.appendingPathComponent("myvideo.mp4")
playVideo(filePath: path)
func playVideo(filePath:String)
{
var playerItem = AVPlayerItem(url: URL(fileURLWithPath: filePath)
var player = AVPlayer(playerItem: playerItem)
var playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.frame
self.view.layer.addSublayer(playerLayer)
player.play()
}
Комментариев нет:
Отправить комментарий