SKAudioNode not load sound from url

谁都会走 提交于 2019-12-29 08:45:32

问题


I want download sound from url and play it once:

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

sound.run(SKAction.play())

I tried .mp3 music too. It doesn't download it or stream and returns: nil

But this code cause error:

Terminating app due to uncaught exception 'com.apple.coreaudio.avfaudio', reason: 'required condition is false: file != nil' *** First throw call stack: ....

libc++abi.dylib: terminating with uncaught exception of type NSException


回答1:


i think you try 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()
}



回答2:


I think that the URL needed os the URL for the resource that you must have in your app bundle. Put the mp3 file in your project and then do this-

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())


来源:https://stackoverflow.com/questions/39973323/skaudionode-not-load-sound-from-url

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!