从带有 URL 的 mp3 文件中获取元数据(swift)
Posted
技术标签:
【中文标题】从带有 URL 的 mp3 文件中获取元数据(swift)【英文标题】:Get metadata from mp3 file with URL (swift) 【发布时间】:2015-08-24 20:14:57 【问题描述】:我是 swift 新手,我想从位于服务器上的 mp3 文件中获取数据(我使用了一个 URL,例如:http://myserver.eu/file.mp3)。
我使用了一些 tuto,例如 http://geekyviney.blogspot.com/2015/02/extracting-data-like-thumbnail-images.html(它正在处理本地文件,我正在尝试使其与来自 url 的文件一起使用) 我有一个例外: 线程 1:EXC_BAD_INSTRUCTION(code=EXC_I1386_INVOP, subcode=0x0
致命错误:在展开可选值 (lldb) 时意外发现 nil
我想 pathForResource 只适用于本地文件?感谢您的帮助
var filePath = NSBundle.mainBundle().pathForResource("http://servername.eu/filename", ofType: "mp3")
var fileUrl = NSURL(fileURLWithPath: filePath!)
var asset = AVAsset.assetWithURL(fileUrl) as AVAsset
【问题讨论】:
确保查看所有随附的文档。 PathForResource 用于资源文件,这意味着应用程序中的本地文件,而不是远程文件。 【参考方案1】:你说得对,pathForResource
用于访问应用程序包中的本地文件。
要使用http
方案从 URL 加载数据,请使用此语法
let urlString = "http://servername/filename"
let serverURL = NSURL(string: urlString)!
if let asset = AVAsset.assetWithURL(serverURL) as? AVAsset
// do something with the asset
【讨论】:
【参考方案2】:Swift 3 版本:
let urlString = "http://servername/filename"
if let serverURL = URL(string: urlString)
let asset = AVAsset(url: serverURL)
// do something with the asset
别忘了添加正确的导入
import AVFoundation
【讨论】:
以上是关于从带有 URL 的 mp3 文件中获取元数据(swift)的主要内容,如果未能解决你的问题,请参考以下文章
如何从 .mp3 文件中获取元数据并使用 FFmpeg 将其作为文本放入视频中?
powershell Get-MetaData旨在从文件中获取元数据......最初用于查找.mp3的比特率。