我有1414kbs比特率和不同频率的wav文件。将它们导入库并根据它们的频率和其他信息为它们提供唯一的类之后(这就是为什么我在下面使用 getDefinitionByName )。
我的所有wav文件在AS3中的6000hz和8000hz以下均可正常播放,但是这些音调无法正常播放。但是,在Flash Adobe Animate中单击“播放”图标时,它们确实可以正常播放。
我已将代码简化为基本要点,以查看问题所在并仍无法正常工作。
我的问题是,我的代码是否有问题,或者AS3 / Flash在播放频率上有限制?
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
btn.addEventListener(MouseEvent.CLICK, function(){
var sound_class = "L6000_0";
var soundTX:SoundTransform = myChannel.soundTransform;
soundTX.leftToLeft = 1;
soundTX.leftToRight = 0;
soundTX.volume = 1;
soundTX.rightToRight = 0;
soundTX.rightToLeft = 0;
var sclass:Class = getDefinitionByName(sound_class) as Class;
var mySound:Sound = new sclass;
myChannel.stop();
myChannel = mySound.play();
myChannel.soundTransform = soundTX;
});
最佳答案
我认为这不是脚本问题。默认情况下,Flash以非常低的比特率和质量导出声音。转到每个声音属性以设置导出设置,或者在"file">“发布设置”屏幕中,有一个有关导出声音的选项。