2010-09-13 20 views
0

J'ai un code MP3 AS3 que mon professeur m'a donné il y a un certain temps et il se charge parfaitement lorsque je charge le site localement sur mon ordinateur, mais j'ai téléchargé le site sur mon serveur et le MP3 ne charge pas du tout, mais le reste du site va bien. Comme je ne suis pas très doué avec AS3 et que je ne comprends pas tout ce qui se passe, je vais juste afficher le code MP3 dans son intégralité au cas où l'un d'entre vous pourrait voir pourquoi il ne se chargera pas en ligne. D'ailleurs, je n'ai acheté que l'espace serveur de base de bluehost.com. Je n'ai pas acheté un serveur de médias (dont je ne sais vraiment pas ce qu'il fait). Est-ce que ceci pourrait être le problème?Lecteur MP3 AS3 Charge lorsqu'il est ouvert localement, mais n'apparaît pas du tout sur mon serveur

var songList:Array = new Array("InBackRoom.mp3", "NoMeansYes.mp3"); 
var isPlaying:Boolean = false; 
var currentSong:Number = 0; 
var song:Sound; 
var channel:SoundChannel = new SoundChannel(); 
var xform:SoundTransform = new SoundTransform(); 

seekKnob.buttonMode = true; 
seekKnob.addEventListener(MouseEvent.MOUSE_DOWN, seekStartDrag); 
btnPrev.addEventListener(MouseEvent.CLICK, prevHandler); 
btnPause.addEventListener(MouseEvent.CLICK, pauseHandler); 
btnPlay.addEventListener(MouseEvent.CLICK, playHandler); 
btnNext.addEventListener(MouseEvent.CLICK, nextHandler); 
volumeKnob.buttonMode = true; 
volumeKnob.addEventListener(MouseEvent.MOUSE_DOWN, volumeStartDrag); 

function prevHandler(evt:MouseEvent):void { 
    prevSong(); 
} 

function pauseHandler(evt:MouseEvent):void { 
    pauseSong(); 
} 

function playHandler(evt:MouseEvent):void { 
    playSong(channel.position); 
} 

function nextHandler(evt:MouseEvent):void { 
    nextSong(); 
} 

function id3Handler(evt:Event):void { 
    songInfo.text = /*song.id3.artist + ": " +*/ song.id3.songName; 
} 
function soundCompleteHandler(evt:Event):void { 
    pauseSong(); 
    nextSong(); 
} 

loadSong(songList[currentSong]); 

function loadSong(thisSong:String):void { 
    song = new Sound(); 
    song.load(new URLRequest(thisSong)); 
    song.addEventListener(Event.ID3, id3Handler); 
    /*playSong(0);*/ 
} 

function playSong(position:Number):void { 
    if (!isPlaying) { 
     isPlaying = true; 
     channel = song.play(position); 
     channel.soundTransform = xform; 
     channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); 
     seekKnob.addEventListener(Event.ENTER_FRAME, seekKnobUpdate); 
    } 
} 

function pauseSong():void { 
    seekKnob.removeEventListener(Event.ENTER_FRAME, seekKnobUpdate); 
    channel.stop(); 
    isPlaying = false; 
} 

function prevSong():void { 
    if (currentSong > 0) { 
     currentSong--; 
     pauseSong(); 
     loadSong(songList[currentSong]); 
    } 
} 

function nextSong():void { 
    if (currentSong < songList.length - 1) { 
     currentSong++; 
     pauseSong(); 
     loadSong(songList[currentSong]); 
    } 
} 

function seekStartDrag(evt:MouseEvent):void { 
    pauseSong(); 
    seekKnob.startDrag(true, new Rectangle(seekSlider.x, seekSlider.y + seekSlider.height/2, seekSlider.width, 0)); 
    stage.addEventListener(MouseEvent.MOUSE_UP, seekStopDrag); 
} 

function seekStopDrag(evt:MouseEvent):void { 
    seekKnob.stopDrag(); 
    playSong(song.length * (seekKnob.x - seekSlider.x)/seekSlider.width); 
    stage.removeEventListener(MouseEvent.MOUSE_UP, seekStopDrag); 
} 

function seekKnobUpdate(evt:Event):void { 
    var pos:Number = seekSlider.width * channel.position/song.length; 
    if (!isNaN(pos)) { 
     seekKnob.x = seekSlider.x + pos; 
    } else { 
     seekKnob.x = seekSlider.x; 
    } 
} 

function volumeStartDrag(evt:MouseEvent):void { 
    volumeKnob.startDrag(true, new Rectangle(volumeSlider.x, volumeSlider.y + volumeSlider.height/2, volumeSlider.width, 0)); 
    volumeKnob.addEventListener(MouseEvent.MOUSE_MOVE, volumeUpdate); 
    stage.addEventListener(MouseEvent.MOUSE_UP, volumeStopDrag); 
} 

function volumeStopDrag(evt:MouseEvent):void { 
    volumeKnob.removeEventListener(MouseEvent.MOUSE_MOVE, volumeUpdate); 
    volumeKnob.stopDrag(); 
    stage.removeEventListener(MouseEvent.MOUSE_UP, volumeStopDrag); 
} 

function volumeUpdate(evt:MouseEvent):void { 
    xform.volume = (volumeKnob.x - volumeSlider.x)/volumeSlider.width; 
    channel.soundTransform = xform; 
} 

J'ai vérifié et tout est téléchargé et dans la même, la structure de fichier correcte qu'il devrait être.

+1

Avez-vous des erreurs? Si vous utilisez la version de débogage de Flash Player (adobe.com/support/flashplayer/downloads.html), vous devriez voir des erreurs. J'imagine une erreur IOError ou SecuritySandbox. –

Répondre

1

Il n'est pas nécessaire d'utiliser un serveur de médias. Utilisez un débogueur Web tel que Firebug pour voir si les demandes pour les fichiers MP3 sont effectuées, où elles sont faites et si la réponse est appropriée. Cela peut être quelque chose d'aussi simple que la sensibilité à la casse dans l'url.

+0

Je ne pense pas que cela puisse être parce que j'ai utilisé fireFTP pour télécharger tout ... Je viens de cliquer et de tout glisser du fichier qui fonctionne sur mon ordinateur à l'espace de fichier que j'ai en ligne ... Je vais passer par et vérifier tout mais je suis relativement sûr que si la sensibilité de l'URL ou de la casse était éteinte à l'origine, cela n'aurait pas fonctionné sur mon ordinateur, localement. – mike

+0

Avez-vous déjà essayé Firebug? – spender

+0

Je ue firebug, mais je ne savais pas que vous pourriez l'utiliser w/flash ?! – mike