zoukankan      html  css  js  c++  java
  • 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();
      }
     }
    }
  • 相关阅读:
    学习进度笔记13
    学习进度笔记12
    学习进度笔记11
    学习进度笔记10
    学习进度笔记9
    《架构之美》读书笔记1
    学习进度笔记8
    电话拨号盘(带触摸振动反馈)
    堆排序(小根堆)
    图论起步(长期更新)
  • 原文地址:https://www.cnblogs.com/mingforyou/p/2237744.html
Copyright © 2011-2022 走看看