Microsoft DirectX 8.0 (Visual Basic) |
アプリケーションで DirectMusicPerformance8.InitAudio を呼び出してデフォルトのオーディオパスを作成済みの場合は、DirectMusicPerformance8.PlaySegmentEx の AudioPath パラメータを省略して、デフォルトのパスでセグメントを再生できる。
デフォルトのオーディオパスがない場合、または、別のパスでセグメントを再生する場合は、次のいずれかの方法でオーディオパスを指定する。
注 DMUS_SEGF_USE_AUDIOPATH フラグを指定して作成されたオーディオパスは、セグメントの再生が停止すると直ちに解放される。オーディオパスにリバーブなどのエフェクトが含まれる場合、そのエフェクトは中断される。このような突然の中断を防ぐには、手動でオーディオパスを作成し、適切な時間をおいてから解放する。
DMUS_SEGF_USE_AUDIOPATH フラグを使って再生するセグメントについては、自動ダウンロードが有効になっていない限り、バンドはダウンロードされない。詳細については、「バンドの自動ダウンロード」を参照すること。
次のサンプル コードは、オーディオパス構成が埋め込まれている場合にそれを使ってセグメントを再生する。dmp は DirectMusicPerformance8 オブジェクトであり、dmSeg はサウンド ファイルの任意のタイプを表す DirectMusicSegment8 オブジェクトである。DirectMusicSegment8.GetAudioPathConfig の呼び出しでエラーが発生すると、path の値は Nothing のままになり、セグメントはデフォルトのオーディオパスで再生される。
Dim path As DirectMusicAudioPath8 Dim Config As IUnknown If Not (dmSeg Is Nothing) Then On Error GoTo NOCONFIG Set path = Nothing Set Config = dmSeg.GetAudioPathConfig Set path = dmp.CreateAudioPath(Config, True) NOCONFIG: On Error Resume Next dmp.PlaySegmentEx dmSeg, 0, 0, , path End If
オーディオパス オブジェクトがある場合は、DirectMusicAudioPath8.SetVolume を使ってボリュームを変更できる。DirectMusicPerformance8.SetMasterVolume メソッドはそのシンセサイザで再生されるすべてのサウンドに影響するが、このメソッドは、そのオーディオパスで再生されるパフォーマンス チャンネルのボリュームだけを設定する。