Ciao a tutti, premetto che conosco solo le basi flash e as3 e che sono alla primissime armi, infatti sto lavorando al mio primo sito di flash.

Ho seguito un tutorial per creare un semplice player musical con 3 pulsanti play/pausa/stop e una sola traccia caricata dall'esterno.

Il player tuttavia mi funziona solo quando esporto il in SWF in locale sul mio pc, perchè appena vado ad uppare i files (compresa la traccia audio) online e a testare il sito dal webbrowser la musica non parte, come se non fosse più collegato la traccia al mio sito.

Vi posto il codice che ho utilizzato e spero possiate aiutarmi.

Grazie mille

// spectrum constants

const SPECTRUM_HEIGHT:int = 75;
const CHANNEL_LENGTH:int = 256;

const SPECTRUM_LEFT_FILL_COLOR:uint = 0x5FDEFE;
const SPECTRUM_LEFT_FILL_ALPHA:Number = 0.5;
const SPECTRUM_LEFT_LINE_COLOR:uint = 0x013643;

const SPECTRUM_RIGHT_FILL_COLOR:uint = 0xBFF075;
const SPECTRUM_RIGHT_FILL_ALPHA:Number = 0.5;
const SPECTRUM_RIGHT_LINE_COLOR:uint = 0x4A730D;

// vars
var sndObject:Sound = new Sound();
var chaObject:SoundChannel = new SoundChannel() ;
var sndTransform:SoundTransform = new SoundTransform();
var reqObject:URLRequest = new URLRequest("CHEMICAL.mp3");
var sndBytes:ByteArray = new ByteArray();
var intPosition:int = 0;
var bolStop:Boolean = true;

function initMP3Player():void {
// set event listeners
addEventListener(Event.ENTER_FRAME, renderSpectrum);
addEventListener(Event.ENTER_FRAME, calcProgress);
this.mcMp3Player.btnStop.addEventListener(MouseEve nt.CLICK, stopPlayback);
this.mcMp3Player.btnPause.addEventListener(MouseEv ent.CLICK, pausePlayback);
this.mcMp3Player.btnPlay.addEventListener(MouseEve nt.CLICK, startPlayback);
this.mcMp3Player.btnMute.addEventListener(MouseEve nt.CLICK, mutePlayback);
this.mcMp3Player.btnUnmute.addEventListener(MouseE vent.CLICK, unmutePlayback);
this.mcMp3Player.progress.addEventListener(MouseEv ent.CLICK, setNewProgress);

// use hand cursor for progress bar
this.mcMp3Player.progress.buttonMode = true;
this.mcMp3Player.btnPause.visible = false;
this.mcMp3Player.btnUnmute.visible = false;
}

function stopPlayback(e:MouseEvent):void {
chaObject.stop();
sndObject = new Sound();
bolStop = true;
intPosition = 0;
this.mcMp3Player.btnPlay.visible = true;
this.mcMp3Player.btnPause.visible = false;
}

function pausePlayback(e:MouseEvent):void {
this.mcMp3Player.btnPlay.visible = true;
this.mcMp3Player.btnPause.visible = false;
playSound(false);
}
function startPlayback(e:MouseEvent):void {
this.mcMp3Player.btnPlay.visible = false;
this.mcMp3Player.btnPause.visible = true;
playSound();
}
function mutePlayback(e:MouseEvent):void {
this.mcMp3Player.btnMute.visible = false;
this.mcMp3Player.btnUnmute.visible = true;
setVolume(0);
}
function unmutePlayback(e:MouseEvent):void {
this.mcMp3Player.btnMute.visible = true;
this.mcMp3Player.btnUnmute.visible = false;
setVolume(1);
}

function setNewProgress(e:MouseEvent):void {
var p:int = sndObject.length * e.currentTarget.mouseX / 220;
chaObject.stop();
chaObject = sndObject.play(p);
this.mcMp3Player.btnPlay.visible = false;
this.mcMp3Player.btnPause.visible = true;
}

function playSound(bolPlay:Boolean = true):void {
if(bolPlay) {
if(bolStop) {
// load mp3 file if playback has been stopped
sndObject.load(reqObject);
bolStop = false;
} else {
intPosition = chaObject.position;
}
chaObject = sndObject.play(intPosition);
} else {
chaObject.stop();
}
}

function setVolume(intVolume:int = 1):void {
sndTransform.volume = intVolume;
chaObject.soundTransform = sndTransform;
}

function calcProgress(e:Event):void {
var p:MovieClip = this.mcMp3Player.progress.mcProgressFill;
var w:int = Math.round( 220 * chaObject.position / sndObject.length);
p.width = w;
}

function renderSpectrum(e:Event):void
{
// set a reference to the spectrum graphics
var g:Graphics = this.mcMp3Player.spectrum.graphics;

// compute spectrum in byte array sndBytes
SoundMixer.computeSpectrum(sndBytes);

/*
* LEFT CHANNEL
*/
g.clear();
g.lineStyle(0, SPECTRUM_LEFT_LINE_COLOR);
g.beginFill(SPECTRUM_LEFT_FILL_COLOR, SPECTRUM_LEFT_FILL_ALPHA);
g.moveTo(0, SPECTRUM_HEIGHT);

var n:Number = 0;

for (var i:int = 0; i < CHANNEL_LENGTH; i++) {
n = (sndBytes.readFloat() * SPECTRUM_HEIGHT);
g.lineTo(i * 2, SPECTRUM_HEIGHT - n);
}

g.lineTo(CHANNEL_LENGTH * 2, SPECTRUM_HEIGHT);
g.endFill();

/*
* RIGHT CHANNEL
*/
g.lineStyle(0, SPECTRUM_RIGHT_LINE_COLOR);
g.beginFill(SPECTRUM_RIGHT_FILL_COLOR, SPECTRUM_RIGHT_FILL_ALPHA);
g.moveTo(CHANNEL_LENGTH * 2, SPECTRUM_HEIGHT);

for (i = CHANNEL_LENGTH; i > 0; i--) {
n = (sndBytes.readFloat() * SPECTRUM_HEIGHT);
g.lineTo(i * 2, SPECTRUM_HEIGHT - n);
}

g.lineTo(0, SPECTRUM_HEIGHT);
g.endFill();

}

initMP3Player();