0

次のように、C# 3.0 と .NET 3.5 を使用して *.wav ファイルをバイト配列にロードしようとしています。

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

byte[58] から最後 (~50k バイト) まで、すべての値は 127 または 128 です (最初の ~58 バイトはヘッダーのものだと思いますか?)。

Wave ファイルは、Windows メディア プレーヤーやその他のプレーヤーで正常に再生されます。問題はないと確信しています (WinXP のサウンド レコーダーで録音されています)。

Wave ファイル情報:

BitRate : 176kbps
音声サンプルサイズ: 8bit
音声サンプルレート: 22kHz
音声フォーマット: PCM

.NET SoundPlayer を使用してバイト ストリームを再生しようとすると、ひどく聞こえます :-) 何かアイデアはありますか?

[解決済み]
結局、これは問題ではなかったので、本当のバグを探し続ける必要があります。

4

1 に答える 1

2

私が見る限り、コードは大丈夫に見えます。

より単純なコードを試すことができます。

byte[] bytes = File.ReadAllBytes(filedialog.FileName);
于 2009-08-21T11:24:43.063 に答える