2

Audio Unit コンポーネントは、Audio Unit ホストの開始と停止をどのように検出できますか?

コンポーネントの Kernel Process() 内で、ホストが再生中かどうかを返す CallHostTransportState(...) メソッドを試してみたので、最初の起動を検出できました。しかし、ホストが停止すると Process() はもう呼び出されないため、この方法で停止を検出することはできません。そして、停止が検出されないため、「停止」状態が検出されていないため、次の開始を検出できません。

何か案が?

ありがとう。

4

1 に答える 1

1

ホストのトランスポート状態の変化に関してリッスンできる特定のプロパティはないようです。つまり、自分で監視する必要があります。私の頭の中で、これを行う最も簡単な方法は、新しい実行ループを作成し (つまり、C++/Obj-C レイヤーにいるかどうかに応じて使用CFRunLoopまたは依存することによって)、アイドル関数への参照を渡すことです。NSRunLoop次に、ホストのトランスポートの状態をプラグインに渡します。

これは通常idle()、VST の世界でオーバーライドすることによって達成されるタスクですが、AudioUnits はプッシュ指向ではなくプル指向であるため、情報をプルして手動でプラグインにプッシュする必要がある場合があります。

于 2010-10-08T10:07:38.300 に答える