我认为我的问题确实很基本。我正在尝试使用 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/