1

BinaryReader を使用して midi ファイルを読み取る方法 (形式の仕様はこちら)

私は vb.net を使用していますが、他のコードも見てみたいと思っています (ほとんどは C# だけで、変換できます)。私は大規模なプロジェクトに取り組んでいますが、これは少しスピードバンプになります。

これが私の現在のコードです:

Private Function convertCharArrayToString(ByVal chars() As Char) As String
    Dim tReturn As String = ""
    For Each v As Char In chars
        tReturn &= v
    Next
    Return tReturn
End Function

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    midiStatus = "Reading..."
    Dim midiStream As New StreamReader(midiFile)
    Dim nBR As New BinaryReader(midiStream.BaseStream)
    midiStatus = "Validating Midi File..."
    Dim HeaderA As String = convertCharArrayToString(nBR.ReadChars(4))
    If Not HeaderA = "MThd" Then Return
    Dim HeaderB() As Byte = nBR.ReadBytes(4)
    'Get Track Type
    midiStatus = "Reading Header Data..."
    Dim TrackType1 As Integer = nBR.ReadInt16()
    Dim TrackType2 As Integer = nBR.ReadInt16()
    MsgBox(TrackType1 & TrackType2)

End Sub

実際のヘッダーデータの読み取りを開始するまで、すべてが機能します。どうやって続けたらいいのか、完全に迷っています。どんなヘルプやコード例もいいでしょう!

4

1 に答える 1

1

GUI で直接ではなく、クラスでデコード ロジックを記述します。

MIDI ヘッダーの構造体を定義し、次のようなものを使用て設定します。

于 2011-04-12T00:44:14.400 に答える