flash - 如何在ActionScript 2.0中向打字机效果代码添加声音

标签 flash audio actionscript actionscript-2 cs4

我的问题是我想在播放打字机效果文本时实现击键声音(它称为“TextBeep”,链接名称也为“TextBeep”,它是一个.WAV文件)。一旦所有文字出现,声音就会停止。

我该怎么做呢?我一直在寻找年龄,但是ActionScript 3.0仅适用于年龄,而我使用的代码则没有。我正在使用Adobe Flash CS4。

这是我正在使用的代码:

    var effectTxt:String = _root.effect.text;
    _root.effect.text = "";
    var startEff:Number = 1;
    _root.onEnterFrame = function() {
        if (effectTxt.length>=startEff) {
            _root.effect.text = effectTxt.substr(0, startEff);
            startEff++;
        }
        else {
        delete _root.onEnterFrame}
    };

如果有人可以告诉我如何获取它,以便它可以在框架开始并且文本开始出现后立即自动启动,然后在所有文本出现之后停止声音,那会很棒。另外,如果您不介意的话,可以解释一下您是如何为将来的项目做的。谢谢!

最佳答案

因此声音效果不是一个“喀哒”声,而是足够长且不需要循环的声音,对吗?
可以使用setInterval而不是enterFrame来更好地控制键入速度...

var effectTxt:String = _root.effect.text;
_root.effect.text = "";
var startEff:Number = 1;
var firstLetter:Number = 0;
mySound = new Sound();
mySound.attachSound("TextBeep");
writeText = setInterval(write, 100); // 100 means one character every 1/10 of second


function write ()  {
// launch the sound just at the first letter
firstLetter != 1 ? mySound.start() : null;
// use start(0,10) if you need to loop it ten times.
firstLetter =1;
    if (effectTxt.length>=startEff) {
        _root.effect.text = effectTxt.substr(0, startEff);
        startEff++;
    } else {
      mySound.stop();
     clearInterval(writeText);
};

关于flash - 如何在ActionScript 2.0中向打字机效果代码添加声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23029353/

相关文章:

python - 第二个 .wav 文件播放第一个 .wav 文件的增强噪音,而不是减少噪音

android - 强制USB音频输出

ruby - 从 Amazon S3 流式传输动态 zip

audio - 在 Flash/Actionscript 中以 2 倍速度播放声音

android - 如何使用 Android 版 Air 打开浏览器并导航到网页?

html - IE 8 中的溢出隐藏和 Flash 内容

Android - 无法让 swf 在我的 Web 应用程序中工作

javascript - TinyMCE Moxie Player 媒体启动图像?

android - 声音不适用于带有 Android Things 的树莓派

apache-flex - 通过 Flex-Actionscript 更改 Internet Explorer 中的窗口标题