我正在制作带有mp3 ftp Steam的小型音乐播放器。
这是我将我的URL添加到列表中的方式:
self.playList.add("http://my-ftp.pl/mp3/1.mp3")
self.playList.add("http://my-ftp.pl/mp3/2.mp3")
self.playList.add("http://my-ftp.pl/mp3/3.mp3")
...
self.play(url: URL(string:(playList[self.index] as! String))!)
我正在寻找有关如何在不输入完整路径的情况下获取所有(* .mp3)URL(http://my-ftp.pl/mp3)文件夹元素的想法。
答案 0 :(得分:0)
无法获取远程文件夹的内容,但是您可以
var counter = 1
func getMp3(_ url:URL) {
API.load(url) { (response,data,error) in
if let data = data {
// use data
coounter += 1
getMp3(urlWithNewCounter)
}
}
答案 1 :(得分:0)
对不起,但是我做到了。
func getMp3() {
let url = URL(string: "http://not-my-ftp-just-simple.com/mp3")!
let task = URLSession.shared.downloadTask(with: url) { localURL, urlResponse, error in
if let localURL = localURL {
if let string = try? String(contentsOf: localURL) {
let regex = try! NSRegularExpression(pattern:"href=(.*?)>", options: [])
var results = [String]()
regex.enumerateMatches(in: string, options: [], range: NSMakeRange(0, string.utf16.count)) { result, flags, stop in
if let r = result?.range(at: 1), let range = Range(r, in: string) {
if (String(String(string[range]).toLengthOf(length: 1).dropLast())).contains(".mp3"){
results.append(String(String(string[range]).toLengthOf(length: 1).dropLast()))
}
}
}
print(results)
}
}
}
task.resume()
}