MediaElementAudioSourceNode 与 Chrome Canary 的工作示例?

发布于 2024-12-01 20:45:16 字数 1240 浏览 1 评论 0原文

我正在尝试 W3C Web Audio API< /a> 在 Google Chrome Canary 版本中实现并启用。 (我目前在 Windows 7 x64 上有 15.0.865.0 canary)演示应用程序 工作得很好。

我喜欢使用 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 实现是否已损坏?

I'm experimenting with the W3C Web Audio API implemented and enabled in Google Chrome Canary builds. (i have 15.0.865.0 canary on Windows 7 x64 at the moment) Demo applications work just fine.

I like to use MediaElementAudioSourceNode because i like to play a larger OGG music. For such audio files the API says that i should use this instead of AudioBufferSourceNode.

I've written a very simple example:

  <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>

However i just hear clicks instead of actual audio. I see no errors in the JavaScript console so i guess the code is okay, maybe some initialization is missing. If i call audioElement.play() instead of the routing through the Web Audio API, the music plays just fine. Did i miss something or maybe the current WebKit implementation is broken?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

埋情葬爱 2024-12-08 20:45:16

今天刚刚与 Chris Rogers(规范编辑)讨论了这个问题。 MediaElementAudioSourceNode 在 Canary/Chromium 版本中公开,但内部尚未连接。您需要一段时间才能将 标记与 Web Audio API 结合使用。

Just talked to Chris Rogers (the spec editor) about this today. The MediaElementAudioSourceNode is exposed in Canary/Chromium builds but the internals are not hooked up yet. It'll be a while longer before you can use the <audio> tag with the Web Audio API.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文