Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
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