У меня есть некоторый MP3-код AS3, который мой учитель дал мне некоторое время назад, и он отлично загружается, когда я загружаю сайт локально на моем компьютере, но я загрузил сайт на свой сервер, и MP3 не загружается вообще, остальная часть сайта в порядке. Поскольку я не очень хорош в AS3 и не понимаю, что происходит, я просто опубликую MP3-код целиком на случай, если кто-нибудь из вас поймет, почему он не загружается онлайн. Кстати, я купил только базовое серверное пространство на bluehost.com. Я не купил медиа-сервер (который я действительно не знаю, что он делает). Может ли это быть проблемой?
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;
}
Я проверил, и все загружено и в той же правильной файловой структуре, что и должно быть.