1

我有一个网络音频项目,需要在页面上获取现有标签,抓取它并通过我的网络音频音频上下文播放它。

<audio id="music" controls="true">
  <source src="DW2-AU01.mp3" type="audio/mp3" />
</audio>

也许我在这里犯了一个错误,但是像这样将文件加载到缓冲区中是可行的:

var source = myAudioContext.createBufferSource();
source.buffer = myBuffers['FFA01.mp3'];
source.connect(myAudioContext.destination);
source.noteOn(0);

但是,如果我在页面上使用标签设置它并尝试播放如下声音:

var source = myAudioContext.createMediaElementSource($('#music'));
source.connect(myAudioContext.destination);
source.noteOn(0);

我得到 INVALID_STATE_ERR: DOM Exception 11。我觉得我已经用尽了我的谷歌搜索,每个人发布的 html5rocks 示例让他在 jQuery 中创建标签,而不是使用页面上已经存在的标签。

这可能吗?任何帮助表示赞赏!

4

1 回答 1

3

您正在传递一个 jQuery 引用。如果您尝试发送对本机音频元素的引用怎么办?

var source = myAudioContext.createMediaElementSource($('#music')[0]);
于 2012-10-18T03:19:05.953 回答