XAudio2 の主要な概念
この概要では、XAudio2 を使用するためのいくつかの主要な概念について説明します。
XAudio2 エンジン
IXAudio2 インターフェイスは、XAudio2 エンジンのコアです。 IXAudio2 インターフェイスのインスタンスを作成すると、クライアントは使用可能なオーディオ デバイスの列挙、グローバル API プロパティの構成、音声の作成、パフォーマンスの監視を行うことができます。 XAudio2Create ヘルパー関数は、XAudio2 のインスタンス化タスクと初期化タスクを実行します。
XAudio2 のインスタンスは、1 つのプロセス内で複数回作成できます。 各 XAudio2 オブジェクトは独立して動作し、独自のオーディオ処理スレッドを持ちます。 デバッグ設定のみが共有されます。 これは、複数の異なるコンポーネントが 1 つのプロセスに読み込まれる可能性がある Windows で重要です。 たとえば、インターネット エクスプローラーでは、複数の XAudio2 コンポーネントを同時に使用できます。 1 つのクライアント アプリケーション内に複数の XAudio2 エンジン オブジェクトを作成することはできますが、それぞれのグラフ間で情報を渡さないでください。
XAudio2 エンジンを初期化する例については、「 方法: XAudio2 を初期化する」を参照してください。
音声
ボイスは、オーディオ データを処理、操作、再生するために XAudio2 で使用されるオブジェクトです。 XAudio2 には 3 種類の音声があります。
-
ソース音声は、オーディオ データのストリームを表します。 ソース音声は、他の種類の音声にデータを送信します。
-
サブミックス音声は、受信したオーディオ データの操作を実行します。 オーディオ データ操作の 1 つの例として、サンプル レート変換があります。 サブミックス音声は、データを処理した後、そのデータを別のサブミックス音声またはマスター音声に渡します。
-
マスタリング ボイスは、ソース ボイスとサブミックス ボイスからのデータを受信し、そのデータをオーディオ ハードウェアに送信します。
XAudio2 音声の概要については、「XAudio2 Voices」を参照してください。
オーディオ グラフ
オーディオ グラフは、XAudio2 音声のコレクションです。 オーディオは、ソース ボイスでオーディオ グラフの片側から開始され、必要に応じて 1 つ以上のサブミックス ボイスを通過し、マスタリング ボイスで終了します。 オーディオ グラフには、現在再生中の各サウンドのソース ボイス、0 個以上のサブミックス ボイス、1 つのマスタリング ボイスが含まれます。 最も単純なオーディオ グラフは、マスタリング ボイスに直接出力する 1 つのソース ボイスです。これは、XAudio2 でノイズを再生するための最小限の要件です。 XAudio2 でサウンドを再生する必要がある最小手順の例については、「方法: XAudio2 でサウンドを再生する」を参照してください。
XAudio2 オーディオ グラフの概要については、「XAudio2 Audio Graph」を参照してください。
コールバック
コールバックは、一部のイベントが音声またはエンジン オブジェクトで発生したことをクライアント コードに通知するために XAudio2 が使用するメカニズムです。 オーディオ再生は XAudio2 エンジンでは非同期であるため、コールバックはサウンドの再生がいつ終了するかを判断する唯一の方法を提供します。
XAudio2 コールバックの概要については、「XAudio2 コールバック」を参照してください。
関連トピック