CAudioクラスのオマケ機能を使って、サウンドにエフェクトをかけてみましょう。方法はいたって簡単ですが、このエフェクト処理は2Dサウンドに限り有効です。次のステップに出てくるCAudio3Dでは使えないので、ご注意ください(お遊びのつもりで試してみてください)。
CAudio::SetEffect(
EffectFlag As EFFECT_FLAGS 'エフェクトの種類を指定します(下記を参照)
) As Long
エフェクトの種類 | 説明 |
NO_EFFECT | エフェクト無し |
EFFECT_STANDARD_CHORUS | コーラス |
EFFECT_STANDARD_COMPRESSOR | コンプレッサ |
EFFECT_STANDARD_DISTORTION | ディストーション |
EFFECT_STANDARD_ECHO | エコー |
EFFECT_STANDARD_FLANGER | フランジ |
EFFECT_STANDARD_GARGLE | ガーグル |
EFFECT_STANDARD_I3DL2REVERB | Interactive 3D Level 2 リバーブ |
EFFECT_STANDARD_PARAMEQ | パラメトリック イコライザ |
EFFECT_WAVES_REVERB | Waves リバーブ |
前回のサウンドを再生するサンプルプログラム "dmtest" に変更を加える形で作業を行います。
Load関数でサウンドを読み込んだ後であれば、どのタイミングからでもSetEffect関数を呼び出すことができます。上の表に示す様々なエフェクトを試してみると面白いですよ☆
Function InitProc()
'DirectXを初期化
If dx_Init(hMainWnd,ScreenX,ScreenY,FALSE)=0 Then
InitProc=0
Exit Function
End If
'マウスカーソルを非表示にする
ShowCursor(FALSE)
' TODO: この位置にアプリケーションの初期化コードを記述してください。
'CAudioクラスの生成
pAudio=New CAudio
'サウンドファイルをロード(適当にWAVE/MIDIファイルを指定します)
pAudio->Load("test.wav")
'エフェクトをかける
pAudio->SetEffect(EFFECT_STANDARD_ECHO)
'再生
pAudio->Play()
InitProc=1
End Function
講座インデックスへ戻る | ©2005 Discoversoft |