在Monotouch中实现了AudioQueueEnqueueBufferWithParameters吗?

时间:2012-04-10 02:17:46

标签: c# ios xamarin.ios pinvoke audiotoolbox

我正在尝试将缓冲区添加到队列中,并希望使用iOS音频工具箱文档中描述的AudioQueueEnqueueBufferWithParameters。我看到它是MonoTouch组装浏览器中的私有外部。

    [DllImport ("/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox")]
    private static extern AudioQueueStatus AudioQueueEnqueueBufferWithParameters......

为了使用它,是否有可能在其他地方宣布这个外部? 如果是这样,怎么样?

1 个答案:

答案 0 :(得分:1)

一般来说, p / invoke 声明在MonoTouch中都标记为private。然后提供更安全和更易于使用的托管替代品。

在这种特定情况下,AudioQueueEnqueueBufferWithParameters p / invoke从公共AudioQueue.EnqueueBuffer方法调用。由于这是MonoTouch和MonoMac之间共享的代码的一部分,因此您可以看到完整的源代码here

当然,你仍然可以将之前的p / invoke声明复制粘贴到你自己的应用程序中,它也可以工作(但在某些情况下,让它与相关的托管API进行交互可能会更复杂)。