java - 关于 Java Sound API 的采样率和帧速率大小的问题

标签 java api audio format

我继承了一些使用 Java 的 SourceDataLine Sound API 的代码。

下面是他们如何设置 AudioFormat 对象。帧速率和采样率设置为相同似乎很奇怪。这有任何意义吗?另外,拥有 20000000 帧速率或采样率有什么意义吗?我们的耳朵不是最高可达200​​00吗?

AudioFormat af = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 20000000, 16, 1, 2, 20000000, true);

最佳答案

如果流以 PCM 格式编码且未压缩,则一帧包含每个 channel 的一个时间索引的样本。如果流被压缩,则一帧包含每个 channel 的样本,但针对一个或多个时间索引。帧的具体结构取决于压缩类型。

查看 AudioFormat 类定义以了解更多详细信息: http://download.oracle.com/javase/6/docs/api/javax/sound/sampled/AudioFormat.html

大多数音响系统认为人耳的最高频率为 22KHz,这就是为什么采样频率为 44KHz(根据 Niquist 规则)。

关于java - 关于 Java Sound API 的采样率和帧速率大小的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5626088/

相关文章:

c - 如何使用 API 并正确初始化 openssl?

python - 如何使用 python/tumblr api 从帖子中获取注释信息?

windows - ffmpeg 如何将音频转换为 aac 但保持旧文件使用的比特率?

java - 使用注解配置spring mvc和mongodb

java - 如何在 spring 中将属性设置为 WEB-INF 中的路径名?

api - 按子文章 ID 获取类别 - Joomla 2.5 API

ios - 在 Xcode 7/Swift 2 中播放音频不工作

ios - 如何通过 iMessage ios 8 发送音频文件

java - 为什么 Java 中的确定性算法会在不同的时间运行?

java - 从 Eclipse 启动 Tomcat 时出现 "SetPropertiesRule"警告消息