这是我的代码:
var queue: AudioQueueRef
error = AudioQueueNewOutput(&dataFormat,
AQOutputCallback,
&player,
nil,
nil,
0,
&queue) // This gives me an error
我收到与
queue
变量相关的错误:“无法将不变值作为inout参数传递:从'AudioQueueRef'到'AudioQueueRef的隐式转换?需要一个临时”。 AudioQueueNewOutput
要求该参数的类型为UnsafeMutablePointer<AudioQueueRef?>
。我不知道如何实现这种转换。有想法该怎么解决这个吗?谢谢。
最佳答案
正如它说的那样,AudioQueueRef
必须是inout
参数,意味着相同的变量将随时将其值更改为新值或旧值。因此,您必须将其定义为Optional
,如下所示:
var queue: AudioQueueRef?
var error = AudioQueueNewOutput(&dataFormat,
AQOutputCallback,
&player,
nil,
nil,
0,
&queue)
让我知道,如果您仍然遇到任何问题。
关于ios - 无法在Swift中将AudioQueueRef inout参数传递给AudioQueueNewOutput,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40669711/