Livescript:AudioContext无法定义

时间:2015-09-04 01:20:38

标签: javascript livescript webkitaudiocontext audiocontext

我正在尝试使用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对象,为什么在代码执行时它未定义?

1 个答案:

答案 0 :(得分:1)

绑定函数存在问题;您可以在console.log @内加r.load = (e) -> ...来诊断它。

解决方案是使用r.onload绑定~>处理程序:

r.onload = (e) ~> ...

检查Bound Functions的LiveScript文档。