java音頻播放

package com.hongyuan.test;java


import java.io.File;ide

import java.io.IOException;ui


import javax.sound.sampled.AudioFormat;編碼

import javax.sound.sampled.AudioInputStream;spa

import javax.sound.sampled.AudioSystem;orm

import javax.sound.sampled.DataLine;對象

import javax.sound.sampled.LineUnavailableException;get

import javax.sound.sampled.SourceDataLine;it

import javax.sound.sampled.UnsupportedAudioFileException;io


public class MusicTest http://www.huiyi8.com/yinxiao/音效網


public static final String MUSIC_FILE = "相逢一笑.wav";


public static void main(String[] args) throws LineUnavailableException,

UnsupportedAudioFileException, IOException {


// 獲取音頻輸入流

AudioInputStream audioInputStream = AudioSystem

.getAudioInputStream(new File(MUSIC_FILE));

// 獲取音頻編碼對象

AudioFormat audioFormat = audioInputStream.getFormat();


// 設置數據輸入

DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class,

audioFormat, AudioSystem.NOT_SPECIFIED);

SourceDataLine sourceDataLine = (SourceDataLine) AudioSystem

.getLine(dataLineInfo);

sourceDataLine.open(audioFormat);

sourceDataLine.start();


/*

* 從輸入流中讀取數據發送到混音器

*/

int count;

byte tempBuffer[] = new byte[1024];

while ((count = audioInputStream.read(tempBuffer, 0, tempBuffer.length)) != -1) {

if (count > 0) {

sourceDataLine.write(tempBuffer, 0, count);

}

}


// 清空數據緩衝,並關閉輸入

sourceDataLine.drain();

sourceDataLine.close();

相關文章
相關標籤/搜索