首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于html Web Audio Api和<audio>标记的混淆

关于html Web Audio Api和<audio>标记的混淆
EN

Stack Overflow用户
提问于 2014-07-04 01:19:06
回答 1查看 629关注 0票数 2

我是一个html5新手,对音频标签和网络音频应用编程接口有一些困惑。我目前正在为我们的音频播放器定制音频洗涤器。洗涤器将有一个进度条和某种时间指示器。用户应该能够拖动进度条和音频将播放。

当前的音频播放器一次只播放一小部分mp3,然后通过向服务器发送请求(轮询)定期加载它。我理解使用标签,你必须提供src,但考虑到加载的是小块而不是1个整体,我也在寻找是否可以从web音频api中捕获事件。创建和播放音频的方式是以以下方式使用web音频api:

代码语言:javascript
运行
复制
soundSource = context.createBufferSource();
soundBuffer = context.createBuffer()
soundSource.buffer = soundBuffer;
soundSource.connect(context.destination);

我不明白的是音频标签和目的节点之间的关系。

如何将目的节点指向音频标签?是否可以从web音频api捕获事件(播放、暂停、时间更新)?本质上,我希望能够在流式音频播放器上编写事件侦听器,该播放器一次播放小块,并将它们都绑定到自定义滑块上。有没有人可以帮我或者提供一些建议?

戈登

EN

回答 1

Stack Overflow用户

发布于 2014-07-04 11:24:21

好的。我不认为您可以将context.destination的输出重定向到任何其他组件。您可以考虑使用context.destination作为扬声器。无论您发送给它的是什么,都会立即显示出来。

所以Audio和WebAudio标签之间没有太多的关系。在各种浏览器中的音频标签实现可能实际上是在幕后使用WebAudioAPI,但是没有任何面向公众的API来改变音频标签的行为。

不过,音频标签支持所有的standard Media Events

然而,在Audio标签和WebAudio应用程序接口之间有一座很小的桥。您可以将音频标签中的音频用作WebAudioAPI中的音频源。这是context.createMediaElementSource API in WebAudio

最后,擦洗。如果你想要擦除“实时”,你必须将整个音频文件存储在内存中。这样,你几乎可以立即跳转到用户想要移动到的位置。有了AudioBuffer,您就可以使用ScriptProcessorNode根据滑块的位置来校正输出的音频块。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24559772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档