0

我在 Haxe 中播放声音资产时遇到问题。我能够毫无错误地导入 mp3 swfmill

<?xml version="1.0" encoding="utf-8" ?>
<movie width="100" height="100">    
    <frame>     
        <library>
            ... other resources ...
            <sound id="Shoot" import="shoot.mp3"/>
        </library>
    </frame>    
</movie>

在我的Main.hx中,我创建了一个名为的类Shoot,它的扩展Movieclip方式与我用于.png资源的方式相同。然后我使用这个类如下:

var sound:MovieClip = new Shoot();
stage.addChild(sound);
sound.play();

但是在运行时,当执行这段代码时,我得到了错误

"Error #2136: The SWF File <project swf> contains invalid data".

我在我的 swf xml 文件或 haxe 代码中犯了什么明显的错误?如何进一步调试此错误?

4

1 回答 1

0

我终于设法通过将它们声明为 Sounds(而不是 MovieClips)来播放库中的声音

class Shoot extends flash.media.Sound {public function new() { super(); }}

而且您不需要将它们添加到舞台上,只需播放即可:

var shoot : flash.media.Sound = new Shoot();
shoot.play();
于 2013-05-04T00:39:32.293 回答