Hi all,
I’m having some trouble with loadSound. I’ve created a portfolio section for a company that has short (1:30) mp3 clips. The clips are being loaded in dynamically through an XML doc.
For whatever reason, when the sound loads, it plays for almost exactly 2 seconds, then restarts and plays all the way through.
My flash is set up in three frames, the first two are the main gallery, then frame three is where the sound is loaded and played. “p” is defined by which icon in the gallery is clicked.
Here is my code for reference:
import mx.transitions.Tween;
import mx.transitions.easing.*;
if (p == 0) {
prevBtn._x = 1500;
} else {
prevBtn._x = 758.9;
}
if (p == 11) {
nextBtn._x = 1500;
} else {
nextBtn._x = 824.65;
}
stop();
// create a new Sound object
var my_sound:Sound = new Sound();
// if the sound loads, play it; if not, trace failure loading
my_sound.onLoad = function(success:Boolean) {
if (success) {
my_sound.start();
} else {
trace("Sound failed");
}
};
// load the sound
my_sound.loadSound(songclip[p], true);
trace("frame 3!");
allTitles._x = 1500;
loadableGroup._x = 1500;
titleInfoC.titleInfo.htmlText = longTitle[p];
editorInfoC.editorInfo.htmlText = artist[p];
clientInfoC.clientInfo.htmlText = album[p];
artistImg.loadMovie(cover[p]);
this.onEnterFrame = function() {
if ((coverMC._alpha)>=(70)) {
largeLoaderContainer._alpha += 5;
linesMC._alpha += 2;
} else {
coverMC._alpha += 4;
}
};
//////////////////////preloader
if ((coverMC._alpha)>=(70)) {
this.onEnterFrame = function() {
filesize = largeLoaderContainer.largeLoader.getBytesTotal();
loaded = largeLoaderContainer.largeLoader.getBytesLoaded();
preloader._visible = true;
if (loaded != filesize) {
preloader.preload_bar._xscale = 100*loaded/filesize;
} else {
preloader._visible = false;
if (largeLoaderContainer._alpha<100) {
largeLoaderContainer._alpha += 10;
}
}
};
}
/////////////////////////
backBtn.onRelease = function() {
my_sound.stop();
var xPosT:Tween = new Tween(titleInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var xPosT:Tween = new Tween(dirInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var xPosT:Tween = new Tween(editorInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var xPosT:Tween = new Tween(clientInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var xPosT:Tween = new Tween(descInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
this.onEnterFrame = function() {
if ((coverMC._alpha)>(0)) {
coverMC._alpha -= 20;
largeLoaderContainer._alpha -= 30;
linesMC._alpha -= 30;
} else {
gotoAndStop(2);
}
};
};
var xPosT:Tween = new Tween(titleInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
var xPosT:Tween = new Tween(dirInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
var xPosT:Tween = new Tween(editorInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
var xPosT:Tween = new Tween(clientInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
var xPosT:Tween = new Tween(descInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
////////////////next image
function nextImage() {
if (p<(12-1)) {
p++;
if (p == 0) {
prevBtn._x = 1500;
} else {
prevBtn._x = 758.9;
}
if (p == 11) {
nextBtn._x = 1500;
} else {
nextBtn._x = 824.65;
}
if (loaded == filesize) {
titleInfoC.titleInfo.htmlText = longTitle[p];
editorInfoC.editorInfo.htmlText = artist[p];
clientInfoC.clientInfo.htmlText = album[p];
my_sound.loadSound(songclip[p], true);
artistImg.loadMovie(cover[p]);
_root.bufferCounter.gotoAndPlay(1);
var xPosT:Tween = new Tween(titleInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var xPosT:Tween = new Tween(dirInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var xPosT:Tween = new Tween(editorInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var xPosT:Tween = new Tween(clientInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var xPosT:Tween = new Tween(descInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var buffer_interval:Number = setInterval(checkBufferTime, 100, netStream);
function checkBufferTime(netStream:NetStream):Void {
var buffer:Number = Math.round(netStream.bufferLength/netStream.bufferTime*100);
_root.bufferCounter._x = 759.75;
if (buffer>=100) {
clearInterval(buffer_interval);
_root.bufferCounter._x = 1500;
}
}
netStream.play(preview[p],1);
var xPosT:Tween = new Tween(titleInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
var xPosT:Tween = new Tween(dirInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
var xPosT:Tween = new Tween(editorInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
var xPosT:Tween = new Tween(clientInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
var xPosT:Tween = new Tween(descInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
}
}
}
function prevImage() {
if (p>0) {
p--;
if (p == 0) {
prevBtn._x = 1500;
} else {
prevBtn._x = 758.9;
}
if (p == 11) {
nextBtn._x = 1500;
} else {
nextBtn._x = 824.65;
}
if (loaded == filesize) {
titleInfoC.titleInfo.htmlText = longTitle[p];
editorInfoC.editorInfo.htmlText = artist[p];
clientInfoC.clientInfo.htmlText = album[p];
my_sound.loadSound(songclip[p], true);
artistImg.loadMovie(cover[p]);
_root.bufferCounter.gotoAndPlay(1);
var xPosT:Tween = new Tween(titleInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var xPosT:Tween = new Tween(dirInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var xPosT:Tween = new Tween(editorInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var xPosT:Tween = new Tween(clientInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var xPosT:Tween = new Tween(descInfoC, "_x", Regular.easeOut, 214.6, -360, 1, true);
var buffer_interval:Number = setInterval(checkBufferTime, 100, netStream);
function checkBufferTime(netStream:NetStream):Void {
var buffer:Number = Math.round(netStream.bufferLength/netStream.bufferTime*100);
_root.bufferCounter._x = 759.75;
if (buffer>=100) {
clearInterval(buffer_interval);
_root.bufferCounter._x = 1500;
}
}
netStream.play(preview[p],1);
var xPosT:Tween = new Tween(titleInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
var xPosT:Tween = new Tween(dirInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
var xPosT:Tween = new Tween(editorInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
var xPosT:Tween = new Tween(clientInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
var xPosT:Tween = new Tween(descInfoC, "_x", Regular.easeOut, -360, 214.6, 1, true);
}
}
}
if (p == 12) {
trace("p is 12");
}
nextBtn.onRelease = function() {
nextImage();
};
prevBtn.onRelease = function() {
prevImage();
};
Thanks in advance for your help!