`
superlxw1234
  • 浏览: 550699 次
  • 性别: Icon_minigender_1
  • 来自: 西安
博客专栏
Bd1c0a0c-379a-31a8-a3b1-e6401e2f1523
Hive入门
浏览量:44349
社区版块
存档分类
最新评论

java播放mp3(不用jmf)

    博客分类:
  • java
阅读更多

帮一个小妹写一个播放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);
		}
	}
}
 
0
1
分享到:
评论
3 楼 ming1332236 2014-04-11  
感谢楼主 这个真的可以使用!
2 楼 goodscx 2013-10-15  
真心不错,特别好用,感谢楼主!
1 楼 BlackGray 2012-06-26  
原帖还没看,本帖报:
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file

查过,格式不支持:
http://www.guan8.net/Java/102673.html

相关推荐

    java的JMF包和mp3播放插件

    总的来说,Java的JMF包和MP3播放插件为开发者提供了在Java环境中播放MP3音频的能力,尽管随着技术的发展,可能有更先进的解决方案出现,但了解这些基础知识仍然对理解多媒体处理在Java中的应用具有重要意义。

    Midi和MP3播放软件,java版,不用JMF

    本文将详细讨论如何在不依赖Java Media Framework (JMF)的情况下实现Midi和MP3文件的播放。JMF虽然提供了丰富的媒体处理能力,但它的安装和配置过程相对复杂,且在某些现代系统上可能不再兼容。 首先,我们要了解...

    java mp3播放器+jmf相关包+Java+Media+Framework+(JMF)+API播放器.exe

    Java MP3播放器是利用Java Media Framework (JMF) API来实现的一种软件工具,它允许开发者在Java应用程序中集成音频播放功能,特别是针对MP3格式的音频文件。JMF是Sun Microsystems开发的一个开源框架,主要用于处理...

    无需JMF java音频开发——MP3插件spi及使用实例

    以前做项目用到java播放mp3文件,从官网下载了支持mp3 的spi 。 还有一个播放mp3的实例,绝对能用。 抛开JMF java一样很好很强大. 有一个java开源项目 做的mp3播放器源码,java播放器YOYOPlayer下次上传

    JMF播放MP3简单例子,JMF免安装

    JMF播放MP3简单例子,Eclipse项目,免安装JMF,但是要将JMF安装时产生的20个dll文件拷贝在jre\bin下面才能正常运行。 关于20个dll的详情,可以下载我的JMF版音乐播放器,里面有文档说明: ...

    基于JMF的MP3播放器

    【基于JMF的MP3播放器】是一款利用Java Media Framework(JMF)技术开发的音频播放软件,专注于播放MP3格式的音乐文件。这个播放器不仅具备基础的播放功能,如播放、暂停、停止和音量控制,还支持列表播放,用户可以...

    java实现的MP3(jmf)

    Java 实现的 MP3(JMF)是一种利用Java Media Framework(JMF)来处理和播放MP3音频文件的技术。JMF是Sun Microsystems开发的一个开源框架,它为Java应用程序提供了处理多媒体(音频、视频)的能力。在Java中实现MP3...

    Java Media Framework (JMF) 2.1.1e

    JMF默认支持多种媒体格式,如MP3、WAV、MIDI、QuickTime、AVI等,但对一些现代格式(如MP4、H.264)的支持可能不足,需要通过第三方插件扩展。 5. **局限性与替代方案**: 虽然JMF在早期Java多媒体应用中发挥了...

    java的JMF播放音乐示例

    在“java的JMF播放音乐示例”中,我们看到一个应用,该应用能够搜索E盘中的所有MP3文件并提供播放功能。这个示例对于初学者来说是一个很好的起点,它展示了如何利用JMF来处理音频文件。 首先,我们需要理解JMF的...

    java的mp3解码器(非JMF、控制台播放音乐)

    Java MP3解码器是一种允许开发者在Java应用程序中播放MP3音乐文件的工具,尤其适合那些不希望依赖Java Media Framework (JMF)的项目。JMF虽然提供了多媒体处理能力,但有时可能过于庞大或者不易配置,因此这个非JMF...

    java编写的基于jmf的音乐播放器

    它支持多种媒体格式,如MP3、WAV等,并且能够与其他Java API集成,方便地在Java程序中嵌入多媒体播放功能。 2. **音乐播放** 使用JMF,开发者可以通过`javax.media.Manager`类加载和播放音乐文件。首先,需要创建...

    jmf_java.rar_jmf java mp4

    1. **多媒体播放**:JMF支持多种媒体格式,如MP3、WAV、AVI、MP4等。通过JMF,开发者可以轻松地在Java程序中播放这些格式的音频和视频文件。 2. **流处理**:JMF能够处理实时的网络流媒体,如在线音频和视频流,使...

    java用的Jmf 开发音乐播放器

    Java Media Framework (JMF) 是Java平台上用于处理多媒体数据的一个框架,它允许开发者创建和播放音频、视频等各种媒体内容。JMF 提供了一个统一的接口,使得开发者无需深入理解底层的多媒体编码和解码机制,就能...

    jmf_mp3_plugin

    总的来说,"jmf_mp3_plugin"是Java应用程序处理MP3音频的核心组件,它弥补了JMF在MP3支持上的不足,使得开发者能够在Java平台上流畅地处理和播放MP3音频文件。理解其工作原理和使用方法对于开发涉及多媒体处理的Java...

    基于JAVA JMF 的MP3播放器及简单视频播放器

    本项目是基于JMF构建的一个简单但功能完备的MP3播放器,同时也包含了基本的视频播放功能。这个软件包的焦点在于理解和实现多媒体数据处理的Java编程技术。 首先,我们来深入理解JMF。JMF允许开发者处理多种媒体格式...

    java做的MP3音乐播放器(需要先安装JMF)

    Java音乐播放器是一款基于Java语言开发的音频播放软件,它依赖于Java Media Framework (JMF) 来处理和播放音频文件。JMF是Java平台上的一个开源多媒体框架,用于处理和播放音频、视频等多媒体数据。在使用这个音乐...

    Java基础课程-jmf实现音乐播放器

    JMF是一个可扩展的框架,它支持多种媒体格式,包括但不限于MP3、WAV、AIFF等音频文件。通过JMF,我们可以播放、暂停、停止、快进、倒带以及控制音量等操作。JMF的工作原理是通过注册服务提供商接口(SPI)来发现和...

    java的MP3播放插件

    Java MP3播放插件是一种专为Java平台设计的软件组件,它允许开发者通过Java编程语言创建功能丰富的音乐播放器应用程序。这款插件扩展了Java Media Framework (JMF) 的功能,使得开发者不仅可以处理常见的音频格式如...

Global site tag (gtag.js) - Google Analytics