首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >克隆音频对象

克隆音频对象
EN

Stack Overflow用户
提问于 2013-07-04 12:15:35
回答 2查看 3K关注 0票数 6

我知道如何克隆对象,但我想知道如何克隆音频对象?克隆它的方式是否应该与克隆对象的方式不同?

为了“说明”我的意思:

代码语言:javascript
复制
var audio = new Audio("file.mp3");
var audio2 = $.extend({}, audio); // Clones `audio`

这是正确的方法吗?

我问这个的原因是我想同时播放相同的声音多次。

EN

回答 2

Stack Overflow用户

发布于 2013-12-18 22:00:03

我的困境和最初提出的完全一样。下面这些对我来说工作得很好:

代码语言:javascript
复制
var audio2 = audio.cloneNode();
票数 6
EN

Stack Overflow用户

发布于 2019-06-22 09:26:59

这个问题在javascript时代已经很古老了。我认为你的代码正在再次下载音频,这就是你延迟的原因。如果您抓取音频文件一次并将其存储在blob中,则可以将该blob用作新音频事件的源。

代码语言:javascript
复制
let fileBlob;
fetch("file.mp3")
    .then(function(response) {return response.blob()})
    .then(function(blob) {
        fileBlob=URL.createObjectURL(blob);
        new Audio(fileBlob); // forces a request for the blob
 });

 ...
 new Audio(fileBlob).play()  // fetches the audio file from the blob.

你也可以用web audio api做很多事情,但是它的学习曲线稍微陡峭一些。

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

https://stackoverflow.com/questions/17461776

复制
相关文章

相似问题

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