【发布时间】:2018-03-20 18:23:37
【问题描述】:
我试图在我的应用程序中找到一个纯 .m4a 声音的 URL。我有音频的 URL,理论上可以下载它。然后,将下载的 fileURL 指向声音,我尝试使用 AVAudioPlayer 播放它,但它不播放任何声音。这是我的代码:
在URL检索函数中,我调用:(urls定义为URL(string: url),url为检索URL字符串)
downloadSound(url: urls!)
这是我的 downloadSound() 函数:
func downloadSound(url:URL){
var downloadTask:URLSessionDownloadTask
downloadTask = URLSession.shared.downloadTask(with: url, completionHandler: { [weak self](URL, response, error) -> Void in
self?.playSound(url: URL!)
})
downloadTask.resume()
}
最后是 playSound 函数:
func playSound(url:URL) {
print("The url is \(url)")
let player = try! AVAudioPlayer(contentsOf: url)
player.play()
一切都被称为 print("The url is \(url)") 返回文件的路径(但我实际上无法跟踪文件)。
这是模拟器上声音的大致路径:
file:///Users/[...]/Library/Developer/CoreSimulator/Devices/116C311A-C7F3-44EC-9762-2FAA0F9FE966/data/Containers/Data/Application/60BFCDE7-AC02-4196-8D1A-24EC646C4622/tmp/CFNetworkDownload_7VDpsV.tmp
而在手机上运行它返回:
file:///private/var/mobile/Containers/Data/Application/C75C1F1D-77E9-4795-9A38-3F0756D30547/tmp/CFNetworkDownload_T1XlPb.tmp
提前谢谢你。
【问题讨论】:
标签: ios swift url audio avaudioplayer