我正在尝试在Google Chrome Canary版本中实现和启用的W3C Web Audio API。 (我现在在Windows 7 x64上具有15.0.865.0金丝雀)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控制台中没有看到任何错误,因此我猜代码还可以,也许缺少一些初始化。如果我调用audioElement.play()而不是通过Web Audio API进行路由,那么音乐播放就很好。我错过了什么吗,或者当前的WebKit实现被破坏了?

最佳答案

今天刚刚与Chris Rogers(规范编辑)进行了交谈。 MediaElementAudioSourceNode在Canary / Chromium版本中公开,但内部尚未连接。您需要花一点时间才能将<audio>标记与Web Audio API一起使用。

关于html - 带有Chrome Canary的MediaElementAudioSourceNode的工作示例?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7233973/

10-10 05:05