【发布时间】:2021-05-05 03:51:41
【问题描述】:
我正在尝试播放从 S3 下载的文件,在找到该文件并将 URL 传递给音频播放器后,音频文件将无法播放/丢失。
这是完整的fileURL:file:///var/mobile/Containers/Data/Application/61F2FC20-4C62-4263-B147-0010805BC0FA/Documents/Dump%20Trucks.mp3
这是我的代码:
func playAudio(){
var soundClip: AVAudioPlayer?
if let directory = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.allDomainsMask, true).first{
let path = NSURL(fileURLWithPath: directory).appendingPathComponent("Dump Trucks.mp3")
print("The path is \(String(describing: path))")
do {
soundClip = try AVAudioPlayer(contentsOf: path!)
soundClip?.play()
} catch {
print("Error: Audio File missing.")
}
}
}
【问题讨论】:
-
如果您想从设备播放音频,请使用
MPMediaItem。它将从设备中检索所有音频。 -
还有一件事我想知道你会在这条线上找到正确的道路吗? //print("路径是 (String(describing: path))")
-
@RB's - 是的,它打印/返回上面指出的完整文件 URL。
-
var soundClip: AVAudioPlayer?将其更改为var soundClip = AVAudioPlayer() -
您可以查看此解决方案是否适用于 Swift 4+ stackoverflow.com/a/55149648/2125010