XAudio2CreateWithSharedContexts
新しい XAudio2 オブジェクトを作成し、その IXAudio2 インターフェイスへのポインターを返します。構文
パラメーター
ppXAudio2 _Outptr_型: IXAudio2** 操作が成功した場合、IXAudio2 オブジェクトへのポインターを返します。 Flags _In_
型: UINT32 IXAudio2 オブジェクトの動作を指定するフラグ。
XAudio2Processor _In_
型: XAUDIO2_PROCESSOR 使用する CPU を指定する XAUDIO2_PROCESSOR 型の値。XAUDIO2_USE_DEFAULT_PROCESSOR を渡すことで、XAudio2 が実行時に理想的なプロセッサーを選択できるようになります。 プロセッサーを指定すると、スケジューラーがスレッドをプロセッサー間で効果的にスケジュールする能力に干渉する可能性があります。代わりに XAUDIO2_USE_DEFAULT_PROCESSOR 値を渡してください。 SharedShapeContexts _In_
型: PXAUDIO2_SHARED_SHAPE_CONTEXTS SHARED_SHAPE_CONTEXTS へのポインター。このパラメーターは XBOX One に固有のものであり、タイトルが SHAPE および XMA リソースを XAudio2 と共有できるようにします。既定値は NULL です。
戻り値
型: XAUDIO2_STDAPI 関数が成功した場合、S_OK を返します。1 つ以上の引数が無効な場合、関数はエラー コードを返します。
解説
XAudio2CreateWithSharedContexts は XAudio2Create 関数と同じように動作します。XBOX One 上の Scalable Hardware Audio Processing Engine (SHAPE) の状態を複数の IXAudio2 インスタンス間で共有できるようにするため、追加のパラメーターを 1 つ受け取ります。PXAUDIO2_SHARED_SHAPE_CONTEXTS は共有状態へのポインターです。XAudio2 は XMA 再生に SHAPE コンテキストを使用します。機能としての XMA は XBOX 360 で導入されました。ゲームの XBOX 360 版で XMA オーディオを再生するために XAudio2 を使用する場合、または古い XBOX One Software Development Kit をベースとする XBOX One ゲームで XMA オーディオを再生する場合、Microsoft Game Development Kit (GDK) が引き続き XMA と SHAPE コンテキストをサポートしていることを知っておくことが重要です。
XMA 形式のオーディオを再生するのに、アプリで XAudio2CreateWithSharedContexts フラグを使用する必要はありません。XAudio2 インスタンスが独自の SHAPE コンテキストを作成するためです。XAudio2CreateWithSharedContexts は、複数の XAudio2 インスタンスを持つアプリ向けに最適化されています。これにより、アプリは SHAPE コンテキストの単一セットを割り当て、それをインスタンス間で効率的に共有できます。
アプリが特定のプロセッサーを選択するように設計されていない限り、システムが適切なプロセッサーを選択できるようにするため、
XAudio2Processor パラメーターには XAUDIO2_USE_DEFAULT_PROCESSOR ポインターを使用してください。XAudio2Create パラメーターと XAudio2CreateWithSharedContexts 関数は、XMA 形式のオーディオのみを再生するゲームに適用可能なフラグを使用します。XAUDIO2_DO_NOT_USE_SHAPE フラグが使用されている場合、アプリは XMA コンテンツの再生に失敗します。XBOX 360 では、XMA オーディオはソフトウェアまたはハードウェアでデコードされ、これには SHAPE コンテキストが必要です。Microsoft Game Development Kit (GDK) の新しいバージョンでは、XMA のハードウェア デコードをサポートしています。このフラグを指定すると、実質的に XMA 再生が壊れます。
関数が独自の SHAPE コンテキストを呼び出す場合、SHAPE コンテキストがこの XAudio2 インスタンスによって排他的に使用されることを指定するために XAUDIO2_DO_NOT_SHARE_SHAPE_CONTEXTS フラグを使用します。SHAPE コンテキストを提供していないとき (たとえば XAudio2Create を呼び出す場合) にこのフラグを指定することは推奨されません。XAudio2 が独自の SHAPE コンテキストを作成する場合、それらは共有されるためです。
XAUDIO2_EXCLUDE_FROM_GAME_DVR_CAPTURE フラグも使用できます。このフラグを設定すると、ゲーム DVR がマスタリング ボイスからのオーディオを録音することを防ぎます。
ヘッダーでは AUDCLNT_STREAMFLAGS_EXCLUDE_FROM_GAME_DVR_CAPTURE フラグも定義されています。このフラグを IAudioClient::Initialize に渡すと、その IAudioClient によって再生されるオーディオがゲーム DVR で録音されないようにできます。ゲームで XAudio2 を使用している場合は、同じ目的のために代わりに XAUDIO2_EXCLUDE_FROM_GAME_DVR_CAPTURE フラグを使用してください。
詳細については、XAudio2 を使い始める を参照してください。
要件
ヘッダー: xaudio2Xbox.h ライブラリ: xaudio2.lib サポートされているプラットフォーム: XBOX One ファミリー本体および XBOX Series 本体概念ドキュメント
関連項目
XAudio2 の概要XAudio2 の主要な概念
xaudio2xbox
