帮一个小妹写一个播放mp3的代码,对于java不熟的我来说可真折腾。
网上好多代码都是用jmf的,需要单独安装,除了jar包,还依赖很多dll文件。
找了又找,终于找到一个只依赖jar包的;
原帖地址:http://blog.csdn.net/liuzhongbing/article/details/4535402
依赖的jar包见附件。
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.SourceDataLine;
public class Test {
public static void main(String[] args) throws Exception, IOException {
AudioInputStream audioInputStream;// 文件流
AudioFormat audioFormat;// 文件格式
SourceDataLine sourceDataLine;// 输出设备
File file = new File("E:/5.mp3");
// 取得文件输入流
audioInputStream = AudioSystem.getAudioInputStream(file);
audioFormat = audioInputStream.getFormat();
// 转换mp3文件编码
if (audioFormat.getEncoding() != AudioFormat.Encoding.PCM_SIGNED) {
audioFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,
audioFormat.getSampleRate(), 16, audioFormat.getChannels(),
audioFormat.getChannels() * 2, audioFormat.getSampleRate(),
false);
audioInputStream = AudioSystem.getAudioInputStream(audioFormat,
audioInputStream);
}
// 打开输出设备
DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class,
audioFormat, AudioSystem.NOT_SPECIFIED);
sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo);
sourceDataLine.open(audioFormat);
sourceDataLine.start();
byte tempBuffer[] = new byte[320];
try {
int cnt;
// 读取数据到缓存数据
while ((cnt = audioInputStream.read(tempBuffer, 0,
tempBuffer.length)) != -1) {
if (cnt > 0) {
// 写入缓存数据
sourceDataLine.write(tempBuffer, 0, cnt);
}
}
// Block等待临时数据被输出为空
sourceDataLine.drain();
sourceDataLine.close();
} catch (Exception e) {
e.printStackTrace();
System.exit(0);
}
}
}
分享到:
相关推荐
JMF播放MP3简单例子,Eclipse项目,免安装JMF,但是要将JMF安装时产生的20个dll文件拷贝在jre\bin下面才能正常运行。 关于20个dll的详情,可以下载我的JMF版音乐播放器,里面有文档说明: ...
java的JMF包和mp3播放插件,其中jmf包是全平台通用的
以前做项目用到java播放mp3文件,从官网下载了支持mp3 的spi 。 还有一个播放mp3的实例,绝对能用。 抛开JMF java一样很好很强大. 有一个java开源项目 做的mp3播放器源码,java播放器YOYOPlayer下次上传
这是我还没有写完善的音乐播放类,我主要是用于游戏里面播放音乐用的,所以一些用不到的方法就没写。程序简单,比较适合刚接触java多媒体的爱好者。
java的mp3解码器(非JMF、控制台播放音乐) 用于在你自己的程序中引入,播放MP3文件 运行前先编译---build.bat/build.sh
java 实现MP3 播放的列子和相关jar包,以及需要的Java+Media+Framework+(JMF)+API播放器.exe。
可以搜索E盘里所有的MP3文件,将其播放,只要在控制台输入数字,就可以播放音乐,是学习java的JMF的简单示例。代码可运行。
用jmf实现MP3的基本功能 暂停,播放,文件打开,删除,保存等功能
一个基于JMF的MP3播放器,实现列表播放和基本功能!
java播放MP3,不需要jmf
基于JMF的MP3播放器 附带简单的视频播放功能
java做的音乐播放器(需要先安装JMF),支持wav,MP3
Java术语,意为Java媒体框架(JMF)。该核心框架支持不同媒体(如:音频输出和视频输出)间的时钟同步。它是一个标准的扩展框架,允许用户制作纯音频流和视频流。 JMF实际上是Java的一个类包。JMF 2.1.1技术提供了...
用jmf做的小型播放器,能用,但是只能播放mp3格式和mpg格式
1,播放MP3 等常见音频文件 (wma除外,微软私有产品,没有对应的解码器) 2,播放模式:本软件提供五种可供选择,单曲播放、单曲循环、循环播放、 随机播放、顺序播放。 3,提供 播放、暂停、停止功能 4,曲目列表 ...
JAVA的高级多媒体的编程(JMF2.0)的JAR包 可以支持MP3格式文件,MPEG的格式等文件的播放功能
使用JAVA开发的一个MP3播放器,网上的代码基本都需要jmf,这里无需jmf,只基于几个jar包
MP3Java 带有JMF的Java中的MP3(Java Media Framework) Eclipse专案