Salve a tutti,
ho programmato un semplice mp3 player.
Se lancio il file .swf funziona tutto correttamente. Mentre se lo integro in una pagina html, ottengo il seguente errore:
ArgumentError: Error #2068: Suono non valido.
at flash.media::Sound/play()
at cd_fla::MainTimeline/playMusic()
Vi incollo il codice AS3
stop();
//faccio partire la musica
var myMusic:Sound = new Sound();
var soundFile:URLRequest = new URLRequest("mp3/01 - Fame.mp3");
var channel:SoundChannel = new SoundChannel();
var sTransform:SoundTransform = new SoundTransform();
var myTimer:Timer = new Timer(100);
var songPosition:Number = 0;
myMusic.load(soundFile);
channel = myMusic.play(songPosition);
myTimer.start();
//imposto il volume a metà
sTransform.volume = 0.5;
channel.soundTransform = sTransform;
myMusic.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
//gestione errori IO
function handleIOError(evtObj:IOErrorEvent):void {
// do something
}
pls_pause.addEventListener(MouseEvent.CLICK, pauseMusic);
pls_nxt.addEventListener(MouseEvent.CLICK, nextMusic);
pls_prv.addEventListener(MouseEvent.CLICK, previousMusic);
myTimer.addEventListener(TimerEvent.TIMER, updateTime);
pls_play.addEventListener(MouseEvent.CLICK, playMusic);
function playMusic(evt:MouseEvent):void
{
channel = myMusic.play(songPosition);
channel.soundTransform = sTransform;
pls_play.alpha = 0;
pls_play.y = -5.5;
pls_pause.y = 62.5;
pls_pause.alpha = 100;
}
function pauseMusic(evt:MouseEvent):void
{
songPosition = channel.position;
channel.stop();
pls_pause.alpha = 0;
pls_pause.y = -5.5;
pls_play.y = 62.5;
pls_play.alpha = 100;
}
function nextMusic(evt:MouseEvent):void
{
channel.stop();
gotoAndStop(36);
}
function previousMusic(evt:MouseEvent):void
{
channel.stop();
gotoAndStop(51);
}
function convertTime(millis:Number):String
{
var Minutes:Number = ( millis % (1000*60*60)) / (1000 * 60);
var Seconds:Number = ((millis % (1000*60*60)) % (1000 * 60)) /1000;
var displayMinutes:String = Math.floor(Minutes).toString();
var displaySeconds:String = "";
if(Seconds < 10)
{
displaySeconds = "0" + Math.floor(Seconds);
}
else
{
displaySeconds = Math.floor(Seconds).toString();
}
return displayMinutes + ":" + displaySeconds;
}
function updateTime(evt:TimerEvent):void
{
if(lblSongTime != null)
{
lblSongTime.text = convertTime(channel.position);
}
}
Qualcuno può aiutarmi? Non riesco a capire da cosa sia dovuto l'errore.
Mille grazie a tutti!
Saluti
Marco