2016-06-09 7 views
0

J'essaie d'utiliser le NAudio lib comme ci-dessous. Quand j'ai un fichier WAV enregistré en mono, 4KHz, le tableau AudioBytesOriginal a tous les zéros. Le fichier est lu lorsque vous double-cliquez sur Windows, les données sont donc présentes. Il joue également dans Audacity.NAudio 4000Hz WAV?

using (var waveFileReader = new WaveFileReader(FileNameIn)) 
       { 
        var thisIsWhat = waveFileReader.WaveFormat; // reports as 8KHz 
        AudioBytesOriginal = new byte[waveFileReader.Length]; 
        int read = waveFileReader.Read(AudioBytesOriginal , 0 , AudioBytesOriginal.Length); 
        short[] sampleBuffer = new short[read/2]; 
        Buffer.BlockCopy(AudioBytesOriginal , 0 , sampleBuffer , 0 , read); 

       } 

J'ai besoin le taux d'échantillonnage extrêmement faible pour la lecture sur un appareil limité, mais je utilise .NET Framework 4.6.1 avec NAudio pour gérer le travail d'octets.

Merci.

Répondre

0

deux choses à vérifier

1) quelle est la valeur de read? Est-ce que c'est 0?

2) Jusqu'où avez-vous vérifié dans sampleBuffer? Même une demi-seconde de silence au début d'un fichier audio se traduira par plusieurs milliers d'échantillons avec 0 valeur

+0

valeur de lecture est 16184. samplebuffer est 8092, valeur de zéro dans chaque élément de tableau. – Snowy

+0

Je peux vous envoyer le wav original (16k) si vous en avez besoin. – Snowy

+0

qu'en est-il des octets audio originaux. est-ce que tous les zéros? –