我打算只在我想要的速度时将PCM样本批量传递到我的声卡中。在这种情况下,对我来说最好的解决方案是使用一个PCM样本,将其传递到声卡并播放它。
有没有图书馆可以做到这一点?我已经尝试了alsaaudio,它允许我将PCM数据写入Calendar cal;
int[] years = new int[15];
public int[] getYears() {
cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
for (int index = 0; index < years.length;) {
years[index++] = year + index;
}
return years;
}
,但只有在我完成数据写入后才会开始播放(他们如何完成这对我来说是个奇迹)。
如果没有,我可以编写一个简单的函数吗?
答案 0 :(得分:0)
根据维基百科,单个样本只是表示回放设备的当前“幅度”的数值。 (https://en.wikipedia.org/wiki/Sampling_(signal_processing))
音频文件的标准采样频率从44.1 kHz开始。这意味着您每秒至少有44100个样本。那么你真的想逐个播放音频样本吗?我不确定,但是由于将数据传输到audiodevice沿海地区的操作很多,所以可能一个接一个都不可能。
我建议你播放样本包。考虑发送数千个样本。试验什么值使声音平滑并最小化初始延迟。