无法将 AudioQueueRef inout 参数传递给 Swift 中的 AudioQueueNewOutput

Can't pass AudioQueueRef inout parameter to AudioQueueNewOutput in Swift

这是我的代码:

var queue: AudioQueueRef
error = AudioQueueNewOutput(&dataFormat, 
AQOutputCallback, 
&player, 
nil, 
nil, 
0, 
&queue) // This gives me an error

我收到与 queue 变量相关的错误:"Cannot pass immutable value as inout argument: implicit conversion from 'AudioQueueRef' to 'AudioQueueRef?' requires a temporary"。 AudioQueueNewOutput 要求参数的类型为 UnsafeMutablePointer<AudioQueueRef?>。我不知道如何实现该转换。

关于如何解决这个问题有什么想法吗?谢谢。

因为它说 AudioQueueRef 必须是 inout 参数意味着相同的变量将随时将其值更改为新的或旧的。因此,您必须将其定义为 Optional,如下所示:

var queue: AudioQueueRef? 

var error = AudioQueueNewOutput(&dataFormat, 
AQOutputCallback, 
&player, 
nil, 
nil, 
0, 
&queue)

如果您仍然遇到任何问题,请告诉我。