睡眠定时器按钮用于流媒体播放器AS3

时间:2014-02-12 12:32:18

标签: android actionscript-3 flash timer air

我正在使用Flash CS6和Adobe AIR进行Android应用。它是一个简单的流媒体播放器,带有一个按钮,用于播放和停止。我想在30分钟后添加一个带有定时器功能(睡眠)的新按钮,停止播放器或退出应用程序。我怎么能加这个呢?

以下是我正在使用的代码(工作正常):

button_1.addEventListener(MouseEvent.CLICK, fl_ClickToPlayStopSound);
var fl_SC:SoundChannel;
var fl_ToPlay:Boolean = true;
function fl_ClickToPlayStopSound(evt:MouseEvent):void
{
    if(fl_ToPlay)
    {
        var s = new Sound(new URLRequest("http://myradio.com/stream.mp3"));
        fl_SC = s.play();
    }
    else
    {
        fl_SC.stop();
    }
    fl_ToPlay = !fl_ToPlay;
}

2 个答案:

答案 0 :(得分:0)

  1. 为此创建另一个按钮。
  2. 将计时器变量默认值初始化为0
  3. 将事件监听器添加到“CLICK”事件和“ENTER_FRAME”事件的新按钮中。
  4. 使用定时按钮的“点击”事件将计时器变量的值设置为30分钟(取决于您的帧率)&添加按钮“ENTER_FRAME”事件监听器。
  5. 使用您的定时按钮的“ENTER_FRAME”事件来倒计时器变量&检查是否“小于0”&然后运行你的睡眠功能&删除事件侦听器“ENTER_FRAME”
  6. 我不想给你任何代码,对于像这样简单的问题看起来不公平,检查教程,你可以找到很多方法来解决这样的问题......

答案 1 :(得分:0)

我找到了解决方案。我已使用以下代码将按钮链接到新框架:

var s = new Sound(new URLRequest("http://myradio.com/stream.mp3"));

fl_SC = s.play();

var fl_TimerInstance_2:Timer = new Timer(900000, 1);

fl_TimerInstance_2.addEventListener(TimerEvent.TIMER, fl_TimerHandler_2);

fl_TimerInstance_2.start();

var fl_SecondsElapsed_2:Number = 1;

function fl_TimerHandler_2(event:TimerEvent):void
{
fl_SC.stop();
}

它完美无缺。

非常感谢你的帮助。

此致