使用Chrome Canary的MediaElementAudioSourceNode工作示例?

时间:2011-08-29 18:07:35

标签: html5 google-chrome audio w3c

我正在尝试在Google Chrome Canary版本中实施并启用W3C Web Audio API。 (目前我在Windows 7 x64上有15.0.865.0 canary)Demo applications工作得很好。

我喜欢使用MediaElementAudioSourceNode,因为我喜欢播放更大的OGG音乐。对于此类音频文件,API表示我应该使用此代替AudioBufferSourceNode

我写了一个非常简单的例子:

  <script type="text/javascript">
      var audioElement = document.createElement('audio');
      audioElement.setAttribute('src', 'dubfx.ogg');

      var audioContext = new webkitAudioContext();
      var streamingAudioSource = audioContext.createMediaElementSource(audioElement);
      streamingAudioSource.connect(audioContext.destination);
  </script>

然而,我只是听到点击而不是实际的音频。我在JavaScript控制台中看不到任何错误,所以我猜代码没问题,可能缺少一些初始化。如果我通过Web Audio API调用audioElement.play()而不是路由,则音乐播放就可以了。我错过了什么或者当前的WebKit实现是否被破坏了?

1 个答案:

答案 0 :(得分:8)

今天与Chris Rogers(规范编辑)讨论了这个问题。 MediaElementAudioSourceNode在Canary / Chromium版本中暴露,但内部结构尚未连接。在将<audio>标记与Web Audio API一起使用之前,还需要一段时间。