Java 相当于 C++ sf_readf_double()

发布于 2024-10-10 08:14:50 字数 676 浏览 1 评论 0原文

我正在 Android 中操作 .wav 音频文件。
到目前为止,一切进展顺利(我可以从麦克风录制 .wav 文件,添加回声等),但我想模仿 sf_readf_double() 和 sf_writef_double< 的行为/code> 按照 C++ 中的 libsndfile 实现更复杂的过滤器。< br> 我有 com.sun.media.sound.WaveFileReader 和 WaveFileWriter 对象,我正在使用

stream = wfr.getAudioInputStream(new File(inputAudioFileName));

它返回 AudioInputStream
这只是一次从流中读取 8 个字节到双精度的情况还是还有更多的事情?我有点困惑,因为我使用的其他过滤器似乎操作的是 short 而不是 double

I'm manipulating .wav audio files in Android.
So far things are going well (I can record a .wav file from the mic, add echoes etc.), but I'd like to mimic the behaviour of sf_readf_double() and sf_writef_double as per libsndfile in C++ to implement more complex filters.
I have a com.sun.media.sound.WaveFileReader and WaveFileWriter objects and I'm getting at the audio data using

stream = wfr.getAudioInputStream(new File(inputAudioFileName));

which returns an AudioInputStream.
Is it just a case of reading 8 bytes from the stream at a time into a double or is there more to it than that? I'm a little confused as other filters I'm using seem to manipulate shorts rather than doubles.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文