![](/img/trans.png)
[英]how to send .wav audio files using socket and serversocket class in java
[英]Loop audio files using .wav format in java
我正在尝试循环播放音频文件,但是当我尝试其他可用方法时,我的音乐无法播放。
我的基本代码是:
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 = new AudioStream(url.openStream()); AudioPlayer.player.start(audiostream);
然后尝试将代码循环? 在很大程度上取决于.start命令是否阻塞。 如果它启动一个单独的线程(最有可能),那么您将不得不弄清楚文件何时结束,而且我看不到提供任何执行此操作的命令! 该规范还列出了创建ContinuousAudioDataStream并进行管理的可能性。
除非我对该库不了解,否则建议使用javax.sound.sampled.Clip或javax.sound.sampled.SourceDataLine进行播放。 剪辑具有可设置为循环的布尔值,但需要先将整个文件加载到内存中。 SourceDataLine从URL或文件位置播放,并且可以实现一个侦听器来告诉您文件何时完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.