javascript - 使用 js.Dynamic 在 Scala.js 中创建振荡器节点

标签 javascript scala web-audio-api scala.js

我正在使用 Scala-js-fiddle 的在线版本。到目前为止,我已经能够成功声明音频上下文:

val ctx = js.Dynamic.newInstance(js.Dynamic.global.AudioContext)()

现在,我想创建一个振荡器节点。我尝试过(未成功):

val oscillator = ctx.js.Dynamic.global.createOscillator()

当我保存它时,Scala-js-fiddle 表示编译成功。但是,我也收到了错误消息。主要的是:

TypeError: Cannot read property 'Dynamic' of undefined

如何正确创建振荡器节点并使用 js.Dynamic 设置其频率值?

在常规 Javascript 中,我会简单地编写如下内容:

var oscillator = ctx.createOscillator();
oscillator.frequency.value = 400;

我必须使用 js.Global.Function(...) 吗?这将如何运作?

最佳答案

解决了!事实证明,在创建这样的 AudioContext 之后

val ctx = js.Dynamic.newInstance(js.Dynamic.global.AudioContext)()

您可以正常调用 JavaScript 方法:

val o = ctx.createOscillator()

关于javascript - 使用 js.Dynamic 在 Scala.js 中创建振荡器节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24495538/

相关文章:

javascript - td 中的文本可以随 td 一起调整大小吗? (是它高度的百分比?)

javascript - 发现对象的次数

scala - 如何捕获重复键值违规的光滑 postgres 异常

html - 如何在Web Audio API中将SoundManager2定义为媒体元素源

javascript - 将一个 div 滑过两个 div

javascript - 从 getView() 调用 Controller

scala - scala 中的 Tuple_2 按键排序

scala - 如何在 Play Framework 中为 WebSocket 请求添加过滤器

angular - 将本地文件导入AudioWorkletProcessor文件时出现意外的标识符错误

javascript - 与 Web Audio API 完美同步