Java 相当于 C++ sf_readf_double()
我正在 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 short
s rather than double
s.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个:
我应该做什么移植用 libsndfile 编写的 C++ 代码时在 Android 中使用吗?
检查一下:
android-ndk
Try this:
What should I use in Android when porting C++ code written with libsndfile?
Check this:
android-ndk