【问题标题】:looping sound flash as3循环声音闪光as3
【发布时间】:2016-12-25 05:00:35
【问题描述】:

我使用 Flash AS3 为声音创建了一个开/关按钮。这些工作,但每当我按下关闭按钮然后打开按钮时,音乐就不会再次播放?

我认为这是一个循环问题,但我会错吗?如果是循环问题,我不确定使用什么代码。

我还需要为 btnOn 函数添加代码,因为当我打开 .swf 时,声音会自动播放。

下面附上我目前的代码:

var mySound:Sound = new sandstorm(); //(sandstorm is my sound file)

var myChannel:SoundChannel = new SoundChannel();

var lastPosition:Number = 0;

myChannel = mySound.play();

btnOff.addEventListener(MouseEvent.CLICK, onClickPause);

function onClickPause(e:MouseEvent):void {

lastPosition = myChannel.position;

myChannel.stop();

}

干杯:)

【问题讨论】:

  • "...当我打开 .swf 时,声音会自动播放" 那么您认为这条指令在做什么:myChannel = mySound.play();?如果您希望在单击时发生某些事情,则将该指令放入单击处理函数中。 PS:函数onClickPause 是预期暂停和恢复音频的函数吗?

标签: actionscript-3 flash audio


【解决方案1】:

你可以试试下面的代码。它使用一个按钮来实现音频暂停/恢复功能......

var mySound:Sound = new sandstorm(); //(sandstorm is my sound file)
var myChannel:SoundChannel = new SoundChannel();
var lastPosition:Number = 0;
var audioState : String = "paused"; //will become either "playing" or "paused"


myChannel = mySound.play(); //this line starts playback
audioState = "playing"; //update because you started playback with above line

btnOff.addEventListener(MouseEvent.CLICK, onPlayPause);


function onPlayPause(e:MouseEvent):void 
{

    if (audioState == "playing") //IF already playing
    {
        lastPosition = myChannel.position; //note current "audio time" when pausing
        myChannel.stop(); //stop playback
        audioState = "paused"; //update for next time click is used
    }
    else if (audioState == "paused") //or ELSE IF was already paused then...
    {
        myChannel = mySound.play(lastPosition); //resume playback
        audioState = "playing"; //update for next time click is used
    }

}

【讨论】:

    【解决方案2】:

    您的代码仅显示事件侦听器 onClickPause(我认为那是您的停止按钮)。但是开始/播放按钮的事件监听器在哪里。在播放按钮上,您必须再次调用播放功能。这是一个很棒的教程:http://www.republicofcode.com/tutorials/flash/as3sound/

    【讨论】:

    • 你能发布你的完整代码吗?播放/恢复按钮的代码在哪里?
    猜你喜欢
    • 2016-03-01
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    相关资源
    最近更新 更多