好。我有种讨厌的感觉,那就是with会发出柔和的rp声……
我实际上想知道这是否是一项功能,而不是错误,因为在本地加载电影然后播放电影可能存在安全问题。我认为并非如此,但是也许。应该注意的是,加载的资产来自与服务器的REST交互,其中电影数据实际上只是数据查询响应的一部分。它不是直接从视频流页面加载的(尽管它是SSL)。
我在AV基金会很绿。
我有以下代码:
do {
// We create a path to a unique temporary file to grab the media.
let url = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(UUID().uuidString)
// Store the media in the temp file.
try myData.write(to: url, options: .atomic)
let options = [AVURLAssetPreferPreciseDurationAndTimingKey: true]
let asset = AVURLAsset(url: url, options: options)
if 0 < asset.tracks.count {
print("YOU GET \(asset.tracks.count) TRACKS!")
} else {
print("NO TRACKS FOR YOU!")
}
} catch let error {
NSLog("Error Encoding AV Media: %@", error._domain)
}
很基本,是吗? “ myData”变量包含已下载的MP4电影(.m4v)。我将其写入一个临时文件,然后像说的那样用AVURLAsset加载该临时文件。
问题是我永远无法播放dangblammit电影。该文件是应该在的位置。我可以提取临时文件,将其扩展为'.m4v',然后在QT Viewer中播放。
我已经准备好接受一个巴掌拍打,然后是“ ya darn eedjut!”,但是我想知道我应该将哪个“ M”作为“ RTFM”。
答案 0 :(得分:1)
问题似乎出在这行
let url = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(UUID().uuidString)
您应该为文件添加扩展名。
let videoName = UUID().uuidString + ".mp4"
let url = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(videoName)
希望它能解决。