Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature currently requires accessing the site using the built-in Safari browser.
Dim buffer() As Byte
Dim fs As New FileStream(file, FileMode.Open)
Dim br As New BinaryReader(fs)
Dim stext, stemp As String
Dim itemp As Integer
Dim Potenz As Integer = 0
stemp = ""
stext = "Länge der Datei: " & br.BaseStream.Length & vbCrLf ' Länge der Datei
buffer = br.ReadBytes(br.BaseStream.Length)
' ********************************************
' * Header einer PWM wave Datei
' * 1) 1. - 4. Byte = ASCII-Zeichen für "RIFF"
For i As Integer = 0 To 3
'Dim num_val As Byte = Byte.Parse(buffer(i), System.Globalization.NumberStyles.HexNumber)
Dim aChar As Char = Chr(buffer(i))
stemp += aChar.ToString ' Ausgabe als Zeichen
stext += Hex(buffer(i)) & " " ' Ausgabe als Hex
Next
stext += "= " & stemp & vbCrLf
ASCIIRIFF = stemp
stemp = ""
' * 2) 5. - 8. Byte = Länge des Files (mit Header) in Byte, vermindert um 8
For i As Integer = 4 To 7
'Dim num_val As Byte = Byte.Parse(buffer(i), System.Globalization.NumberStyles.HexNumber)
itemp += buffer(i) * 256 ^ Potenz
Potenz += 1
stext += Hex(buffer(i)) & " " ' Ausgabe als Hex
Next
stext += "= " & itemp.ToString & vbCrLf
FileLaenge = itemp
itemp = 0 ' tmp zurücksetzen
Potenz = 0 ' Potenz zurücksetzen
' * 3) 9. - 16. Byte = ASCII-Zeichen für "WAVEfmt_"
For i As Integer = 8 To 15
'Dim num_val As Byte = Byte.Parse(buffer(i), System.Globalization.NumberStyles.HexNumber)
Dim aChar As Char = Chr(buffer(i))
stemp += aChar.ToString ' Ausgabe als Zeichen
stext += Hex(buffer(i)) & " " ' Ausgabe als Hex
Next
stext += "= " & stemp & vbCrLf
ASCIIWaveformat = stemp
stemp = ""
' * 4) 17. - 20. Byte = zur Zeit fest Dez. 16 bzw Hex 10 00 00 00
For i As Integer = 16 To 19
'Dim num_val As Byte = Byte.Parse(buffer(i), System.Globalization.NumberStyles.HexNumber)
itemp += buffer(i) * 256 ^ Potenz
Potenz += 1
stext += Hex(buffer(i)) & " " ' Ausgabe als Hex
Next
stext += "= " & itemp.ToString & vbCrLf
Konst16 = itemp
itemp = 0
Potenz = 0 ' Potenz zurücksetzen
' * 5) 21. - 22. Byte = Format-Version, z.Zt. 1
For i As Integer = 20 To 21
'Dim num_val As Byte = Byte.Parse(buffer(i), System.Globalization.NumberStyles.HexNumber)
itemp += buffer(i) * 256 ^ Potenz
Potenz += 1
stext += Hex(buffer(i)) & " " ' Ausgabe als Hex
Next
stext += "= " & itemp.ToString & vbCrLf
FormatVersion = itemp
itemp = 0
Potenz = 0
' * 6) 23. - 24. Byte = Anzahl der Kanäle, 1 = Mono, 2 = Stereo
For i As Integer = 22 To 23
'Dim num_val As Byte = Byte.Parse(buffer(i), System.Globalization.NumberStyles.HexNumber)
itemp += buffer(i) * 256 ^ Potenz
Potenz += 1
stext += Hex(buffer(i)) & " " ' Ausgabe als Hex
Next
stext += "= " & itemp.ToString & vbCrLf
AnzahlKanaele = itemp
itemp = 0
Potenz = 0
' * 7) 25. - 28. Byte = Abtastfrequenz in Hz
For i As Integer = 24 To 27
'Dim num_val As Byte = Byte.Parse(buffer(i), System.Globalization.NumberStyles.HexNumber)
itemp += buffer(i) * 256 ^ Potenz
Potenz += 1
stext += Hex(buffer(i)) & " " ' Ausgabe als Hex
Next
stext += "= " & itemp.ToString & vbCrLf
Abtastfrequenz = itemp
itemp = 0
Potenz = 0
' * 8) 29. - 32. Byte = Byte pro Sekunde
For i As Integer = 28 To 31
'Dim num_val As Byte = Byte.Parse(buffer(i), System.Globalization.NumberStyles.HexNumber)
itemp += buffer(i) * 256 ^ Potenz
Potenz += 1
stext += Hex(buffer(i)) & " " ' Ausgabe als Hex
Next
stext += "= " & itemp.ToString & vbCrLf
ByteProSekunde = itemp
itemp = 0
Potenz = 0
' * 9) 33. - 34. Byte = Byte pro Sample
For i As Integer = 32 To 33
'Dim num_val As Byte = Byte.Parse(buffer(i), System.Globalization.NumberStyles.HexNumber)
itemp += buffer(i) * 256 ^ Potenz
Potenz += 1
stext += Hex(buffer(i)) & " " ' Ausgabe als Hex
Next
stext += "= " & itemp.ToString & vbCrLf
ByteProSample = itemp
itemp = 0
Potenz = 0
' * 9) 35. - 36. Byte = Bit pro Sample
For i As Integer = 34 To 35
'Dim num_val As Byte = Byte.Parse(buffer(i), System.Globalization.NumberStyles.HexNumber)
itemp += buffer(i) * 256 ^ Potenz
Potenz += 1
stext += Hex(buffer(i)) & " " ' Ausgabe als Hex
Next
stext += "= " & itemp.ToString & vbCrLf
BitsProSample = itemp
itemp = 0
Potenz = 0
' * 10) 37. - 40. Byte = ASCII-Zeichen für "data"
For i As Integer = 36 To 39
'Dim num_val As Byte = Byte.Parse(buffer(i), System.Globalization.NumberStyles.HexNumber)
Dim aChar As Char = Chr(buffer(i))
stemp += aChar.ToString ' Ausgabe als Zeichen
stext += Hex(buffer(i)) & " " ' Ausgabe als Hex
Next
stext += "= " & stemp & vbCrLf
ASCIIdata = stemp
stemp = ""
' * 9) 41. - 44. Byte = Länge des anschließenden Datenfeldes in Byte
For i As Integer = 40 To 43
'Dim num_val As Byte = Byte.Parse(buffer(i), System.Globalization.NumberStyles.HexNumber)
itemp += buffer(i) * 256 ^ Potenz
Potenz += 1
stext += Hex(buffer(i)) & " " ' Ausgabe als Hex
Next
stext += "= " & itemp.ToString & vbCrLf
LaengeDatenfeldes = itemp
itemp = 0
Potenz = 0
WaveLaengeInSekunde = (FileLaenge - 44) / ByteProSekunde