XAudio2 移行ガイド

既存の XAudio コードは、以下の説明に従って変更を加えることで、XAudio2 を使用するように簡単に更新できます。

ヘッダー

XAudio のヘッダー XAudio2 のヘッダー
XAudio.h XAudio2.h

ライブラリ

XAudio のライブラリ XAudio2 のライブラリ
XAudio.lib XAudio2.lib。さらに XAudio2.lib は xmcore.lib に依存しています。
XAudiod.lib XAudiod2.lib。さらに XAudiod2.lib は xmcored.lib に依存しています。

インターフェイス

XAudio のインターフェイス XAudio2 のインターフェイス
IXAudioVoice IXAudio2Voice
IXAudioSourceVoice IXAudio2SourceVoice
IXAudioSubmixVoice IXAudio2SubmixVoice
IXAudioMasteringVoice IXAudio2MasteringVoice

メソッド

XAudio のメソッド XAudio2 のメソッド
IXAudioVoice::AddRef 相当するメソッドはありません。
IXAudioVoice::Release 相当するメソッドはありません。
IXAudioVoice::GetEffectState IXAudio2Voice::GetEffectState
IXAudioVoice::SetEffectState IXAudio2Voice::DisableEffect または IXAudio2Voice::EnableEffect
IXAudioVoice::GetEffectParam IXAudio2Voice::GetEffectParameters
IXAudioVoice::SetEffectParam IXAudio2Voice::SetEffectParameters
IXAudioVoice::SetVoiceOutput IXAudio2Voice::SetOutputVoices
IXAudioVoice::SetVoiceOutputVolume IXAudio2Voice::SetChannelVolumes (すべての送信に影響を与えるチャンネル レベル) または IXAudio2Voice::SetOutputMatrix (送信ごとのレベルの行列)。
IXAudioVoice::GetVoiceContext クライアントは、渡したボイス コンテキストをキャッシュすると想定されています。
IXAudioVoice::GetVoiceState IXAudio2SourceVoice::GetState
IXAudioVoice::GetVoiceType クライアントは、作成されたボイス タイプをキャッシュすると想定されています。
IXAudioVoice::GetVoiceFormat クライアントは、ボイスを作成するために使用されたフォーマットをキャッシュすると想定されています。
IXAudioSourceVoice::SetVoiceFormat ボイスが作成された後にフォーマットを変更することはできません。
IXAudioSourceVoice::SubmitPacket IXAudio2SourceVoice::SubmitSourceBuffer
IXAudioSourceVoice::SubmitSourceBuffer IXAudio2SourceVoice::SubmitSourceBuffer
IXAudioSourceVoice::Start IXAudio2SourceVoice::Start
IXAudioSourceVoice::Stop IXAudio2SourceVoice::Stop
IXAudioSourceVoice::FlushPackets XAUDIO2_FLUSH_BUFFERS フラグ付きの IXAudio2SourceVoice::Stop
IXAudioSourceVoice::FlushSourceBuffers XAUDIO2_FLUSH_BUFFERS フラグ付きの IXAudio2SourceVoice::Stop
IXAudioSourceVoice::Discontinuity オーディオ ストリーム内の最後のバッファーを XAUDIO2_END_OF_STREAM フラグでタグ付けします。
IXAudioSourceVoice::GetPacketPosition IXAudio2SourceVoice::GetState
IXAudioSourceVoice::SetPacketPosition サポートされていません。希望の再生開始位置を指す新しいパケットを代わりに送信します。
IXAudioSourceVoice::GetStreamPosition IXAudio2SourceVoice::GetState
IXAudioSourceVoice::GetPacketLoopCount 相当するメソッドはありません。
IXAudioSourceVoice::SetPacketLoopCount ループ回数はパケットを送信する際にのみ設定できます。
IXAudioSourceVoice::GetPacketContext クライアントは、使用したパケット コンテキストをキャッシュすると想定されています。
IXAudioSourceVoice::GetVolume IXAudio2Voice::GetVolume
IXAudioSourceVoice::SetVolume IXAudio2Voice::SetVolume
IXAudioSourceVoice::GetPitch IXAudio2SourceVoice::SetFrequencyRatio
IXAudioSourceVoice::SetPitch IXAudio2SourceVoice::GetFrequencyRatio
IXAudioSourceVoice::GetFrequencyScale ピッチを表現するための単位が変更されたため、このメソッドは不要になりました。
IXAudioSourceVoice::SetFrequencyScale ピッチを表現するための単位が変更されたため、このメソッドは不要になりました。

