zoukankan      html  css  js  c++  java
  • java音乐播放之IO流处理

    这个类仅仅能一直播放。知道音乐结束。

    比AudioCilp要好一点。

    import java.io.*;
    
    import javax.sound.sampled.*;
    
    public class Test {
    	public static void main(String[] args) {
    		AePlayWave apw=new AePlayWave("./111.wav");
    		apw.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();
    		}
    
    	}
    
    	
    }
    










  • 相关阅读:
    java 实现一段文字中,出现次数最多的字
    json 字符串 <----> json 对象
    农场销售
    IDEA Tomcat配置 VM Option
    java用JSONObject生成json
    面向对象
    java读取 properties配置文件
    Jquery span标签的取值赋值
    Oracle 分析函数 over
    gitee指令集合
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7044743.html
Copyright © 2011-2022 走看看