【问题标题】:How is this class connecting to the sound?这个类是如何连接到声音的?
【发布时间】:2013-02-09 04:27:45
【问题描述】:

我正在尝试使用(非常成功)来使用这个声音类

http://www.mcfunkypants.com/2011/as3-pitch-shift-mp3/

示例代码如下所示。 . .

public class Pitch_Shift_Example extends Sprite
    {

        [Embed(source='Pitch_Shift_Example.mp3')]
        private var engine_mp3 : Class;
        public var engine_loop:Pitch_Shift_MP3;

        public function Pitch_Shift_Example()
        {
            engine_loop = new Pitch_Shift_MP3(engine_mp3);
            stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
            var someText:TextField = new TextField();
            someText.x = 200;
            someText.y = 0;
            someText.textColor = 0xFFFFFF;
            someText.selectable = false;
            someText.autoSize = TextFieldAutoSize.LEFT;
            someText.text = "Pitch Shift MP3 Demo by Breakdance McFunkypants\nMove your mouse to change the sample rate. Enjoy!";
            addChild(someText);
        }

        private function onMouseMove(event:MouseEvent):void
        {
            engine_loop.rate = (mouseX / stage.width) * 2;
        }

    }

现在让我感到困惑的是 engine_mp3 类是如何使用声音的。

第一行嵌入声音。
第二行创建了一个名为 engine_mp3 的空类。
第 3 行创建了一个新的音调转换类,在第 7 行我们传递了(空的)engine_mp3 类。

engine_mp3 基本上是如何获取 mp3 数据的??

感谢任何帮助。

安迪

【问题讨论】:

    标签: actionscript-3 class audio embed


    【解决方案1】:

    它的工作原理是这样的:

    您使用以下两行嵌入 mp3 文件:

    Embed(source='Pitch_Shift_Example.mp3')]
    private var engine_mp3 : Class;
    

    这两行一起工作。第一行是 embed metadata,它描述了它下面的行。它所做的是嵌入 mp3 文件并使其可以作为一个类访问。因此,您可以使用变量名称 engine_mp3 引用这个嵌入的声音类。

    稍后在您的代码中,实例化 Pitch_Shift_MP3 类的新实例,并传入对嵌入声音类 engine_mp3 的引用:

    engine_loop = new Pitch_Shift_MP3(engine_mp3);
    

    音高转换类的构造函数期望一个类(表示声音)作为其单个参数。它必须在自己的代码中做的是通过这样做来实例化engine_mp3 表示的类:

    var instantiatedSound:Sound = new engine_mp3() as Sound;
    

    希望这是有道理的!

    【讨论】:

    • 啊,应该按照代码的顺序来玩,我可能会想出来的!感谢您的解释,它有很大帮助。 :D
    猜你喜欢
    • 2018-04-06
    • 2023-01-24
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 2016-04-15
    • 2013-03-26
    • 2013-04-16
    相关资源
    最近更新 更多