Pergunta

Eu estou tentando carregar um arquivo * .wav para uma matriz de bytes usando C # 3.0 e .NET 3.5 como esta:

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

De byte [58] e para a extremidade (~ 50k bytes) todos os valores são 127 ou 128 (acho que os primeiros 58 bytes são ~ material cabeçalho?).

O arquivo de onda está jogando muito bem no player de mídia Windows e outros jogadores, e tenho certeza que não é nada de errado com ele (é gravado com o gravador de som em WinXP).

Ondas info:

BitRate : 176kbps
tamanho Áudio amostra : 8bit
taxa de amostragem de áudio : 22kHz
Formato de áudio : PCM

Quando tento jogar o fluxo de bytes utilizando o .NET SoundPlayer soa terrível :-) Alguma idéia?

[RESOLVIDO]
Este não era o problema depois de tudo, então eu vou ter que continuar minha pesquisa para o bug real.

Foi útil?

Solução

O código parece certo, tanto quanto eu posso ver.

Você poderia tentar o código mais simples:

byte[] bytes = File.ReadAllBytes(filedialog.FileName);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top