MP3-плеер AS3 загружается при локальном открытии, но не отображается на моем сервере - PullRequest
0 голосов
/ 13 сентября 2010

У меня есть некоторый 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;
}

Я проверил, и все загружено и в той же правильной файловой структуре, что и должно быть.

1 Ответ

1 голос
/ 13 сентября 2010

Нет необходимости использовать медиа-сервер. Используйте веб-отладчик, такой как Firebug, чтобы узнать, выполняются ли запросы файлов MP3, где они выполняются и соответствует ли ответ. Это может быть что-то простое, например, чувствительность к регистру в URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...