4

我想从 url 下载声音并播放一次:

let sound = SKAudioNode(url:URL(string:"http://www.music.helsinki.fi/tmt/opetus/uusmedia/esim/a2002011001-e02-16kHz.wav")!)

sound.run(SKAction.play())

我也尝试过.mp3音乐。它不会下载或流式传输并返回:nil

但是这段代码会导致错误:

由于未捕获的异常“com.apple.coreaudio.avfaudio”而终止应用程序,原因:“所需条件为假:文件!= nil”***第一次抛出调用堆栈:....

libc++abi.dylib:以 NSException 类型的未捕获异常终止

4

2 回答 2

1

我想你试试AVAudioPlayer

var resourcePath = url  //your url
var objectData = Data(contentsOf: NSURL(string: resourcePath)!)
var error: Error!
do {
    audioPlayer = try AVAudioPlayer(objectData)
}
catch let error {
}
audioPlayer.numberOfLoops = 0
audioPlayer.volume = 1.0
audioPlayer.prepareToPlay()
if audioPlayer == nil {
    print("\(error.description)")
}
else {
    audioPlayer.play()
}
于 2016-10-17T06:26:55.720 回答
0

我认为 URL 需要 os 是您的应用程序包中必须拥有的资源的 URL。将 mp3 文件放入您的项目中,然后执行此操作 -

let urlpath = Bundle.main.path(forResource: "[name of file]", ofType: "mp3")
let audioURL = NSURL.fileURL(withPath: urlpath!)

let sound = SKAudioNode(url: audioURL)

sound.run(SKAction.play())
于 2016-10-19T15:10:09.933 回答