audio - 如何使用 openAL (java) 重新加载 wav 文件

标签 audio reload wav openal java-3d

我编写了一个加载 .wav 文件的应用程序,但它只加载一次。
我希望能够在第一首轨道结束后重新加载 wav 文件。我怎样才能在 java 中做到这一点?
另外,如果我在轨道结束后(加载所选轨道时)两次点击播放,它会抛出一个

IllegalThreadStateException.
 if (threadStatus != 0 || this != me)
            throw new IllegalThreadStateException();

我用来加载文件的代码是这样的:
OpenAL openal = new OpenAL();



source = openal.createSource(new File(Audioplayer.path));
System.out.println(source.toString());
source.play();
source.setGain(0.75f);      // 75% volume
source.setPitch(0.85f);     // 85% of the original pitch
source.setPosition(0, 0, 0); // -1 means 1 unit to the left
source.setLooping(false);    // Loop the sound effect
j=source.getBuffer();
System.out.println(j);
for (i=1;i<=10000;i++){
    Thread.sleep(1);        // Wait for 10 seconds
}
Thread.sleep(10000);        // Wait for 10 seconds
source.close();
openal.close();

最佳答案

只需用一个循环包围该区域,每次完成时它都会重新加载那段代码。

关于audio - 如何使用 openAL (java) 重新加载 wav 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12625787/

相关文章:

audio - Julia 中用于音频处理的实时 STFT 和 ISTFT

css - 外部样式表未在 Chrome 74 中更新,但其他文件会更新

jquery - 在加载时使用 jquery 确定元素的大小。单击后退按钮时不起作用

python - 从numpy生成的wav文件无法听见(完全静音)

javascript - 在客户端播放带有 Audio Waves 的 mp3 和文件 :///

android - Xamarin.Android:如何隐藏音频?

javascript - Flask Python中未呈现不同的模板

python - Python 3.3.2 中的重载函数用法

python - 将 MP3 转换为 WAV 时出现 2 个错误

c - 如何更改 .wav 文件的音量?