我正在尝试使用 java 声音库和下面的代码在我的树莓派上使用 javafx 播放 wav 文件,我收到如下错误
javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, big-endian not supported.
谷歌搜索后,我发现
树莓派声卡驱动程序不支持大端音频格式,我需要更改 getAudioFormat() 函数以请求小端格式:
boolean bigEndian = false;
好的,到目前为止,我认为我需要以下内容
private AudioFormat getAudioFormat() {
float sampleRate = 8000.0F;
int sampleInbits = 16;
int channels = 1;
boolean signed = true;
boolean bigEndian = false;
return new AudioFormat(sampleRate, sampleInbits, channels, signed, bigEndian);
}
但是我在哪里getAudioFormat()
从下面的代码中调用。
URL url = this.getClass().getClassLoader().getResource("Audio/athan1.wav");
Clip clip = AudioSystem.getClip();
AudioInputStream ais = AudioSystem.getAudioInputStream( url );