javascript - 如何使用 Tone.JS 激活淡出效果?
问题描述
我能够成功播放频率为 100hz 的方波类型的振荡音。
然而,语气并没有“优雅地”停止。此外,当音调停止时,您的扬声器会发出“砰”的声音,而当您的扬声器音量过高时,“砰”的声音会更糟。为了解决这个问题,我想添加一个淡出效果。ToneJS库支持这一点:这里. 但是,我无法设置淡出属性或激活它。
我究竟做错了什么?
$( "#btnPlay" ).click(function(e) {
var player = new Tone.Oscillator(100, "square").toDestination();
player.fadeOut = 5; // set fadeOut time value
player.start();
player.stop(1); // stop playing after 1 second
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.5/Tone.js"></script>
<input id = "btnPlay" type="submit" value="Play!"/>
解决方案
你的fadeOut
值太长了,所以你听不到。该值以秒为单位,因此请尝试提供0.05
(ie 50ms
)。
player.fadeOut = 0.05; // value is in seconds
推荐阅读
- java - 为什么这个嵌套的泛型转换会导致编译器错误
- javascript - Javascript SELECT 属性的 OPTION 在任何方法中都不起作用
- postgresql - 如何设置 helm chart 依赖参数
- python - 新数据和训练数据集之间的不同形状
- java - javax.validation.Validator 排除一些字段
- swiftui - SwiftUI:在“列表”编辑模式下更改删除按钮标题
- ruby-on-rails - Rails has_many_through 在连接表中保存附加属性
- python - f-string 格式变量,小数位数可变
- powerapps - PowerApps 下拉错误
- docker - 安装 Docker Ubuntu 时出现问题,与命令“pub”相关的步骤(Ubuntu 18.04)