在两个音频的字节数组之间添加无声暂停

问题描述

我将多个音频文件转换为每个音频文件,并且我有每个音频文件的开始时间和结束时间(这些音频文件是从视频转换而来的,所以我有它的时间戳)。

现在我想合并这些音频文件的字节数组以创建一个音频 mp3 文件。我试图简单地合并这两个数组,它成功地创建了一个 mp3 文件,但中间没有任何停顿。

我想根据每个文件的开始时间和结束时间的差异在每个文件之间添加静音音频。为了实现这一点,我为每个数组之间的每一秒差异添加了 0 个字节,但它没有添加足够的暂停。

有没有办法确定每秒需要添加多少字节?

每个音频都有 8000 赫兹采样率。

以下是我用来添加 0 个字节的代码

 ArrayList<Byte> buffer = prevIoUsTranslation.getAudioBuffer();   

// to get gape in seconds between two audio files from a video
int diff = (int)differenceBetweenTwoCalendar(
                prevIoUsTranslation.getSentenceEndTime(),translation.getSentenceStartTime());
// Add 0 bytes for each second between two audio buffers(bytes array)
for(int j = 0; j < diff; j++)
  buffer.add((byte) 0);

// Add seconds part of audio buffer byte array
buffer.addAll(translation.getAudioBuffer();

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...