Skip to main content

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 つ以上の引数が無効な場合、関数はエラー コードを返します。

解説

XAudio2CreateWithSharedContextsXAudio2Create 関数と同じように動作します。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
最終更新日 2026年8月24日