使用URL(swift)

时间:2015-08-24 20:14:57

标签: ios swift url metadata mp3

我是swift的新手,我想从位于服务器上的mp3文件中获取数据,(我使用了URL,例如:http://myserver.eu/file.mp3)。

我使用了一些tuto,比如http://geekyviney.blogspot.com/2015/02/extracting-data-like-thumbnail-images.html(它正在使用本地文件,我正在尝试使用来自网址的文件) 我有一个例外: 线程1:EXC_BAD_INSTRUCTION(代码= EXC_I1386_INVOP,子代码= 0x0

致命错误:在展开Optional值(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

2 个答案:

答案 0 :(得分:2)

您说得对,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
}

答案 1 :(得分:1)

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