gpt4 book ai didi

ios - 为什么 AVURLAsset 没有加载文件?

转载 作者:行者123 更新时间:2023-11-28 14:11:01 24 4
gpt4 key购买 nike

好的。我有一种不祥的预感,这会被蟋蟀温柔的鸣叫声所满足……

我基于 thisthis .

我实际上想知道这是否是一个功能,而不是一个错误,因为在本地加载电影然后播放可能存在安全问题。我认为情况并非如此,但也许吧。需要注意的是,加载的资源来自与服务器的 REST 交互,其中电影数据实际上只是数据查询响应的一部分。它不是直接从视频流页面加载的东西(不过它是 SSL)。

我在 AV Foundation 还很新手。

我有以下代码:

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 查看器中播放它。

我已经准备好接受一个耳光,然后是“你该死的 eedjut!”,但我想知道我应该“RTFM”哪个“M”。

最佳答案

问题似乎出在这一行

let url = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(UUID().uuidString)

您应该为文件添加扩展名。

let videoName = UUID().uuidString + ".mp4"
let url = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(videoName)

希望它能修复。

关于ios - 为什么 AVURLAsset 没有加载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52539545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com