C # - фиктивные данные при загрузке файла * .wav в байтовый массив - PullRequest
0 голосов
/ 21 августа 2009

Я пытаюсь загрузить файл * .wav в байтовый массив, используя C # 3.0 и .NET 3.5, например:

  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);

От байта [58] и до конца (~ 50 Кбайт) все значения равны 127 или 128 (я полагаю, что первые ~ 58 байт являются заголовками?).

Волновой файл хорошо воспроизводится в медиаплеере Windows и других проигрывателях, и я уверен, что в этом нет ничего плохого (он записан на диктофоне в WinXP).

Информация о волновом файле:

BitRate : 176 Кбит / с
Размер аудиосэмпла : 8 бит
Частота дискретизации аудио : 22 кГц
Аудиоформат : PCM

Когда я пытаюсь воспроизвести поток байтов с помощью .NET SoundPlayer, это звучит ужасно :-) Есть идеи?

[РЕШИТЬ]
В конце концов, это не было проблемой, поэтому мне придется продолжить поиск настоящей ошибки.

1 Ответ

2 голосов
/ 21 августа 2009

Насколько я вижу, код выглядит хорошо.

Вы можете попробовать более простой код:

byte[] bytes = File.ReadAllBytes(filedialog.FileName);
...