当前位置: 技术问答>java相关
[求教]关于java的线程问题,谢谢帮忙 问题如下: ...........
来源: 互联网 发布时间:2015-09-09
本文导语: JAVA的线程 在APPLET下应用 我需要在一个特定时间 播放声音(就是一个闹钟) 一个XX.au 构建了 线程 使程序不停的核对时间 并在 public void run() { Thread me = Thread.currentThread(); while (timer == me)...
JAVA的线程 在APPLET下应用 我需要在一个特定时间 播放声音(就是一个闹钟) 一个XX.au
构建了 线程 使程序不停的核对时间
并在
public void run()
{
Thread me = Thread.currentThread();
while (timer == me) {
try {
Thread.currentThread().sleep(100);
} catch (InterruptedException e) {
}
repaint();
}
}
public void update(Graphics g) {
paint(g);
}
public void paint(Graphics g) {
...........
//在每分的30秒时播放
if(s==30) {
playenable();
}
if(playstart!=false){
playau();
}
...........
}
public void playenable(){
playstart=true;
}
public void playau(){
soundfile.play();
playstart=false;
}
遗憾的是 不出声!
每到30秒playau()确实有执行 因为我让APPLET显示了playstart 值
在30秒上 false变为ture 31秒又变为false 请问怎么解决????????
构建了 线程 使程序不停的核对时间
并在
public void run()
{
Thread me = Thread.currentThread();
while (timer == me) {
try {
Thread.currentThread().sleep(100);
} catch (InterruptedException e) {
}
repaint();
}
}
public void update(Graphics g) {
paint(g);
}
public void paint(Graphics g) {
...........
//在每分的30秒时播放
if(s==30) {
playenable();
}
if(playstart!=false){
playau();
}
...........
}
public void playenable(){
playstart=true;
}
public void playau(){
soundfile.play();
playstart=false;
}
遗憾的是 不出声!
每到30秒playau()确实有执行 因为我让APPLET显示了playstart 值
在30秒上 false变为ture 31秒又变为false 请问怎么解决????????
|
有一个专门的定时类。
|
你可以另起一个线程,来播放声音。
另外,一个小建议:
if(playstart!=false)可以写为if(playstart)
另外,一个小建议:
if(playstart!=false)可以写为if(playstart)
|
你写详细点我给你解决,我先回去给你编一个程序,30秒播放是吧