
Private Sub getWavData(ByVal s As String)
Try
Dim MyFile As String = s
Dim MyFileInfo As New (MyFile)
Dim MyStream As = MyFileInfo.OpenRead()
Dim MyInfo As String = MyFile + "文件的标志信息如下:" + vbCrLf
If (MyStream.Length >= 44) Then
Dim MyBytes(44) As Byte
MyStream.Read(MyBytes, 0, 44)
System.Text.Encoding.Default.GetString(MyBytes, 0, 4)
If ((System.Text.Encoding.Default.GetString(MyBytes, 0, 4) = "RIFF") And _
(System.Text.Encoding.Default.GetString(MyBytes, 8, 4) = "WAVE") And _
(System.Text.Encoding.Default.GetString(MyBytes, 12, 4) = "fmt ")) Then
MyInfo += vbCrLf + " GroupID:" + _
System.Text.Encoding.Default.GetString(MyBytes, 0, 4).ToString()
System.BitConverter.ToInt32(MyBytes, 4)
MyInfo += vbCrLf + " FileSize:" + _
System.BitConverter.ToInt32(MyBytes, 4).ToString()
MyInfo += vbCrLf + " RiffType:" + _
System.Text.Encoding.Default.GetString(MyBytes, 8, 4).ToString()
MyInfo += vbCrLf + " ChunkID:" + _
System.Text.Encoding.Default.GetString(MyBytes, 12, 4).ToString()
MyInfo += vbCrLf + " ChunkSize:" + _
System.BitConverter.ToInt32(MyBytes, 16).ToString()
MyInfo += vbCrLf + " WFormatTag:" + _
System.BitConverter.ToInt16(MyBytes, 20).ToString()
MyInfo += vbCrLf + " WChannels:" + _
System.BitConverter.ToUInt16(MyBytes, 22).ToString()
MyInfo += vbCrLf + " DWSamplesPerSec:" + _
System.BitConverter.ToUInt32(MyBytes, 24).ToString()
MyInfo += vbCrLf + " DWavBytesPerSec:" + _
System.BitConverter.ToUInt32(MyBytes, 28).ToString()
MyInfo += vbCrLf + " WBLockAlign:" + _
System.BitConverter.ToUInt16(MyBytes, 32).ToString()
MyInfo += vbCrLf + " WBitsPerSample:" + _
System.BitConverter.ToUInt16(MyBytes, 34).ToString()
MyInfo += vbCrLf + " DataChunkID:" + _
System.Text.Encoding.Default.GetString(MyBytes, 36, 4).ToString()
MyInfo += vbCrLf + " DataSize:" + _
System.BitConverter.ToInt32(MyBytes, 40).ToString()
End If
End If
MyStream.Close()
MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show(ex.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Try
End Sub
Try
Dim MyFile As String = s
Dim MyFileInfo As New (MyFile)
Dim MyStream As = MyFileInfo.OpenRead()
Dim MyInfo As String = MyFile + "文件的标志信息如下:" + vbCrLf
If (MyStream.Length >= 44) Then
Dim MyBytes(44) As Byte
MyStream.Read(MyBytes, 0, 44)
System.Text.Encoding.Default.GetString(MyBytes, 0, 4)
If ((System.Text.Encoding.Default.GetString(MyBytes, 0, 4) = "RIFF") And _
(System.Text.Encoding.Default.GetString(MyBytes, 8, 4) = "WAVE") And _
(System.Text.Encoding.Default.GetString(MyBytes, 12, 4) = "fmt ")) Then
MyInfo += vbCrLf + " GroupID:" + _
System.Text.Encoding.Default.GetString(MyBytes, 0, 4).ToString()
System.BitConverter.ToInt32(MyBytes, 4)
MyInfo += vbCrLf + " FileSize:" + _
System.BitConverter.ToInt32(MyBytes, 4).ToString()
MyInfo += vbCrLf + " RiffType:" + _
System.Text.Encoding.Default.GetString(MyBytes, 8, 4).ToString()
MyInfo += vbCrLf + " ChunkID:" + _
System.Text.Encoding.Default.GetString(MyBytes, 12, 4).ToString()
MyInfo += vbCrLf + " ChunkSize:" + _
System.BitConverter.ToInt32(MyBytes, 16).ToString()
MyInfo += vbCrLf + " WFormatTag:" + _
System.BitConverter.ToInt16(MyBytes, 20).ToString()
MyInfo += vbCrLf + " WChannels:" + _
System.BitConverter.ToUInt16(MyBytes, 22).ToString()
MyInfo += vbCrLf + " DWSamplesPerSec:" + _
System.BitConverter.ToUInt32(MyBytes, 24).ToString()
MyInfo += vbCrLf + " DWavBytesPerSec:" + _
System.BitConverter.ToUInt32(MyBytes, 28).ToString()
MyInfo += vbCrLf + " WBLockAlign:" + _
System.BitConverter.ToUInt16(MyBytes, 32).ToString()
MyInfo += vbCrLf + " WBitsPerSample:" + _
System.BitConverter.ToUInt16(MyBytes, 34).ToString()
MyInfo += vbCrLf + " DataChunkID:" + _
System.Text.Encoding.Default.GetString(MyBytes, 36, 4).ToString()
MyInfo += vbCrLf + " DataSize:" + _
System.BitConverter.ToInt32(MyBytes, 40).ToString()
End If
End If
MyStream.Close()
MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show(ex.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Try
End Sub