java - 使用Java剪切流中的音频数据

标签 java audio

我知道如何从文件读取字节并保存,但是如何从音频文件读取秒并保存到新文件中?有什么方法吗?多少字节包含1秒?也许听起来很愚蠢,但我不知道。

ps我只想从音频文件中录制20秒,然后将这20秒保存到另一个文件中。我知道如何写入新文件,但是如何仅写入音频文件的一部分(20秒)

提前
罗尼

最佳答案

这取决于您用于捕获音频流的格式。例如,如果您使用的是原始(未压缩)音频,每个样本16位,立体声和44Khz(这表示每秒44100个样本),那么您需要每秒存储2 *(16/8)* 44100字节。此外,如果要编写其他应用程序可以读取的某种标准文件,则需要确定容器格式。对于原始(未压缩)音频,通常使用Microsoft wave files,这将要求您在文件开头写入带有一些元数据的 header 。

更新:

您可以尝试使用AudioFileWriter

关于java - 使用Java剪切流中的音频数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5941120/

相关文章:

c# - 获取音频混合器中可视化的单个 Windows 应用程序当前音量输出级别

macos - WDL-OL:找不到资源

Java声明一个实现接口(interface)的变量

java - 对象创建作为局部变量

java - 在大量 CSV 文件中查找最大价格

ruby-on-rails - 如何使用Rails读取音频文件信息,我想读取音频文件的总持续时间(以秒为单位)

ffmpeg 中的音频效果

java - org.springframework.beans.NotReadablePropertyException : Invalid property of bean class. Thymeleaf + SpringBoot

java - 是否可以要求一定数量的输入并在单个流中对它们进行处理?

ios - 电话后的 PhoneGap 事件