次の方法で共有


AudioQueueProcessingTapDelegate 代理人

定義

AudioQueue の Tap コールバック ハンドラーの署名。

public delegate uint AudioQueueProcessingTapDelegate(AudioQueueProcessingTap audioQueueTap, uint numberOfFrames, ref AudioTimeStamp timeStamp, ref AudioQueueProcessingTapFlags flags, AudioBuffers data);
type AudioQueueProcessingTapDelegate = delegate of AudioQueueProcessingTap * uint32 *  *  * AudioBuffers -> uint32

パラメーター

audioQueueTap
AudioQueueProcessingTap

コールバックのコンテキストは、Tap で使用できるリソースと Tap 構成のパラメーターへのアクセスを提供します。

numberOfFrames
UInt32

メソッドがレンダリングするフレームの数。

timeStamp
AudioTimeStamp

入力キューの場合は、出力キューのタイムスタンプ (現在のタイムスタンプ) を返します。

flags
AudioQueueProcessingTapFlags

エントリでは、実行されているタップの種類 (PreEffect、PostEffect、Siphon) がフラグによって記述されます。 また、StartOfStream という値を含めて、先頭へのリセットが要求されることを示す場合もあります。 出力時に、StartOfStream フラグと EndOfStream フラグが更新されている必要があります。

data
AudioBuffers

サイフォンタップは、個々の AudioBuffers の内容を検査できますが、変更を加えてはいけません。 他のタップでは、必要に応じてバッファーを割り当てて入力する必要があります。

戻り値

データで提供されるフレームの数。

注釈

タップで必要なオーディオ フレームの数が受信されるまで GetSourceAudio を呼び出します。

タップが要求されたフレーム数をフルフィルできない場合、AudioQueue はギャップを無音で埋めます。

エントリでは、フラグには StartOfStream 要求と、このタップの種類に関する情報が含まれる場合があります (効果の前、効果の後、またはサイフォンの後に実行されます)。 コールバックでは、Siphon 以外のケースのデータ バッファーを変更できます。 サイフォンの場合は、単に内容を調べる必要がありますが、内容は変更しないでください。

サイフォン以外のケースの場合、フラグは、 の GetSourceAudio メソッドからの AudioQueueProcessingTap戻り値に応じて、StartOfStream フラグと EndOfStream フラグで更新する必要があります。

サイフォン以外の場合、タップは AudioBuffer コンテンツの内容を割り当て、次に Tap コールバックが呼び出されるまで有効な状態を維持する必要があります。

適用対象