SWING产生声音

    技术2022-05-20  46

    package test;import java.applet.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.UIManager.LookAndFeelInfo;import java.io.*;import java.net.MalformedURLException;

    public class TestMusic {

     public static void main(String[] args) {  // TODO Auto-generated method stub  try {      for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {          if ("Nimbus".equals(info.getName())) {              UIManager.setLookAndFeel(info.getClassName());              break;          }      }  } catch (Exception e) {   JOptionPane.showMessageDialog(null, "未找到新皮肤,请升级JDK到6.0 update 10");  }  new Frame1(); }

    }

    class Frame1 extends JFrame{ JButton btnPlay; JTextField txtNum; JLabel lblMsg; public Frame1(){  this.setBounds(200,100,400,300);  this.setDefaultCloseOperation(EXIT_ON_CLOSE);  this.setLayout(new FlowLayout());    lblMsg = new JLabel("请输入数字:");  this.add(lblMsg);  txtNum = new JTextField(10);  this.add(txtNum);  btnPlay = new JButton("播放");  btnPlay.addActionListener(new ActionListener(){

       public void actionPerformed(ActionEvent arg0) {//    File f = new File("E:/s1009/素材/声音/start.wav");//    try {//     AudioClip music = Applet.newAudioClip(f.toURL());//     music.play();//    } catch (MalformedURLException e) {//     // TODO Auto-generated catch block//     e.printStackTrace();//    }    int number = Integer.parseInt(txtNum.getText());    readNumber(number);       }});  this.add(btnPlay);    this.setVisible(true); }  //播放指定的音频文件 private void readSingleNumber(String fileName){  File f = new File(fileName);  try {   AudioClip ac = Applet.newAudioClip(f.toURL());   ac.play();  } catch (MalformedURLException e) {   // TODO Auto-generated catch block   e.printStackTrace();  } }  //对整个数字进行拆解 private void readNumber(int number){  int qian = number/1000;//获得千位的数字  int bai = number/100;//获得百位的数字  int shi = number/10;//获得十位的数字  int ge = number;//获得个位的数字  int numberLength = String.valueOf(number).length();  //千  switch(numberLength){  case 4:   //千   if(qian!=0){    readSingleNumber("sounds/" + String.valueOf(qian) + ".wav");    try {     Thread.sleep(600);    } catch (InterruptedException e) {     // TODO Auto-generated catch block     e.printStackTrace();    }    readSingleNumber("sounds/千.wav");    try {     Thread.sleep(600);    } catch (InterruptedException e) {     // TODO Auto-generated catch block     e.printStackTrace();    }   }  case 3://   百   if(qian!=0 && bai==0 && shi==0 && ge==0){}   else if(bai==0 && qian!=0){    readSingleNumber("sounds/0.wav");    try {     Thread.sleep(600);    } catch (InterruptedException e) {     // TODO Auto-generated catch block     e.printStackTrace();    }   }   else{    readSingleNumber("sounds/" + String.valueOf(bai) + ".wav");    try {     Thread.sleep(600);    } catch (InterruptedException e) {     // TODO Auto-generated catch block     e.printStackTrace();    }    readSingleNumber("sounds/百.wav");    try {     Thread.sleep(600);    } catch (InterruptedException e) {     // TODO Auto-generated catch block     e.printStackTrace();    }   }  case 2://   十   if(bai!=0 && shi==0 && ge==0){}     else if(shi==0 && bai!=0){    readSingleNumber("sounds/0.wav");    try {     Thread.sleep(600);    } catch (InterruptedException e) {     // TODO Auto-generated catch block     e.printStackTrace();    }   }   else if(shi==0 && bai==0){}   else{    readSingleNumber("sounds/" + String.valueOf(shi) + ".wav");    try {     Thread.sleep(600);    } catch (InterruptedException e) {     // TODO Auto-generated catch block     e.printStackTrace();    }    readSingleNumber("sounds/十.wav");    try {     Thread.sleep(600);    } catch (InterruptedException e) {     // TODO Auto-generated catch block     e.printStackTrace();    }   }  case 1://   个   if(ge!=0){    readSingleNumber("sounds/" + String.valueOf(ge) + ".wav");    try {     Thread.sleep(600);    } catch (InterruptedException e) {     // TODO Auto-generated catch block     e.printStackTrace();    }   }  }  readSingleNumber("sounds/元.wav"); }}


    最新回复(0)