我有一个计划线程,大约每半秒运行一次,每次播放一个音频剪辑,在每个循环之前对剪辑调用stop()
,以便再次start()
:
public AudioThread() {
Clip clipF5 = AudioSystem.getClip();
AudioInputStream inputF5 = AudioSystem.getAudioInputStream(Main.class.getResourceAsStream("sound.wav"));
clipF5.open(inputF5);
}
ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
exec.scheduleAtFixedRate(new Runnable() {
public void run() {
if (clipF5.isRunning()) { clipF5.stop(); }
clipF5.start();
}
}, 1, interval, TimeUnit.MICROSECONDS);
但第一次之后就不再播放了。代码运行,但声音不播放。有什么想法吗?
容易修理!
你只需要增加重置媒体位置的步骤。您可以使用< code > clip . setframeposition(0)或< code > clip . setmicrosecondposition(0)返回到剪辑的开头。start()方法只是从最后一个媒体位置开始,即使它是文件的结尾。
if (clipF5.isRunning())
{
clipF5.stop();
clipF5.setFramePosition(0);
}
clipF5.start();
我假设你的剪辑长度不到30秒!
问题内容: 我编写了一个简单的类,可以在一个简单的游戏中播放音频文件。它适用于诸如枪声或爆炸声之类的小声音,但是当我尝试将其用于背景音乐时,出现以下错误:“未能分配剪辑数据:请求的缓冲区太大。” 我假设这意味着文件太大,但是如何解决呢?资源: 问题答案: 使用。这是我玩12-18分钟(或更多1分钟)的MP3的课堂。 它要求在运行时类路径上实际加载MP3格式的声音,但这不是重点。重点是: 会将声音文
我在带有的游戏中播放音效(WAV文件)。但是,有2秒的效果并没有完全播放,只是其中的一部分。如果我添加,那么声音会正确播放多次,即整个2秒。出了什么问题,如何修复?
好吧,标题说明了一切,我尝试使用javax播放wav文件。声音,什么也没有发生。我试过很多不同的文件,但没有任何运气。
我的主页有一个有音频的视频背景。但音频只能使用firefox自动播放。如果我要在其他网站(如chrome或IE)上打开我的主页,音频将听不到。
Audio Clips are audio data used by Audio Sources. Unity supports mono, stereo and multi (up to 8) channels audio assets. Unity supports importing the following audio file formats: .aif, .wav, .mp3, an
今天,我制作了一个在Android中播放音乐的应用程序。 使用MediaPlayer播放音频文件时失败;它无法播放任何文件音频。此异常引发日志cat,如: E/MediaPlayer:错误(1,-2147483648) 带系统。错误:java。io。IOException:准备失败:状态=0x1 W/System.err:android.media.MediaPlayer.prepare(本机方法