java音频播放示例分享(java如何播放音频)
java音频播放示例分享(java如何播放音频)
发布时间:2016-12-28 来源:查字典编辑
摘要:这是一份精简后的代码,能够支持的格式十分有限。复制代码代码如下:packagecom.hongyuan.test;importjava.io...

这是一份精简后的代码,能够支持的格式十分有限。

复制代码 代码如下:

package com.hongyuan.test;

import java.io.File;

import java.io.IOException;

import javax.sound.sampled.AudioFormat;

import javax.sound.sampled.AudioInputStream;

import javax.sound.sampled.AudioSystem;

import javax.sound.sampled.DataLine;

import javax.sound.sampled.LineUnavailableException;

import javax.sound.sampled.SourceDataLine;

import javax.sound.sampled.UnsupportedAudioFileException;

public class MusicTest {

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();

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Java学习
热门Java学习
编程开发子分类