Microsoft DirectX 8.0 (Visual Basic)

ステップ 4 : セグメントのロード

これまでのステップで、アプリケーションがサウンドをロードおよび再生するために必要なすべてのオブジェクトが用意された。このサンプルでは、[Play] ボタンがクリックされるたびに、ユーザーが選択したファイルの種類に応じて 3 つのサウンド ファイルのいずれかが再生される。

[Play] ボタンが最初にクリックされたときと、オプション ボタンが選択されたときに、LoadSound プロシージャが呼び出される。このプロシージャが最初に行うのは、ファイルの存在の確認である。

    If Dir$(sFile) = vbNullString Then
        MsgBox "Unable to find " & sFile, vbOKOnly Or vbCritical, _
               "Not found."
        Unload Me
    End If
    

セグメントが既にロードされている場合は、シンセサイザからそのセグメントのバンドをアンロードしてから、セグメントを解放する。

    If Not (dmSeg Is Nothing) Then
        dmSeg.Unload dmPath
        Set dmSeg = Nothing
    End If

次に、新しいセグメントをロードする。セグメントが MIDI ファイルの場合、アプリケーションは DirectMusicSegment8.SetStandardMidiFile を呼び出す。標準的な MIDI ファイルは、DirectMusic Producer セグメントとして保存されているファイルといくぶん動作が異なるが、この呼び出しによって正しく処理することができる。

    Set dmSeg = dml.LoadSegment(sFile)
    If Right$(sFile, 4) = ".mid" Then dmSeg.SetStandardMidiFile

LoadSound プロシージャは、次の「ステップ 5 : バンドのダウンロード」に続く。