这是我的代码:

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/

10-15 15:25