Od pewnego czasu borykam się z tym problemem i nie mogłem znaleźć działającego rozwiązania.Najprostszy sposób na odczytywanie próbek dwukanałowych do macierzy od WaveStream
Mam plik wav (16-bitowy PCM: 44kHz 2 kanały) i chcę pobrać próbki do dwóch tablic dla każdego z dwóch kanałów. O ile mi wiadomo, bezpośrednia metoda nie istnieje w bibliotece NAudio, więc próbowałem uruchomić następujący kod, aby odczytać kilka próbek z przeplotem, ale tablica buforów pozostaje pusta (tylko kilka zer):
using (WaveFileReader pcm = new WaveFileReader(@"file.wav"))
{
byte[] buffer = new byte[10000];
using (WaveStream aligned = new BlockAlignReductionStream(pcm))
{
aligned.Read(buffer, 0, 10000);
}
}
Każda pomoc w tej sprawie będzie bardzo cenna.
Widzieliście to: http://mark-dot-net.blogspot.com.au/2012/01/handling-multi-channel-audio-in-naudio.html – yamen