【问题标题】:Can't pass AudioQueueRef inout parameter to AudioQueueNewOutput in Swift无法在 Swift 中将 AudioQueueRef inout 参数传递给 AudioQueueNewOutput
【发布时间】:2016-11-18 05:02:21
【问题描述】:

这是我的代码:

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

我收到与 queue 变量相关的错误:“无法将不可变值作为 inout 参数传递:从 'AudioQueueRef' 到 'AudioQueueRef' 的隐式转换?”需要一个临时的”。 AudioQueueNewOutput 要求该参数的类型为 UnsafeMutablePointer<AudioQueueRef?>。我不知道如何实现这种转换。

关于如何解决这个问题的任何想法?谢谢。

【问题讨论】:

    标签: ios swift3 core-audio


    【解决方案1】:

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

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

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

    【讨论】:

    • 修复了它。谢谢!
    猜你喜欢
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 2020-05-15
    • 2015-04-18
    • 1970-01-01
    相关资源
    最近更新 更多