Ios 在展开可选值(lldb)AVAudioPlayer时意外发现nil
我不知道如何修复此错误消息告诉我的“nil” 我的代码:Ios 在展开可选值(lldb)AVAudioPlayer时意外发现nil,ios,swift,Ios,Swift,我不知道如何修复此错误消息告诉我的“nil” 我的代码: var error:NSError? self.player = AVAudioPlayer(contentsOfURL: NSURL( string:"http://192.168.0.101:3000/output.mp3" ), error: &error) 我得到的信息是: 致命错误:在展开可选值时意外发现nil (lldb)AVAudioPlayer的初始值设定项声明为: init!(contentsOfURL url
var error:NSError?
self.player = AVAudioPlayer(contentsOfURL: NSURL( string:"http://192.168.0.101:3000/output.mp3" ), error: &error)
我得到的信息是:
致命错误:在展开可选值时意外发现nil
(lldb)
AVAudioPlayer的初始值设定项声明为:
init!(contentsOfURL url: NSURL!,
error outError: NSErrorPointer)
这是因为代码>类型说明符,表示可以返回nil
值。此外,文档还表明,如果URL未引用有效的音频资源,将返回nil
:“音频数据必须采用Core audio支持的格式。有关支持格式的列表,请参阅《多媒体编程指南中使用音频》。”
至于您的错误,如果您将player
声明为AVAudioPlayer
(没有?
类型说明符),那么当实际返回nil
时,您将得到错误/致命错误
27> class Foo {
28. var player : AVAudioPlayer
29. init () {
30. self.player = AVAudioPlayer (contentsOfURL: url, error: &error)
31. }
32. }
33> Foo()
fatal error: unexpectedly found nil while unwrapping an Optional value
Execution interrupted. Enter Swift code to recover and continue.
Enter LLDB commands to investigate (type :help for assistance.)
要“修复”问题,请将player
声明为:
var player : AVAudioPlayer!
在init()
中,确保AVAudioPlayer(…)
在分配给player
之前不返回nil
,self.player的类型是什么?声明为AVAudioPlayer的可能重复