C # - dati falsi durante il caricamento di un file * .wav array di byte
Domanda
Sto cercando di caricare un file * .wav a un array di byte utilizzando C # 3.0 e .NET 3.5 in questo modo:
var fs = File.Open(filedialog.FileName, FileMode.Open,FileAccess.Read);
long numBytes = new FileInfo(filedialog.FileName).Length;
BinaryReader br = new BinaryReader(fs);
byte[] bytes = br.ReadBytes((int)numBytes);
Da byte [58] e alla fine (~ byte 50k) tutti i valori sono 127 o 128 (immagino il primo roba ~ 58 byte sono intestazione?).
Il file wave sta giocando bene in Windows media player e altri giocatori, e sono sicuro che c'è niente di sbagliato con esso (è registrato con il registratore di suoni in WinXP).
Info file Wave:
BitRate : 176kbps
Audio dimensione del campione : 8bit
frequenza di campionamento audio : 22kHz
Formato audio : PCM
Quando si tenta di riprodurre il flusso di byte utilizzando il .NET SoundPlayer suona terribile :-) Tutte le idee?
[risolto]
Questo non era il problema, dopo tutto, quindi dovrò continuare la mia ricerca del vero e proprio bug.
Soluzione
Il codice è tutto a posto, per quanto posso vedere.
Si potrebbe provare il codice più semplice:
byte[] bytes = File.ReadAllBytes(filedialog.FileName);