AudioQueueEnqueueBufferWithParameters是否在Monotouch中实现

本文关键字:实现 Monotouch 是否 AudioQueueEnqueueBufferWithParameters | 更新日期: 2023-09-27 18:30:27

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

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

是否可以在其他地方声明此 extern 以使用它?如果是这样,如何?

AudioQueueEnqueueBufferWithParameters是否在Monotouch中实现

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

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

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