我目前正在做一个捕获声音的项目,并以.wav文件格式记录声音,但是我还必须通过应用各种公式来处理声音,因此需要以数字格式表示。

目前,我在录制声音时使用以下属性:

AudioFormat.Encoding encoding = AudioFormat.Encoding.PCM_SIGNED;
String encString = "linear";
float rate = 44100;
int sampleSize = 16;
String signedString = "signed";
boolean bigEndian = true;
int channels = 2;

上面的代码是为Java编写的。

最佳答案

我正在从事类似的项目。当您去写数据块时,请执行以下操作:Console.writeLine(whatever_array_youre_storing_the_data_in[i]);并且您的控制台提供您在所述数组中使用的-32767到32767的所有值
对我来说,我只是在写短裤时直接保存了短裤,所以对我来说writer.Write(short.Parse(random.Next(-32767,32767).toString());但是要在int16中获取数值数据,我会将随机数设置为短整数,然后再将其写入控制台。希望这回答了您的问题!有点模糊!

最后,如果您有足够的时间,可以随时使用十六进制编辑器!

///请注意,这既是伪代码又是C#的实现,与Java有关的idk很大,除了它在语法上与 ActionScript 非常接近之外

关于java - 以数字方式重新呈现音频.wav文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8516149/

10-11 11:36