Livescript:无法定义 AudioContext
Livescript: AudioContext can't get defined
我正在尝试使用 XMLHttpRequests 和 AudioContext 加载音频,我的代码如下所示:
class AudioExample
audioContext: null
init: ->
AudioContext = window.AudioContext || window.webkitAudioContext
@audioContext = new AudioContext!
# r = xmlhttprequest magic
r.onload = (e) ->
rr = e.target #XMLHttpRequest{response: ArrayBuffer, song: Object, si: Object}
@audioContext.decodeAudioData rr.response, (buffer) ->
# ...
错误是TypeError: Cannot read property 'decodeAudioData' of undefined.
当我 console.log audioContext 时,我得到一个有效的 audioContext 对象,那么为什么它在代码执行时未定义?
绑定函数的问题;你可以通过在 r.load = (e) -> ...
.
中放置一个 console.log @
来诊断它
解决方案是使用 ~>
绑定 r.onload
处理程序:
r.onload = (e) ~> ...
检查 Bound Functions 的 LiveScript 文档。
我正在尝试使用 XMLHttpRequests 和 AudioContext 加载音频,我的代码如下所示:
class AudioExample
audioContext: null
init: ->
AudioContext = window.AudioContext || window.webkitAudioContext
@audioContext = new AudioContext!
# r = xmlhttprequest magic
r.onload = (e) ->
rr = e.target #XMLHttpRequest{response: ArrayBuffer, song: Object, si: Object}
@audioContext.decodeAudioData rr.response, (buffer) ->
# ...
错误是TypeError: Cannot read property 'decodeAudioData' of undefined.
当我 console.log audioContext 时,我得到一个有效的 audioContext 对象,那么为什么它在代码执行时未定义?
绑定函数的问题;你可以通过在 r.load = (e) -> ...
.
console.log @
来诊断它
解决方案是使用 ~>
绑定 r.onload
处理程序:
r.onload = (e) ~> ...
检查 Bound Functions 的 LiveScript 文档。