• Java中音乐背景的播放


    package music;
    import java.io.*;
    
    import javax.sound.sampled.*;
    
    public class Music {
     public static void main(String[] args) {
    //  创建一个AePlayWave对象实例
      AePlayWave wav=new AePlayWave("D:/111.wav");
    //  启动该线程播放
      wav.start();
     }
    }
    //播放声音的类
    class AePlayWave extends Thread {
     private String filename;
     public AePlayWave(String wavfile) {
      filename = wavfile;
    
     }
     public void run() {
      File soundFile = new File(filename);
      AudioInputStream audioInputStream = null;
      try {
       audioInputStream = AudioSystem.getAudioInputStream(soundFile);
      } catch (Exception e1) {
       e1.printStackTrace();
       return;
      }
      AudioFormat format = audioInputStream.getFormat();
      SourceDataLine auline = null;
      DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
      try {
       auline = (SourceDataLine) AudioSystem.getLine(info);
       auline.open(format);
      } catch (Exception e) {
       e.printStackTrace();
       return;
      }
      auline.start();
      int nBytesRead = 0;
      //这是缓冲
      byte[] abData = new byte[512];
    
      try {
       while (nBytesRead != -1) {
        nBytesRead = audioInputStream.read(abData, 0, abData.length);
        if (nBytesRead >= 0)
         auline.write(abData, 0, nBytesRead);
       }
      } catch (IOException e) {
       e.printStackTrace();
       return;
      } finally {
       auline.drain();
       auline.close();
      }
     }
    }
  • 相关阅读:
    BZOJ 2733 永无乡
    【重温基础】13.迭代器和生成器
    【重温基础】13.迭代器和生成器
    【重温基础】12.使用对象
    【重温基础】12.使用对象
    【重温基础】11.Map和Set对象
    【重温基础】11.Map和Set对象
    【重温基础】10.数组
    【重温基础】10.数组
    【重温基础】9.正则表达式
  • 原文地址:https://www.cnblogs.com/mingforyou/p/2237744.html
Copyright © 2020-2023  润新知