What is the current workaround for AudioSource.ignoreListenerPause in Unity 4.6?

I have a variety of AudioSource objects that may be playing when I pause the game. I want these to continue playing, but I want the many other sounds to pause. So, I try to pause the listener and provide exemptions for a few sounds. However, in Unity 4.6, AudioSource.ignoreListenerPause = true seems to have no effect.

This seems to be acknowledged as a bug and described as fixed in 5.0.

Unfortunately, this project has too many dependencies on 4.6 to upgrade to 5.0.

A search shows that there are various workarounds described for 4.x: disabling and reenabling the source, making sure the option is set before playing, etc. None of these seem to work on 4.6. Does anyone have experience with this issue and has found a workaround they can share before I make a custom alternative to pausing the listener? Thanks!

So, in practice ignoreListenerPause does have a partial effect in 4.6, in that an AudioSource with this set will respond to Play(). (Without that set, it will not.)

A workaround to keep audio with this flag set playing during a listener pause:

  1. Use a custom method to set ignoreListenerPause on an AudioSource, and track all such sources when this flag is set.
  2. On the same frame where the listener is paused, check if any of those sources is playing, and invoke Play() after pausing the listener. There will be no interruption in the clip.