Javascript 如何使用键盘事件使用URL请求播放声音?

Javascript 如何使用键盘事件使用URL请求播放声音?,javascript,flash,actionscript,jquery-animate,Javascript,Flash,Actionscript,Jquery Animate,我有一个基本的代码,我用鼠标事件点击一个图标来获取一个url,这个url有一个流式广播来启动和停止,但我想让它成为一个键盘事件。我不知道怎么做。我正在使用adobe animate。我知道如何使用keyup/keydown命令使符号消失,但我不知道如何指定键盘事件来代替鼠标事件。最终的结果是一个收音机,我可以在每个电台之间切换,按下键盘上指定的字母。这是我的代码: button_1.addEventListener(MouseEvent.CLICK, fl_ClickToPlayStopSoun

我有一个基本的代码,我用鼠标事件点击一个图标来获取一个url,这个url有一个流式广播来启动和停止,但我想让它成为一个键盘事件。我不知道怎么做。我正在使用adobe animate。我知道如何使用keyup/keydown命令使符号消失,但我不知道如何指定键盘事件来代替鼠标事件。最终的结果是一个收音机,我可以在每个电台之间切换,按下键盘上指定的字母。这是我的代码:

button_1.addEventListener(MouseEvent.CLICK, fl_ClickToPlayStopSound_4);

var fl_SC_4:SoundChannel;


var fl_ToPlay_4:Boolean = true;

function fl_ClickToPlayStopSound_4(evt:MouseEvent):void
{
    if(fl_ToPlay_4)
    {
        var s:Sound = new Sound(new URLRequest("http://64.71.79.181:5234/stream"));
        fl_SC_4 = s.play();
    }
    else
    {
        fl_SC_4.stop();
    }
    fl_ToPlay_4 = !fl_ToPlay_4;
}

您需要在阶段级别收听键盘事件(因为所有这些事件最终都会进入阶段)。在类中查找关键代码引用。请记住,只有当Flash对象(例如,在浏览器中)具有输入焦点(例如,您必须先单击它)时,键盘事件才会触发处理程序


@伊根:不,不是真的。我刚刚检查过,google>as3处理键盘上有很多完全相关的例子,从第一个结果开始。
var SU:String;
var SA:Sound;
var SC:SoundChannel;

stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey);

function onKey(e:KeyboardEvent):void
{
    // Use trace to get the actual key keycodes or charcodes.
    trace(e.keyCode, e.charCode);

    // After you have all the keys, you need to
    // associate keys with the audio streams.

    var audioURL:String;

    switch (e.keyCode)
    {
        case Keyboard.A:
            audioURL = "audioa.mp3";
            break;

        case Keyboard.B:
            audioURL = "audiob.mp3";
            break;
    }

    // Clean up previous audio.
    if (SC) SC.stop();
    if (SA) SA.close();

    SA = null;
    SC = null;

    // Toggle sound logic.
    if (SU == audioURL)
    {
        SU = null;
    }
    else
    {
        SU = audioURL;
        SA = new Sound(new URLRequest(SU));
        SC = SA.play();
    }
}