NAudio v1.4.0 Release Notes

Release Date: 2011-04-20 // about 13 years ago
  • πŸš€ Release announcement

    • πŸš€ Major interop improvements to support native x64. Please note that I have not in this release changed the dll’s target platform away from x86 only as I don’t personally have an x64 machine to test on. However, we are now in a state where around 95% of the interop should work fine in x64 mode so feel free to recompile for β€œany CPU”. You should also note that if you do run in native x64 mode, then you probably will find there are no ACM codecs available, so WaveFormatConversionStream might stop working – another reason to stay targetting x86 for now.
    • πŸš€ There have also been major enhancements to MP3 File Reader, which is the main reason for pushing this new release out. Please read this post for more details as this is a breaking change – you no longer need to use a WaveFormatConversionStream or a BlockAlignReductionStream.
    • More examples IWaveProvider implementers have been added, including the particularly useful BufferedWaveProvider which allows you to queue up buffers to be played on demand.
      • BufferedWaveProvider
      • Wave16toFloatProvider
      • WaveFloatTo16Provider
      • WaveInProvider
      • MonoToStereoProvider16
      • StereoToMonoProvider16
      • WaveRecorder
    • ⚑️ The NAudioDemo project has been updated to attempt to show best practices (or at least good practices) of how you should be using these classes.
    • The NAudioDemo project also now demonstrates how to select the output device for WaveOut, DirectSoundOut, WasapiOut and AsioOut.
    • πŸ‘ WaveChannel32 can now take inputs of more bit depths – 8, 16, 24 and IEEE float supported. NAudioDemo shows how to play back these files.
    • 🚚 A general spring clean removed a bunch of obsolete classes from the library.
    • AsioOut more reliable, although I still think there are more issues to be teased out. Please report whether it works on your hardware.
    • πŸ‘ WaveFileReader and WaveFileWriter support for 24 and 32 bit samples
    • πŸ‘ Allow arbitrary chunks to appear before fmt chunk in a WAV file
    • Reading and writing WAV files with Cues
    • Obsoleted some old WaveFileWriter and WaveFileReader methods
    • πŸ›  Fixed a longstanding issue with WaveOutReset hanging in function callbacks on certain chipsets
    • βž• Added sequencer specific MIDI event
    • RawWaveSourceStream turns a raw audio data stream into a WaveStream with specified WaveFormat
    • A DMO MP3 Frame Decoder as an alternative to the ACM one
    • Easier selection of DirectSound output device
    • 0️⃣ WaveOut uses 2 buffers not 3 by default now (a leftover from the original days of NAudio when my PC had a 400MHz Pentium II processor!).
    • πŸ‘€ Lots more minor bug fixes & patches applied – see the check-in history for full details