I am trying to play a Dialogic ADPCM file (no RIFF header) with the NAUDIO library. I have tried a couple of different things but have been unsuccessful so far. I tried a simple wav conversion:
FileStream fs = new FileStream(@"C:\TestFile.vox", FileMode.Open, FileAccess.Read);
WaveFormat wf = new WaveFormat(8000, 1);
WaveOut wo = new WaveOut();
RawSourceWaveStream rawSource = new RawSourceWaveStream(fs, wf);
wo.Init(rawSource);
wo.Play();
This actually loads the file and starts to playback but its very noisy and distorted (actually not listenable) almost like the wrong codec was chosen to convert the file. I tried a more specific conversion because it appears as though NAUDIO has support for Dialogic ADPCM built in:
FileStream fs = new FileStream(@"C:\TestFile.vox", FileMode.Open, FileAccess.Read);
WaveFormat wf = WaveFormat.CreateCustomFormat(WaveFormatEncoding.DialogicOkiAdpcm, 8000, 1, 3000, 1, 4);
WaveOut wo = new WaveOut();
RawSourceWaveStream rawSource = new RawSourceWaveStream(fs, wf);
wo.Init(rawSource);
wo.Play();
This raises an exception when calling WaveOut.Init() - The exception is "WaveBadFormat calling waveOutOpen" I also tried using
AdpcmWaveFormat wf = new AdpcmWaveFormat(8000, 1);
for my WaveFormat object- I get the same exception. The file is recorded at a sample rate of 8000 Hz and is only 1 channel. Any help getting this sorted out would be greatly appreciated. Thanks