相关疑难解决方法(0)

(java)在文件中写小端

我正在尝试编写TIFF IFD,我正在寻找一种简单的方法来执行以下操作(这段代码显然是错误的,但它可以解决我想要的问题):

out.writeChar(12) (bytes 0-1)
out.writeChar(259) (bytes 2-3)
out.writeChar(3) (bytes 4-5)
out.writeInt(1) (bytes 6-9)
out.writeInt(1) (bytes 10-13)
Run Code Online (Sandbox Code Playgroud)

写道:

0c00 0301 0300 0100 0000 0100 0000

我知道如何让写入方法占用正确的字节数(writeInt,writeChar等),但我不知道如何让它以小端编写.谁知道?

java endianness filewriter

17
推荐指数
3
解决办法
1万
查看次数

如何在java中从字节数组中编写WAV文件?

我想从字节数组中编写Wav文件,我还想从输入wav文件中分割通道

Java Sound API显示您可以从TargetDataLine录制音乐,并作为示例显示正在写入字节数组的数据.但是将这个字节数组写入自己的文件是相当无用的,因为它不是WAV文件格式,不能在其他应用程序中播放.

如何使用javax.sound.sampled包编写声音文件?

java audio wav

11
推荐指数
2
解决办法
3万
查看次数

重采样/上采样声音帧从8Khz到48Khz(Java/Android)

我正在尝试为andriod开发的应用程序,以48Khz(PCM 16位和单声道)记录帧并将它们发送到网络.此外,还有一个8Khz的传入音频流.所以,我接收8Khz采样帧并播放它们(我的AudioTrack对象设置为8Khz),但是当它们播放时,一切正常,但延迟是巨大的.你听到的东西大约需要3秒钟.

我认为如果我将接收到的帧从8Khz上采样到48Khz并播放它们,那么就不会有如此巨大的播放延迟.事实上,当我以相同的速率录制和播放帧时,延迟非常低.坏事是我被迫这样做:发送到48Khz并接收到8Khz.

如前所述,我正在尝试将声音帧(16位PCM)从8Khz上采样到48Khz.有人知道Java中的任何例程/库/ API吗?

我知道关于对一个谨慎信号进行上采样的基础知识,但我认为设计和实现我自己的FIR滤波器并将其与音频流进行卷积....太过分了.而且,据我所知.

那么......有人能帮助我吗?有没有人知道我可以使用Java中的任何库/例程?任何建议或替代方案?

java audio android audio-streaming resampling

5
推荐指数
1
解决办法
8972
查看次数

有人可以解释.wav(WAVE)文件头吗?

好的,因此我正在尝试制作一个可处理.wav文件的程序,并且已经看到了此问题/答案,但是我不确定是标题中的每个数据指的是什么。例如,“块”指的是什么?那是特定数量的位/字节吗?

如果有人能至少以本问题中使用的格式告诉我,除了常量String Literals和“数据”数组之外,每个引用到.wav的数据是什么?特别是,我特别想知道什么是“块”,以及所有通道的采样率,字节率,每个采样的字节和每个采样的字节有何关系?(我怀疑字节速率是采样率*每个采样的字节,但是“针对所有渠道”呢?)

任何帮助表示赞赏。

java audio byte header wav

0
推荐指数
2
解决办法
3283
查看次数