在Scala.js中使用js.Dynamic创建一个振荡器节点

Creating an Oscillator Node in Scala.js using js.Dynamic

本文关键字:js 振荡器 节点 一个 创建 Scala Dynamic      更新时间:2023-09-26

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

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

现在,我想创建一个振荡器节点。I tried (unsuccessfully):

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()