AS3 - 我的声音播放器似乎运行良好,但声音不存在

时间:2014-06-05 22:36:45

标签: actionscript-3 flash audio

我一直在为我的任务做一个声音播放器。对一些问题进行了讨论。没有编译错误既没有出现运行时错误,也没有我的声音播放器运行良好,但我听不到播放的歌曲。

var mySound:Sound = new Sound ();
var myURL:URLRequest = new URLRequest ("playList.xml");
var mySoundChannel:SoundChannel = new SoundChannel;
var playing:Boolean = true;
var resumeTime:Number = 0;
var loadedXML:XML;
var mySongs:XMLList;
var myTotal:Number;
var myXMLLoader:URLLoader = new URLLoader();

myXMLLoader.load(myURL);
myXMLLoader.addEventListener(Event.COMPLETE, processXML);
function processXML (e:Event):void {
    loadedXML = XML(e.target.data);
    mySongs = loadedXML.SONG; 
    myTotal = mySongs.length();
}

btnPlayPause.buttonMode =true;
btnStop.buttonMode =true;
btnPlayPause.addEventListener(MouseEvent.CLICK, playSound);
btnStop.addEventListener(MouseEvent.CLICK, stopSound);

function playSound(m:MouseEvent){
    if(playing==true){
        btnPlayPause.gotoAndStop("lbPause");
        mySound.load(myURL);
        mySoundChannel = mySound.play(resumeTime);
        playing = false;
    } else {
        btnPlayPause.gotoAndStop("lbPlay");
        resumeTime = mySoundChannel.position;
        mySoundChannel.stop();
        playing = true;
    }   
}

function stopSound (f:MouseEvent):void {
    mySoundChannel.stop();
}

非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

似乎你试图只在它已经播放的情况下播放声音,而如果它没有播放则停止播放声音:

function playSound(m:MouseEvent){
    if(playing==true){
        btnPlayPause.gotoAndStop("lbPause");
        mySound.load(myURL);
        mySoundChannel = mySound.play(resumeTime);
        playing = false;
    } else {
        btnPlayPause.gotoAndStop("lbPlay");
        resumeTime = mySoundChannel.position;
        mySoundChannel.stop();
        playing = true;
    }   
}

我看到这样的代码:

function playSound(){
    if(playing){
        mySound.play();
    } else {
        mySoundChannel.stop();
    }   
}

也许这是问题的根源