The problem is that pause isn't currently handled by the playback engine,
but passed on to the audio output section (PCM playback). This can be
modified fairly easily, but the result would be that pausing (and resuming)
would no longer take place near-instantly as the act of pausing would not
stop any already-buffered audio from being output; this might take several
seconds to play out.

What is really needed is for the PCM section to be reworked as a low latency
mixer section, with separate inputs for audio playback, voice, beeps etc.

You may want to speak to jhMikeS on IRC, he started looking into this a
while back; no idea how far he got though.