1

バッファをキューに追加しようとしていますがAudioQueueEnqueueBufferWithParameters、iOS Audio Toolbox のドキュメントで説明されているように使用したいと考えています。MonoTouch アセンブリ ブラウザーでプライベート extern であることがわかります。

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

この extern を使用するために他の場所で宣言することは可能ですか? もしそうなら、どのように?

4

1 に答える 1

1

一般に、 p/invoke宣言はすべてprivateMonoTouch でマークされます。その後、より安全で使いやすい管理された代替手段が提供されます。

この特定のケースでは、AudioQueueEnqueueBufferWithParametersp/invoke が publicAudioQueue.EnqueueBufferメソッドから呼び出されます。これは MonoTouch と MonoMac の間で共有されるコードの一部であるため、ここで完全なソース コードを確認できます。

もちろん、以前の p/invoke 宣言を独自のアプリケーションにコピー アンド ペーストすることもできますが、それも機能します (ただし、場合によっては、関連するマネージ API とやり取りする方が複雑になる場合があります)。

于 2012-04-10T12:10:58.107 に答える