バイナリファイルからByte読み取り Visual Basic .NET
Visual Basic .NET のファイル メソッド
まずは「Visual Basic .NET のファイル I/O オプションの中から選択する」のコードを参考に、wav ファイルを開いてひとつひとつByteに読み込むことができました。
読み取ったByteをアルファベットに変換する関数は「Chr 関数、ChrW 関数」で参照しました。(もっと簡単にByteじゃなくてChar型の変数に1文字ずつ読み込んでアスキー文字にする方法もあります。)本当は32ビット(Long)や16ビット(Short)をまとめて読み込みたいのですが、LongやShortをアスキー文字「列」に変換する簡単な方法はまだ見つけていません。*1
この手順で、wavファイルのヘッダ情報の最初の4文字「R」「I」「F」「F」が表示されます。
Dim ChunkID1 As Byte
Dim ChunkID2 As Byte
Dim ChunkID3 As Byte
Dim ChunkID4 As Byte
Dim WavName As String
WavName = OpenFileDialog1.FileName
FileOpen(1, WavName, OpenMode.Binary)
FileGet(1, ChunkID1, ) : Label1.Text = Chr(ChunkID1)
FileGet(1, ChunkID2, ) : Label2.Text = Chr(ChunkID2)
FileGet(1, ChunkID3, ) : Label3.Text = Chr(ChunkID3)
FileGet(1, ChunkID4, ) : Label4.Text = Chr(ChunkID4)
ちなみに、「Visual Basic 6.0 から Visual Basic .NET への移行」で、VB6とVB.NETでは変数のサイズが違うことを解説しています。(VariantがObjectに、IntegerがShort(16ビット)に、LongがInteger(32ビット)に。)
(追記)連続したバイトから文字列に変換するメソッドは?
このあたりかもしれません。
Decoder.GetChars メソッド
*1:翌日見つかりました。http://d.hatena.ne.jp/jjs/20070116/p1