関数

XAudio の関数 XAudio2 の関数
XAudioInitialize XAudio2Create
XAudioShutdown IXAudio2::Release
XAudioLock 相当するメソッドはありません。
XAudioCreateSourceVoice IXAudio2::CreateSourceVoice
XAudioCreateSubmixVoice IXAudio2::CreateSubmixVoice
XAudioGetMasteringVoice IXAudio2::CreateMasteringVoice
XAudioRegisterEngineCallback XAudio2 は、コールバック ポインターを必要に応じて随時変更することはサポートしていません。コールバックは、ボイスの作成時に pCallback 引数を使用して指定します。
XAudioUnregisterEngineCallback XAudio2 は、コールバック ポインターを必要に応じて随時変更することはサポートしていません。コールバックは、ボイスの作成時に pCallback 引数を使用して指定します。
XAudioRegisterEffects XAudio2 では、使用可能なエフェクトの静的テーブルは必要ありません。クライアントは、使用する任意のエフェクトを作成して、これらへのポインターを XAudio2 に渡します。
XAudioUnregisterEffects XAudio2 では、使用可能なエフェクトの静的テーブルは必要ありません。クライアントは、使用する任意のエフェクトを作成して、これらへのポインターを XAudio2 に渡します。
XAudioSynchStart OperationSet 引数を持つ複数の XAudio2 メソッドをグループ化するには、同じセット番号を指定してから IXAudio2::CommitChanges を呼び出します。詳細については、「XAudio2 操作セット」を参照してください。
XAudioQueryPerformance IXAudio2::GetPerformanceData
XAudioQueryPIXCounters IXAudio2::GetPerformanceData
XAudioGetSpeakerConfig IXAudio2::GetDeviceDetails が最も近い機能を提供します。Windows では、複数のオーディオ デバイスが存在する可能性があり、これらのデバイスの出力フォーマットは、スピーカー構成以外の点についても異なる可能性があるため、この関数は、デバイスごとの詳細な出力フォーマット データを返します。
XAudioDecibelsToVolume XAudio2DecibelsToAmplitudeRatio
XAudioMillibelsToVolume XAudio2DecibelsToAmplitudeRatio
XAudioVolumeToDecibels XAudio2AmplitudeRatioToDecibels
XAudioVolumeToMillibels XAudio2AmplitudeRatioToDecibels
XAudioPitchToSampleRate XAudio2SemitonesToFrequencyRatio
XAudioSampleRateToPitch XAudio2FrequencyRatioToSemitones
XAudioDumpMemoryUsage 相当するメソッドはありません。XMem ライブラリは、XAudio2 のメモリー使用に関する最高レベルの統計情報を提供します。
XAudioGetXMAPacketPosition xma2defs.h 内の GetXmaDecodePositionForSample。
XAudioSetDebugBreakLevel Windows 上のレジストリを使用して制御されるか、Windows または Xbox 上の実行可能ファイルのディレクトリ内の xaudio2.ini ファイルを使用して制御されます。
XAudioSetDebugFlags Windows 上のレジストリを使用して制御されるか、Windows または Xbox 上の実行可能ファイルのディレクトリ内の xaudio2.ini ファイルを使用して制御されます。
XAudioSetDebugPrintLevel Windows 上のレジストリを使用して制御されるか、Windows または Xbox 上の実行可能ファイルのディレクトリ内の xaudio2.ini ファイルを使用して制御されます。
XAudioCreateEvent 相当するメソッドはありません。
XAudioFreeEvent 相当するメソッドはありません。
XAudioSetEvent 相当するメソッドはありません。
XAudioResetEvent 相当するメソッドはありません。
XAudioPulseEvent 相当するメソッドはありません。
XAudioWaitForSingleObject 相当するメソッドはありません。
XAudioWaitForMultipleObjects 相当するメソッドはありません。

構造体

XAudio の構造体 XAudio2 の構造体
PCMWAVEFORMAT WAVEFORMATEX
WAVEFORMAT WAVEFORMATEX

XAudio の廃止によって影響を受ける API

次の API は XAudio の廃止によって影響を受けるため、XAudio2 に移行するためには、これらの API を一部変更する必要があります。

API 移行ガイド
XACT XACT3 への移行ガイド

関連トピック

Ee415804.note(ja-jp,VS.85).gifXbox 360

API移行ガイド
XMVXMV2 への移行ガイド
XHVXHV の移行ガイド
QNETXAudio2 を使用する QNet への移行ガイド