使用以下库:
https://introcs.cs.princeton.edu/java/stdlib/
我正在尝试使用 Stdin.fromFile 使用数组从文件中在 java 中播放 0.4 秒的音调。我可以编写代码并使用playTone (double, double)代码使其播放如下:
package csc402;
import stdlib.StdAudio;
import stdlib.StdIn;
public class PlaySong {
public static void playTone(double frequency, double duration) {
double[] values = StdIn.readAllDoubles();
final int sliceCount = (int) (StdAudio.SAMPLE_RATE * duration);
final double[] slices = new double[sliceCount+1];
for (int i = 0; i <= sliceCount; i++) {
slices[i] = Math.sin(2 * Math.PI * i * frequency / StdAudio.SAMPLE_RATE);
}
StdAudio.play(slices);
}
public static void main(String[] args) {
StdIn.fromFile("data/a2song.txt");
playTone (0,.4);
StdAudio.close();
System.exit(0);
}
}
我的a2song.txt文件如下
278.4375
278.4375
417.1849
417.1849
468.2742
468.2742
417.1849
我的问题是我错过了什么?代码运行良好,但没有播放音调。
相关分类