Pause button scripting woes

Hello

I’m a designer by trade & having difficulty getting my head around scripting. For most of what I’m doing, I’m managing to get by modifying snippetts that I’ve found online. However, one spot where I’m now stuck is making a pause button work for streaming mp3 files.
I should qualify that adding the pause button was an after thought that I now realise is essential to the project working properly.

The mp3 needs to start playing as soon as it starts downloading which is working fine. The mp3 needs to stop when the user goes to the next or the previous page, which is also working fine. But when the pause button is clicked first time, nothing happens. When it’s clicked a second time, another instance of the mp3 starts playing. The pause and stop buttons work on this second instance, but not the first. I’m sure there’s something really straight forward that I’m missing here, but I need a hand to find it.

Following is the script as it now stands. Any help would be greatly appreciated.

import flash.media.Sound;
import flash.media.SoundLoaderContext;
import flash.net.URLRequest;
import flash.events.MouseEvent;

var s2:Sound = new Sound();
var req2:URLRequest = new URLRequest(“intro2.mp3”);
var context2:SoundLoaderContext = new SoundLoaderContext(8000, true);
var isPlaying:Boolean = new Boolean();
var pausePosition:Number = new Number();

s2.load(req2, context2);
s2.addEventListener(Event.COMPLETE, onComplete, false, 0, true);

var soundchannels2:SoundChannel = s2.play();
//isplaying = true;

BackBut.addEventListener(MouseEvent.CLICK, f3_ClickToStopAllSounds);
controller.addEventListener(MouseEvent.MOUSE_DOWN, btnPressController, false, 0, true);
stop_btn.addEventListener(MouseEvent.MOUSE_DOWN, btnPressStop, false, 0, true);

function onComplete(evt:Event):void {
//Play loaded sound
soundchannels2 = s2.play();
isPlaying = true;
}

function btnPressController(evt:MouseEvent):void
{
switch(isPlaying)
{
case true:
controller.gotoAndStop(2);
pausePosition = soundchannels2.position;
soundchannels2.stop();
isPlaying = false;
break;
case false:
controller.gotoAndStop(1);
soundchannels2 = s2.play(pausePosition);
isPlaying = true;
break;
}
}

function btnPressStop(evt:MouseEvent):void
{
pausePosition = 0;
soundchannels2.stop();
controller.gotoAndStop(2);
isPlaying = false;
}

function f3_ClickToStopAllSounds(event:MouseEvent):void
{
SoundMixer.stopAll();
}

soundchannels2.addEventListener(Event.SOUND_COMPLE TE, s2Complete);
function s2Complete(e:Event)
{
this.nextFrame();
}

stop();

BackBut.addEventListener(MouseEvent.CLICK, goback);

function goback(event:MouseEvent):void
{
prevFrame();

}
stop();