views:

24

answers:

1

I'm trying to build a streaming .mp3 player to run various sound files on my web site. To do that, I followed a tutorial that includes a code template at:

http://blog.0tutor.com/post.aspx?id=202&title=Mp3%20player%20with%20volume%20slider%20using%20Actionscript%203

However, whether I preserve the template's direction to the author's own sound file or insert my own direction to my online sound file, I keep on running into glitches in the ActionScript that I can't fathom.

Those errors are:

1084: Syntax error: expecting rightparen before _.

1086: Syntax error: expecting semicolon before rightparen.

When I try to correct them, I get new errors. I can't determine whether the sound file is loading; it certainly never plays. The volume slider does not work.

I did find one line that looked like it should have been commented out, the one that reads

to start at the same place

So I tried commenting that out. No dice. Same errors.

Thanks in advance for any suggestions. Code follows:

var musicPiece:Sound = new Sound(new URLRequest _ 
("http://blog.0tutor.com/JeffWofford_Trouble.mp3"));
var mySoundChannel:SoundChannel;

var isPlaying:Boolean = false;

to start at the same place

var pos:Number = 0;

play_btn.addEventListener(MouseEvent.CLICK, play_);

function play_(event:Event):void {

if (!isPlaying) {
mySoundChannel = musicPiece.play(pos);
isPlaying = true;
}
}

pause_btn.addEventListener(MouseEvent.CLICK, pause_);

function pause_(event:Event):void {

if (isPlaying) {
pos = mySoundChannel.position;
mySoundChannel.stop();
isPlaying = false;
}
}

stop_btn.addEventListener(MouseEvent.CLICK, stop_);

function stop_(event:Event):void {
if (mySoundChannel != null) {
mySoundChannel.stop();
pos = 0;
isPlaying = false;
}
}


var rectangle:Rectangle = new Rectangle(0,0,100,0);

var dragging:Boolean = false;

volume_mc.mySlider_mc.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
function startDragging(event:Event):void {

volume_mc.mySlider_mc.startDrag(false,rectangle);
dragging = true;

volume_mc.mySlider_mc.addEventListener(Event.ENTER_FRAME, adjustVolume);
}

function adjustVolume(event:Event):void {

var myVol:Number = volume_mc.mySlider_mc.x / 100;
var mySoundTransform:SoundTransform = new SoundTransform(myVol);
if (mySoundChannel != null) {
mySoundChannel.soundTransform = mySoundTransform;
}
}

stage.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
function stopDragging(event:Event):void {
if (dragging) {
dragging = false;
volume_mc.mySlider_mc.stopDrag();
}
}
A: 

Syntax errors are just what it says they are, the code is not properly written. For instance , you shouldn't have an underscore after URLREquest

var musicPiece:Sound = 
new Sound(new URLRequest("http://blog.0tutor.com/JeffWofford_Trouble.mp3"));

to start at the same place should be commented out, simply because it's a comment, it's not a variable or a function.

to call a function "play_" is not really good practice either. Call it soundPlay, if you're concern about conflicts.

same comment for pause_ and stop_

PatrickS