SKAudioNode 不从 url 加载声音
Posted
技术标签:
【中文标题】SKAudioNode 不从 url 加载声音【英文标题】:SKAudioNode not load sound from url 【发布时间】:2016-10-11 08:34:16 【问题描述】:我想从 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',原因:'所需条件为假: 文件!=无' *** 首先抛出调用堆栈:....
libc++abi.dylib:以未捕获的类型异常终止 NSException
【问题讨论】:
cehck 一旦你到达这里是 nil 或输出 @Anbu.Karthik 是的,但为什么我得到零。音频存在... 检查这个网址(字符串:' @Anbu.Karthik : music.helsinki.fi/tmt/opetus/uusmedia/esim/… @Arti 你的问题现在解决了吗? 【参考方案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()
【讨论】:
【参考方案2】:我认为 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())
【讨论】:
以上是关于SKAudioNode 不从 url 加载声音的主要内容,如果未能解决你的问题,请参考以下文章