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

时间:2014-06-30 17:19:20

标签: javascript scala web-audio 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(...)?这会怎么样?

1 个答案:

答案 0 :(得分:2)

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

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

您可以正常调用JavaScript方法:

val o = ctx.createOscillator()