Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C# File.ReadAllBytes("sound.wav")

Ahoj.
Mam nějaký zvukový soubor typu wav a načetl jsem z něj data do pole pomocí read all text. Pole je datového typu byte. Velikost pole = velikosti souboru wav v bajtech. V poli tečka mam veškerý informace o wav souborů a taky samotný zvuk v báječný. Pole obsahuje například název souboru (v bajtech) nebo samotné vzorky tohoto zvuku. Wav soubor má 16 bitový zvuk což znamena ze je možnost na vzorek uložit az dva na ses načtou možností vzorků. Já potřebují nějak vytáhnout hodnotu vzorků číslo jedna ze zvuku a potřebují to vidět jako 16 bitové d číslo. No jo ale pole je přeci bajtove takže tam se asi 16 bitové číslo nevejde. Wav má na to styl ze rozdělit 16 bitové číslo do dvou bajtovych čísel. Moje otázka tedy zni jaky způsobem ty čísla rozděluje neboli převod 16 bitového čísla na dvě bajtove...

Předmět Autor Datum
Tady mas celkem nazorny popis, jak ta data jsou ve wav souboru ulozena: https://ccrma.stanford.edu/… nový
gilhad 10.11.2014 01:09
gilhad
To už jsem četl ale tam není odpověď na moji otázku nový
Mirek Dolezal 10.11.2014 01:12
Mirek Dolezal
Sorry za ty chyby:... Tečka = teďka báječný = bajtech ses načtou = šesnáctou nový
Mirek Dolezal 10.11.2014 01:11
Mirek Dolezal
vzorka = bajt1 + (word)bajt2 * 256; vzorka musi byt typu signed short inac to nebude spravne fungov… nový
MM.. 10.11.2014 01:12
MM..
Díky díky díky díky moc :))))))))) nový
Mirek Dolezal 10.11.2014 01:13
Mirek Dolezal
A kedze C# je pre lamy tak na vsetko maju funkciu http://msdn.microsoft.com/en-us/library/system.bit… nový
MM.. 10.11.2014 01:15
MM..
:DD nový
Mirek Doležal 10.11.2014 15:42
Mirek Doležal
Tak převod z 16bit do 8bit bych měl... byte[] data = BitConverter.GetBytes(vzorka); data[0] //toto… nový
Mirek Doležal 10.11.2014 16:38
Mirek Doležal
8bit na 16bit... short vzorek = BitConverter.ToInt16(data, 0); nový
Mirek Doležal 10.11.2014 16:46
Mirek Doležal
ONO TO FUNGUJE!!! poslední
Mirek Doležal 10.11.2014 17:01
Mirek Doležal

Zpět do poradny Odpovědět na původní otázku Nahoru