General state of audio support on MonoGame?


I’m wondering what is the current state of MonoGame audio support on different platforms?

I’ve spent a few hours unsuccessfully (so far) getting sound to work on my simple MonoGame Mac project. In my efforts to fix it, I’ve come across some disconcerting posts, but some of them are a couple of years old and I don’t know if they apply anymore.

FWIW, my current issue is the following on content.Load(…):

Microsoft.Xna.Framework.Audio.NoAudioHardwareException: OpenAL drivers could not be found. ---> System.DllNotFoundException: openal32.dll
  at at (wrapper managed-to-native) OpenTK.Audio.OpenAL.AL:GenBuffers (int,int*)
  at OpenTK.Audio.OpenAL.AL.GenBuffers (System.Int32 n, System.Int32& buffers) [0x00002] in <435a99b5419b4079af053e39255410c8>:0
  at Microsoft.Xna.Framework.Audio.OALSoundBuffer..ctor () [0x00006] in <c33f6c525d914593acc9b590397e7c2b>:0
  --- End of inner exception stack trace ---
  at Microsoft.Xna.Framework.Audio.OALSoundBuffer..ctor () [0x00023] in <c33f6c525d914593acc9b590397e7c2b>:0
  at Microsoft.Xna.Framework.Audio.SoundEffect.PlatformInitialize (System.Byte[] buffer, System.Int32 sampleRate, Microsoft.Xna.Framework.Audio.AudioChannels channels) [0x00034] in <c33f6c525d914593acc9b590397e7c2b>:0
  at Microsoft.Xna.Framework.Audio.SoundEffect..ctor (System.Byte[] buffer, System.Int32 sampleRate, Microsoft.Xna.Framework.Audio.AudioChannels channels) [0x00021] in <c33f6c525d914593acc9b590397e7c2b>:0
  at Microsoft.Xna.Framework.Content.SoundEffectReader.Read (Microsoft.Xna.Framework.Content.ContentReader input, Microsoft.Xna.Framework.Audio.SoundEffect existingInstance) [0x000ca] in <c33f6c525d914593acc9b590397e7c2b>:0
  at Microsoft.Xna.Framework.Content.ContentTypeReader1[T].Read (Microsoft.Xna.Framework.Content.ContentReader input, System.Object existingInstance) [0x00006] in <c33f6c525d914593acc9b590397e7c2b>:0
  at Microsoft.Xna.Framework.Content.ContentReader.InnerReadObject[T] (T existingInstance) [0x00033] in <c33f6c525d914593acc9b590397e7c2b>:0
  at Microsoft.Xna.Framework.Content.ContentReader.ReadObject[T] (T existingInstance) [0x00000] in <c33f6c525d914593acc9b590397e7c2b>:0
  at Microsoft.Xna.Framework.Content.ContentReader.ReadObject[T] () [0x00000] in <c33f6c525d914593acc9b590397e7c2b>:0
  at Microsoft.Xna.Framework.Content.ContentReader.ReadAsset[T] () [0x00006] in <c33f6c525d914593acc9b590397e7c2b>:0
  at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[T] (System.String assetName, System.Action1[T] recordDisposableObject) [0x0008f] in <c33f6c525d914593acc9b590397e7c2b>:0
  at Microsoft.Xna.Framework.Content.ContentManager.Load[T] (System.String assetName) [0x00068] in <c33f6c525d914593acc9b590397e7c2b>:0

OS: macOS Sierra 10.12

Thanks @MrValentine, I appreciate your answer, but my problem is that OpenAL is not working for me. My worry is that this is a configuration issue on my Mac, which means if I release a game for Macs, I could get lots of tech support complaints about sound not working. Which is why I asked about the general state of MG sound support.


1 Like

Is your OS on the supported list though?

You simply have to state supported platforms, nothing uncomplicated, nothing unusual and already the norm.

If your platform is, then look for the installer for OpenAL for your platform and see if it fixes the issue…

Someone else can answer the topic question though. I am still new here and not too fussed about cross platform; though it may help in future to know the state as well.

Good Luck.

Mac is definitely supported, and looking for an OpenAL installer is the first thing I did. It’s harder than it looks. But all that aside, I’m just curious to hear from someone who knows generally how well sound works on Mac & other platforms, or if it’s a bit of a nightmare.


Well I was just answering the secondary question/issue posted…

Good luck with the primary matter.

Thank you, I appreciate you taking the time to answer! :slight_smile:

The develop version of MonoGame switched to OpenAL Soft. That should fix your issue at least, not sure what you can do if you intend to stick with 3.5