我认为我的问题确实很基本。我正在尝试使用 Action 之声类。
我的代码真的很基础:

var snd:Sound = new Sound();
snd.load(new URLRequest("mysound.mp3"));
trace( new String(snd.length));
snd.play();

音频的播放效果非常好,但从我的轨迹来看,我得到的是0,而不是声音的毫秒数。任何的想法 ?

最佳答案

这是因为它打算工作。
snd.load()异步加载。这意味着在加载声音时,代码不会冻结。
这是专门为牢记可能在加载大声音文件的Rich Internet Applications中使用Flash而设计的。在这种情况下,如果应用程序在加载声音时挂起,则会给用户带来可怕的体验。

加载调用之后,没有任何内容被加载,因此snd.length返回0。当声音完全加载后,即您获得onSoundComplete的期望值时,就会触发snd.length事件。

干杯,

关于flash - 获取 ActionScript 中的声音长度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7050580/

10-12 05:49