ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
839
839
EMPFEHLEN
-
Hallo,
weis jemand wie ich die länge (Zeit und Grösse) eine wav datei ermittle?
vorzugsweise vb.net
danke
FrankFrage: was ist 1+1 ?
Der Physiker: irgendwas zwischen 0 und 1000!
Richtig, Wert liegt innerhalb des Grenzwertes.
Der Mathematiker: (nach 10 h)Aufgabe lösbar, alles andere ist trivial!, Richtig!
Der Informatiker: 1.999999999999999... haste mal mehr Druckpapier?
-
06.12.07 16:07 #2
Vielleicht helfen die Links in jenem Thread:
http://www.tutorials.de/forum/net-gr...en-memory.html
http://www.fh-friedberg.de/fachberei...oku/dito41.htm
mfg chmeeMein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
Benutzt den DANKE-Knopf oder bewertet den Beitrag
"GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
-> Regexp <- -> php <- -> Javascript <-
-
hallo vielen Dank,
leider komme ich damit nicht viel weiter.
ich dachte es gäbe eine einfache Methode und muss die Datei nicht zerlegen um meine Zeit aus Dateilänge und Samplerate zu errechnen.
Gruss
FrankFrage: was ist 1+1 ?
Der Physiker: irgendwas zwischen 0 und 1000!
Richtig, Wert liegt innerhalb des Grenzwertes.
Der Mathematiker: (nach 10 h)Aufgabe lösbar, alles andere ist trivial!, Richtig!
Der Informatiker: 1.999999999999999... haste mal mehr Druckpapier?
-
06.12.07 22:54 #4
Also Bitte, Diese Rechnung ist auch nicht schwer. Mit ein bisschen Grips ist die in 5 Minuten zusammengestellt.
mfg chmee
p.s.: Hier mal die Grundgedanken:
WAV/PCM hat eine konstante Bitrate/Sekunde. Wenn man also die Dateigröße in Bit durch die Bitrate teilt, sollte eigentlich die
Laufzeit als Ergebnis in Sekunden erscheinen. Kürzen oder Umwandeln macht die Sache einfacher. Da es aber mehrere WAV-
Formate gibt, sollte man trotzdem im Header nachschauen, damit man die richtige Bitrate hat - die steht da drin
Geändert von chmee (06.12.07 um 23:49 Uhr)
Mein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
Benutzt den DANKE-Knopf oder bewertet den Beitrag
"GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
-> Regexp <- -> php <- -> Javascript <-
-
nagut, dann muss ich mach da wohl durchquälen,
es geht ja nicht ums können, sondern eher die Faulheit
Übrigens: sehr interessante Projekte (phreekz) hab auch mal mit G+B zusammengearbeitet
vielen Dank
Gruss
frankGeändert von F_P_aus_K (07.12.07 um 15:31 Uhr)
Frage: was ist 1+1 ?
Der Physiker: irgendwas zwischen 0 und 1000!
Richtig, Wert liegt innerhalb des Grenzwertes.
Der Mathematiker: (nach 10 h)Aufgabe lösbar, alles andere ist trivial!, Richtig!
Der Informatiker: 1.999999999999999... haste mal mehr Druckpapier?
-
07.12.07 18:33 #6
Frank, wenn Du zu Faul bist, eine Formel quasi im Handumdrehen mit 10 Windungen Hirnschmalz hinzuschreiben, weiss ich nicht, was Du möchtest ?! Und zudem schreibst Du Deine Frage in ein Coder-Unterforum.. hm..
Wir sind keine - Wir erledigen das für Euch - Community.
mfg chmee
Offtopic: Meistens sind diese interessanten Projekte einfach nur Jobs, womit ich meinen Lebensunterhalt verdiene. Referenzen eben.. Aber Danke..Mein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
Benutzt den DANKE-Knopf oder bewertet den Beitrag
"GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
-> Regexp <- -> php <- -> Javascript <-
-
>>Wir sind keine - Wir erledigen das für Euch - Community.<<
so wahr das ja auch nicht gemeint, die Links die du mir gegeben hast helfen mir ja schon weiter.Mit faul meinte ich nur , daß ich dacht, das es eine fertige Methode gäbe wo man sich das sparen kann, ich tüfltle eingentlch zeilmlich gerne was ebenso mein Beruf ist.
grüss meine alte Heimatstadt
frankFrage: was ist 1+1 ?
Der Physiker: irgendwas zwischen 0 und 1000!
Richtig, Wert liegt innerhalb des Grenzwertes.
Der Mathematiker: (nach 10 h)Aufgabe lösbar, alles andere ist trivial!, Richtig!
Der Informatiker: 1.999999999999999... haste mal mehr Druckpapier?
-
07.12.07 21:53 #8
Es gibt sicherlich eine in DirectShow oder DirectSound, unterm Strich habe ich aber das Gefühl, die ersten 45 Bytes der WAV-Datei zu lesen und dort die Daten rauszuholen geht schneller.
http://directshownet.sourceforge.net/
Ich werd Berlin grüßen
mfg chmeeMein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
Benutzt den DANKE-Knopf oder bewertet den Beitrag
"GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
-> Regexp <- -> php <- -> Javascript <-
-
08.12.07 11:35 #9
Hier noch ein Link zu GetDuration.
http://msdn.microsoft.com/archive/de...n_streams3.asp
mfg chmeeMein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
Benutzt den DANKE-Knopf oder bewertet den Beitrag
"GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
-> Regexp <- -> php <- -> Javascript <-
-
füe jeden dem es interessieren sollte
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
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
greez
frankFrage: was ist 1+1 ?
Der Physiker: irgendwas zwischen 0 und 1000!
Richtig, Wert liegt innerhalb des Grenzwertes.
Der Mathematiker: (nach 10 h)Aufgabe lösbar, alles andere ist trivial!, Richtig!
Der Informatiker: 1.999999999999999... haste mal mehr Druckpapier?
Ähnliche Themen
-
Länge einer WAV Datei ermitteln (MCI-Problem)
Von WorldRacer im Forum .NET CaféAntworten: 0Letzter Beitrag: 23.12.08, 13:19 -
MP3 Länge ermitteln
Von Sunnie im Forum PHPAntworten: 4Letzter Beitrag: 12.07.06, 22:10 -
Exel - Länge vom lnhalt einer Spalte ermitteln
Von Howie im Forum Office-AnwendungenAntworten: 4Letzter Beitrag: 16.03.05, 12:38 -
Länge des Inhaltes einer Resource in C++ ermitteln?
Von Teerow im Forum C/C++Antworten: 1Letzter Beitrag: 21.05.04, 12:23 -
String-Länge ohne .length() ermitteln...
Von lambda im Forum JavaAntworten: 4Letzter Beitrag: 15.12.03, 10:30





Zitieren

Login





