这是我的代码:
var queue: AudioQueueRef
error = AudioQueueNewOutput(&dataFormat,
AQOutputCallback,
&player,
nil,
nil,
0,
&queue) // This gives me an error
我收到与queue
变量相关的错误:“无法将不可变值作为inout参数传递:从'AudioQueueRef'到'AudioQueueRef'的隐式转换?'需要一个临时的“。 AudioQueueNewOutput
要求该参数的类型为UnsafeMutablePointer<AudioQueueRef?>
。我不知道如何实现这种转换。
有关如何解决此问题的任何想法?谢谢。
答案 0 :(得分:2)
因为它说AudioQueueRef
必须是inout
参数意味着同一个变量会随时改变它的值到新的或旧的。因此,您必须将其定义为Optional
,如下所示:
var queue: AudioQueueRef?
var error = AudioQueueNewOutput(&dataFormat,
AQOutputCallback,
&player,
nil,
nil,
0,
&queue)
如果您仍然遇到任何问题,请告诉我。