- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为游戏制作背景音乐。由于某种原因,歌曲第一次播放后就不会再播放了。我做错了什么以及如何解决它?我知道我可以使用 .loop() 但我希望它永远重复,并且 .loop() 最终会停止。
public class playSong
extends Thread
{
Clip clip=null;
playSong()
{
start();
}
@Override
public void run()
{
while(true)
{
if(clip==null)
{
playSound("fax.wav");
}
else if(!clip.isRunning())
{playSound("fax.wav");}
}
}
public void playSound(String name)
{
try {
File file=new File(this.getClass().getResource(name).getFile());
AudioInputStream audio = AudioSystem.getAudioInputStream(file);
clip = AudioSystem.getClip();
clip.open(audio);
clip.start();
} catch (Exception e) {
System.out.print(e.getMessage());
}
}
}
最佳答案
最好是使用Clip中已有的循环选项。
clip.loop(Clip.LOOP_CONTINUOUSLY);
这里已经有一个答案描述了:Audio clip looping 。它应该通过保持线程运行来解决您描述的最终循环问题。
更新:
这是一个由您的代码组成的完整工作示例,经过修改。
public class PlaySong extends Thread
{
Clip clip=null;
public PlaySong()
{
start();
}
@Override
public void run()
{
playSound("fax.wav");
for(;;)
{
try
{
Thread.sleep(1000);
}
catch(Exception e)
{
}
}
}
public void playSound(String name)
{
try
{
File file = new File(this.getClass().getResource(name).getFile());
AudioInputStream audio = AudioSystem.getAudioInputStream(file);
clip = AudioSystem.getClip();
clip.open(audio);
clip.start();
clip.loop(Clip.LOOP_CONTINUOUSLY);
}
catch(Exception e)
{
System.out.print(e.getMessage());
}
}
}
关于java - Clip.isRunning() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16688847/
我正在尝试为游戏制作背景音乐。由于某种原因,歌曲第一次播放后就不会再播放了。我做错了什么以及如何解决它?我知道我可以使用 .loop() 但我希望它永远重复,并且 .loop() 最终会停止。 pu
我正在创建一个正在创建门(AND、OR 等)的程序,但是当我想创建一个 SR 锁存器时,我需要使用一个计时器。 因此,当调用此方法 (inputChanged) 时,它应该检查计时器是否正在运行。如果
这是我第一次来这个论坛。我的 java 计时器有问题。我的程序在不同时间显示图像。这是我的代码 //TIMER //creo timer per il tempo di visualizzaz
OSStatus err = AudioQueueNewOutput(&audioDescription, AudioPlayerAQOutputCallback, ( void* )self, ni
我遇到了一个奇怪的行为。如果我使用 start() 启动 AnimationDrawable,那么在动画完成后,方法 isRunning() 仍将返回 true。它是“一次性”动画,不循环播放。 这是
我使用以下代码启动嵌入式 Jetty: Server server = new Server(8080); MBeanContainer mbContainer = new MBeanContaine
我正在使用 AVCaptureSession 捕捉视频,在 iOS 6.1 上一切正常。但是,我一直在尝试从另一个线程检查我的捕获 session 是否正在通过 isRunning 方法运行。但是,无
本文整理了Java中org.apache.zookeeper.server.ZooKeeperServer.isRunning()方法的一些代码示例,展示了ZooKeeperServer.isRunn
本文整理了Java中org.apache.twill.zookeeper.ZKClientService.isRunning()方法的一些代码示例,展示了ZKClientService.isRunni
在Java中,我需要检查音频剪辑是否正在运行,但是当我尝试类似的操作时: if(clip1.isRunning()){ } Eclipse给了我以下错误: “类型AudioClip的isRunning
DataLine 中的 isRunning() 和 isActibe() 有什么区别?当线路实际处理数据时,这两个标志似乎都已设置。 更新 那里有两对方法: 1) 打开/关闭 2) 启动/停止 还有三
我正在我的 PI 上测试一个程序。在主机 pc 上运行它时没有显示错误,相反,在 pi (CM3) 上运行它会卡住。 我正在尝试使用多线程。 从主线程开始,在构造函数中启动了一个 QThread,然后
本文整理了Java中org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.isRunning()方法的一些代码示例,展示了WAL
我有一个简单的 SKAudioNode: 让 backgroundSound = SKAudioNode(fileNamed: "backgroundSound.mp3") 我用播放 backgrou
下面是我的 qthread 实现的代码。我正在尝试从卫星获取 gps 数据。即使程序退出 gpsSearch() 槽函数,QThread 也不会产生 finished() 信号。每当单击按钮时,都会调
我是一名优秀的程序员,十分优秀!