我的Java学习-小闹钟编程声音播放

今天注意到一个问题,说是小闹钟用java编程应该怎么实现。既然是闹钟,就涉及到2个难题,一个是倒计时,一个是声音的播放。网上资料查找,java确实有提供播放声音的包,在程序的开始导入相应的包

import sun.audio.*;

这里就提供了播放声音的类和方法,当然在编译过程中,会有提示,这个是一个内部类,有可能会在后期正式类被废弃。不用管它,现在还是能够比较方便的使用。
还有一个倒计时,这里可以考虑用一个for循环来搞定,对要提醒的时间做一个减法,每过一分钟或者一秒钟,就系统sleep一下,当计时到0的时候触发相应的代码就可以。全部代码如下:

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

public class Test{
    public static void main(String[] args){
        CountTime count = new CountTime( 2 );  //2分钟测试用
        new Thread(count).start();
        
    }
}

class CountTime  implements Runnable{
    private int time;
    public CountTime(int minute){  //给出2种构造方法,一种是分钟,另一种是小时分钟
        time = minute;
    }
    public CountTime(int hour, int minute){
        time = hour * 60 + minute;
    }
    public void run(){    
        if(time > 0){
            for(int i = time * 60 ; i > 0; i --){    //用秒来作为计算的次数
                System.out.println(i / 3600 + "小时:" +
                        (i / 60) % 60 + "分钟" + i % 60 +"秒");  //每隔一秒显示
                try{ 
                    Thread.sleep( 1000 );     //系统停顿一秒
                }catch( InterruptedException e){ 
                    e.printStackTrace();
                }
            }
            try{
                InputStream in = new FileInputStream("Ring01.wav");  
                AudioStream audio = new AudioStream(in);  //使用sun包里的类AudioStream
                AudioPlayer.player.start(audio);
            }catch(Exception e){  }
            
            System.out.println("时间到了");
        }
            
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值