gpt4 book ai didi

java - 在Java中使用.wav格式循环播放音频文件

转载 作者:行者123 更新时间:2023-12-03 02:19:57 24 4
gpt4 key购买 nike

我正在尝试循环播放音频文件,但是当我尝试其他可用方法时,我的音乐无法播放。

我的基本代码是:

import java.io.*;
import sun.audio.*;

public class PlayMusic {


public void playSound() {
try {
AudioPlayer p = AudioPlayer.player;
AudioStream as = new AudioStream(new FileInputStream("02 River Flows In You.wav"));
p.start(as);


} catch (IOException IOE) {
}
}

最佳答案

我从未见过使用过sun.audio.AudioPlayer!我一直使用javax.sound.sampled库。

也许您可以告诉我您是如何发现它的。在我看来,它看起来像是比较旧的代码(10年?),而且在有限的方面也有点。

我认为,如果您没有一次播放,则应尝试使用URL形式:

AudioStream audiostream =新的AudioStream(url.openStream());
AudioPlayer.player.start(audiostream);

然后尝试将代码放入循环吗?在很大程度上取决于.start命令是否阻塞。如果它启动一个单独的线程(最有可能),那么您将必须弄清楚文件何时结束,而且我看不到提供任何执行此操作的命令!该规范还列出了创建ContinuousAudioDataStream并进行管理的可能性。

除非我对该库不了解,否则建议使用javax.sound.sampled.Clip或javax.sound.sampled.SourceDataLine进行播放。剪辑具有可设置为循环的 bool(boolean) 值,但需要先将整个文件加载到内存中。 SourceDataLine从URL或文件位置播放,并且可以实现一个侦听器来告诉您文件何时完成。

http://docs.oracle.com/javase/tutorial/sound/playing.html

关于java - 在Java中使用.wav格式循环播放音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14674496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com