XDspConnect
ハードウェア サーバーとの接続を確立し、XDSP クライアント インスタンスを作成し、処理に必要なリソースを割り当てます。同時にアクティブな XDSP クライアントはグローバルに 8 個までに制限されています。構文
パラメーター
baseBuffer _In_型: float* 入力データを渡し、出力データを取得するために XDSP 呼び出し元によって割り当てられる連続バッファー。詳細については、以下の 解説 セクションを参照してください。 baseBufferLength _In_
型: uint32_t baseBuffer の長さ (バイト単位)。この長さは 64 KB 以上、500 MB 以下でなければなりません。 aggregateImpulseResponseInSeconds _In_
型: uint32_t このクライアントで同時にアクティブ化されるすべての個別のインパルス応答の合計時間を表します。aggregateImpulseResponseInSeconds は、XDspProcessType::Convolution の場合は 0 より大きい値に設定する必要があり、それ以外の場合は 0 でなければなりません。すべての XDSP クライアントにわたる集約インパルス応答は、グローバルに 128 秒に制限されています。 handle _Outptr_
型: XDspClientHandle* XDspActivate を介してストリームをアクティブ化し、XDspDisconnect を介してハードウェア サーバーからクライアントを切断するために使用する XDSP クライアントへのハンドル。すべての XDSPClientHandle について、任意の時点で最大 256 個のストリームをアクティブにできます。
戻り値
型: HRESULT メソッドが成功した場合は S_OK を返します。失敗した場合は次のコードのいずれかを返します (一部の一覧):解説
呼び出しが成功すると、呼び出し元は XDspCommand パラメーターを介して、ストリームの入力データを渡し、出力データを取得するために baseBuffer を使用できます。エンベロープを使用する場合、このバッファーはエンベロープ パラメーターを保存するためのバッファーも考慮する必要があります。エンベロープの詳細については、XDSP API を使用したエンベロープの概要を参照してください。 この関数は、XDSP ストリームをアクティブ化する前に呼び出し、入力として使用する複数の完全なオーディオ ストリームを保持するのに十分な 1 つの大きなメモリ チャンク、XDspActivate を介してアクティブ化されるすべての XDSP ストリームに対する複数の出力バッファー、および XDspProcessType::ForwardFourierTransform 処理タイプの XDspCommand の一部として使用される場合がある複数のブロック乗数バッファーを登録する必要があります。上記のこのバッファーの最小および最大サイズ要件に注意してください。この呼び出しが成功した場合、すべての XDSP ストリームはこのメモリ チャンクの任意の部分にアクセスできます。 このメモリは、次の属性を使用して XMemAlloc() で割り当てる必要があります: XALLOC_MEMTYPE_PHYSICAL_CACHEABLE、XALLOC_PAGESIZE_64KB、XALLOC_ALIGNMENT_64K これらの属性は、MAKE_XALLOC_ATTRIBUTES() を使用して設定する必要があります。 これの例は次のとおりです:要件
ヘッダー: XDspAudio.h ライブラリ: Chad.lib サポートされるプラットフォーム: XBOX Series X|S概念ドキュメント
関連項目
XDSPXDspConnectWithMaximumStreamLimit
XDspDisconnect
XDSP エラー
XDSP API を使用した単一ストリーム畳み込みの概要
XDSP API を使用した単一ストリーム FFT/IFFT の概要
XDSP API を使用したエンベロープ付き単一ストリーム畳み込みの概要
