繁体   English   中英

如何将多个Web音频源/轨道压缩为一个?

[英]How do I compress multiple Web Audio sources/tracks into one?

我们正在制作基于Web Audio api的基于Web的音乐编辑器和混音器。 用户可以将多个轨道,裁剪轨道等混合在一起。轨道的实际混合仅涉及一次播放所有源。

我们希望能够添加选项以保存混音并使其可供下载到用户的计算机。 有没有办法在前端执行此操作(如将所有源连接到一个目标/导出节点),甚至后端(我们使用的是RoR)?

RecorderJS正是您所需要的,它可能不太容易使用。 真的,真的很棒的图书馆。

https://github.com/mattdiamond/Recorderjs

PS查看OfflineAudioContext和我对这个问题的回答( Web音频API:调度声音并导出混音 ),以获取有关音频快速实时混音的信息。

用户数据看起来在客户端?

基本上,当使用base64将数据转换为dataURI时,数据会以内联方式显示,因此可以将它们逐个添加到一个blob对象中,然后下载。

但是这种方法只适用于小型文件,导致大多数浏览器崩溃和冻结,这只适用于经过一些人体测试后小于10mb的blob大小,这肯定会很快好转。

<audio controls><source src="data:audio/ogg;base64,BASE64.......BASE564......BASE64............."></audio>

要么

<a href="data:audio/ogg;base64,BASE64...BASE64..BASE64....>Download</a>

可能不是你的方式,只是一个想法,但你的项目很有趣;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM