使用数组调用使用 stdlib java 库的音调

使用以下库:


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

我的问题是我错过了什么?代码运行良好,但没有播放音调。


繁花不似锦
浏览 125回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java