Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 非实时使用Web音频API_Javascript_Web Audio Api - Fatal编程技术网

Javascript 非实时使用Web音频API

Javascript 非实时使用Web音频API,javascript,web-audio-api,Javascript,Web Audio Api,Web音频API看起来很酷,但我真的很想用它来处理音频文件,然后再次将它们保存为wav文件,而且在它们处理时我真的不需要听它们。这可能吗?是否有类似于encodeAudioData()的方法将音频缓冲区转换回ArrayBuffer以便我可以将其放回文件中 编辑:recorderJS看起来几乎完美,但它只输出16位WAV。有没有可能实现专业音频格式(24位或32位浮点格式)?在Web audio API规范中,有一个功能完全满足您的需要 OfflineAudioContext是一种特殊类型的音频上

Web音频API看起来很酷,但我真的很想用它来处理音频文件,然后再次将它们保存为wav文件,而且在它们处理时我真的不需要听它们。这可能吗?是否有类似于
encodeAudioData()
的方法将音频缓冲区转换回
ArrayBuffer
以便我可以将其放回文件中


编辑:recorderJS看起来几乎完美,但它只输出16位WAV。有没有可能实现专业音频格式(24位或32位浮点格式)?

在Web audio API规范中,有一个功能完全满足您的需要

OfflineAudioContext是一种特殊类型的音频上下文,用于以比实时更快的速度呈现/混合。它不会渲染到音频硬件,而是尽可能快地渲染,调用完成事件处理程序,并将结果作为音频缓冲区提供


您的用例是什么?尽管有许多非JS工具,而且您描述的内容听起来像是什么,但声音操纵是可能的,因此无需使用Web Audio API。如果您真的想使用它,您可能想运行JS服务器端,这意味着
Node.JS
。我想基于rms进行一些升级,还想对wav文件进行一些卷积。我只需要做一次处理,但是文件会被回放很多次。我在php服务器端做这些事情时遇到了内存限制,所以我想在客户端做。web audio api已经可以完成大部分工作,如果我能够相对轻松地恢复处理,它将很好地完成这项工作。首先,如果您这样做了,那么客户端将需要将修改后的声音文件发布回服务器(因为您只想做一次)。如果您允许客户端发回文件,您就必须担心安全问题。看一看可能的复制品,我看了这个,它让我走到了一半。我还真的想把我所做的处理保存到一个新的wav文件中。看来我必须修改recorderJS以输出其他位深度,或者只是为此编写自己的代码。