Java编码音乐播放器简化版

import java.io.File;
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;

/**
 * @author hjl
 * @date 2008-8-1
 * @function 简化实现音乐播放功能
 * @version 1.0
 */
public class MusicPlay {

	public static void main(String[] args) {
		AudioInputStream m_audioInputStream = null;
		SourceDataLine m_line = null;
		AudioFormat audioFormat = null;
		try {
			File file = new File("D:\\music070924\\雨一直下.mp3");
			m_audioInputStream = AudioSystem.getAudioInputStream(file);
			audioFormat = m_audioInputStream.getFormat();
			
			if (audioFormat.getEncoding() != AudioFormat.Encoding.PCM_SIGNED) {
				AudioFormat newFormat = new AudioFormat(
						AudioFormat.Encoding.PCM_SIGNED, audioFormat
								.getSampleRate(), 16, audioFormat.getChannels(),
						audioFormat.getChannels() * 2, audioFormat.getSampleRate(),
						false);
				System.out.println("Converting audio format to " + newFormat);
				AudioInputStream newStream = AudioSystem.getAudioInputStream(
						newFormat, m_audioInputStream);
				audioFormat = newFormat;
				m_audioInputStream = newStream;
			}
			
			DataLine.Info info = new DataLine.Info(SourceDataLine.class,audioFormat);
			m_line = (SourceDataLine) AudioSystem.getLine(info);
			m_line.open(audioFormat, m_line.getBufferSize());
			m_line.start();
			
			int bufferSize = (int) audioFormat.getSampleRate() * audioFormat.getFrameSize();
			byte[] buffer = new byte[bufferSize];

			int bytesRead = 0;
			while (bytesRead >= 0) {
				bytesRead = m_audioInputStream.read(buffer, 0, buffer.length);
				if (bytesRead >= 0) {
					m_line.write(buffer, 0, bytesRead);
				}
			} 
			m_line.drain();
			m_line.close();
		
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

 异常:
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file
 at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1170)
 at com.simpledev.music.sample.MusicPlay.main(MusicPlay.java:27)
缺少jl1.0.jar,tritonus_share.jar,mp3spi1.9.4.jar,见lib.rar

Java爬虫后台微信小程序之音乐播放器(下) 通过爬虫爬取酷狗的音乐资源 首先搜索json数据获取地址: https://songsearch.kugou.com/song_search_v2?keyword=许嵩&page=1&pagesize=30&platform=WebFilter&tag=em&filter=2 然后获取关键参数是Hash https://wwwapi.kugou.com/yy... 阅读详情

相关推荐

Java音乐播放器项目实战与技术要点

Java Swing库是Java的一个用户界面工具包,它为Java开发者提供了创建图形用户界面(GUI)的丰富组件集合。Swing是在AWT(Abstract Window Toolkit)的基础上构建的,提供了更加强大的窗口组件,例如按钮、文本框、菜单栏和列表等。Swing使用轻量级组件,与原生操作系统界面不同,可以实现跨平台一致性。这种设计使得开发者能够构建复杂的桌面应用程序,而无需担心不同操作系统之间的兼容性问题。

weixin_30674431的博客 1059

小程序进行语音识别(JAVA MP3 转 PCM)

公司最近有一个小程序项目需要使用语音识别功能,初步技术方案是:小程序录音-上传录音文件到后端服务器,后端服务器调用百度AI语音接口获取识别结果并返回给小程序。 中间遇到一个小问题:小程序的录音文件格式只能是MP3或者AAC,而百度语音接口所能接受的音频文件格式为PCM,WAV,AMR 这样就十分尴尬了,最后确定方案,在后端将接收的MP3文件转换成PCM文件。 在网上看了不少...

qq_15801963的博客 2188

Java与JMF结合打造多功能音乐播放器

Java Media Framework (JMF) 是一个Java类库,它提供了访问和处理多媒体数据的API。JMF允许开发者在Java应用程序中集成音视频播放、录制以及其他媒体处理的功能。它是专为简化多媒体应用开发而设计的,提供了一套通用的媒体处理框架,使得开发者无需深入了解底层多媒体编码和解码细节,便可以构建出功能丰富的多媒体应用程序。

weixin_29781865的博客 781

小程序进行语音识别 音频MP3转PCM

初步技术方案是:小程序录音-上传录音文件到后端服务器,后端服务器调用阿里云一句话语音识别接口获取识别结果并返回给小程序。 小程序的录音文件格式只能是MP3或者AAC,而阿里云语音接口所能接受的音频文件格式为PCM,WAV,最后决定在后端将接收的MP3文件转换成PCM文件。 错误1 could not get audio input stream from input stream 出现这个错误的原因是没有引入MP3解析库 <dependency> <groupId&...

Kung's blog column 2822

深入解析仿多米音乐播放器的Android源码

在开始编码前,理解Android应用开发的基础概念是必不可少的。Android应用是由一个或多个组件构成的,主要包括四大组件:Activity、Service、BroadcastReceiver和ContentProvider。Activity是用户与应用交互的界面;Service在后台执行长时间运行的操作;BroadcastReceiver响应系统广播事件;ContentProvider管理应用之间的数据共享。

weixin_35636570的博客 669

包含mp3plugin.jar

mp3plugin.jar 是 MP3转wav必备的包,如果没有这个包会报错,could not get audio input stream from input stream

java 字节顺序_Java类AudioFormat:字节顺序

我正在使用java,尝试使用AudioFormat类。我有以下代码:AudioFormat Baseformat = input.getFormat();AudioFormat Finalformat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,Baseformat.getSampleRate(),16, Baseformat.getChan...

weixin_29323273的博客 876

/proc/sys/vm/max_map_count耗尽时,调用glibc 2.11.3 free()导致程序crash,问题追踪和解决

1. 问题 在客户环境下,当我们的程序消耗较大内存时,会偶尔crash。 通过gdb分析,程序core dump在malloc/free函数内。 当把/proc/sys/vm/max_map_count 从65530增加到131070,程序再也不crash。 相关命令 echo 131073 > /proc/sys/vm/max_map_count 2.  core

万大胖博客,苦并快乐着 4430

无法从输入文件获取音频输入流

无法从输入文件获取音频输入流

qq_63083501的博客 2473

紫光同创PGL50H开发板实战:盘古50KH视频板的多媒体处理与高速通信方案

本文详细介绍了基于紫光同创PGL50H FPGA芯片的盘古50KH视频开发板在多媒体处理与高速通信方面的实战应用。文章从开发板硬件架构解析入手,逐步指导开发环境搭建、DDR3内存控制器配置、HDMI视频输入输出实战,并重点探讨了利用板载HSST高速收发器实现光纤通信与万兆以太网的方案。最后,通过构建一个集多路视频采集、处理与光纤传输于一体的系统案例,展示了该开发板在高性能实时数据处理领域的强大潜力。

b9c0d的博客 485

深入理解C++23的Deducing this特性(上):基础概念与语法详解

C++23标准中引入的"Deducing this"特性是一项重大革新,它不仅改变了我们编写成员函数的方式,还为模板元编程和设计模式实现带来了新的可能。

weixin_61470881的博客 1333

AudioFormat音频格式

一、在Android和PC之间传递和接收音频数据,首先要保证音频数据的格式要一致,java中提供AudioFormat类构造音频格式,以下是作者所用的构造函数: public AudioFormat(float sampleRate, int sampleSizeInBits, int channels,

nanaqx的博客 9265

瑞芯微RK3506开发板Ethercat主站性能优化实战:从内核配置到微秒级延迟控制

本文详细介绍了在瑞芯微RK3506开发板上实现EtherCAT主站微秒级延迟控制的实战优化方案。核心在于部署Preempt-RT实时内核,并进行深度系统调优,包括CPU隔离、中断亲和性设置、内存锁定及电源管理调整。通过绕过Linux网络栈的专用驱动加载与配置,最终实现了稳定的高性能实时控制,满足工业自动化需求。

tcp8optimizer的博客 315

使用Java实现MP3音乐播放器

原文链接:http://www.cnblogs.com/haoxia/archive/2009/06/03/1495419.html 使用Java实现MP3音乐播放器 JavaSound是一个小巧的低层API,支持数字音频和MIDI数据的记录/回放。在JDK 1.3.0之前,JavaSound是一个标准的Java扩展API,但从Java 2的1.3.0版开始,JavaSound就被包含到JDK...

1万+

Python中的字典(Dictionary)学习

上一章节,我们学习了列表(List) 和 元组(tuple) 来表示有序集合。而我们在讲列表(list)的时候,我们用了列表(list) 来存储用户的姓名。那么如果我们为了方便联系这些童鞋,要把电话号码也添加进去,该怎么做呢?但是这样很不方便,我们把电话号码记录下来,就是为了有什么事能及时联系上这些童鞋。如果用列表来存储这些,列表越长,我们查找起来耗时就越长。

热情、奔放、快乐编程! 503

Python 爬虫实战:爬取 GitHub 热门项目(星数 / 语言 / 作者)

本文系统介绍了使用Python爬虫技术获取GitHub热门项目数据的完整方案。通过分析GitHub Trending页面和官方API两种数据源,详细讲解了HTML解析、JSON数据处理、反爬应对策略等关键技术。采用requests、BeautifulSoup、pandas等工具链,实现了项目信息(名称、星数、语言等)的结构化爬取,并配套数据清洗、统计分析及可视化功能。特别强调遵守GitHub API使用规范,包括Token认证、请求频率控制等合规要求。该方案为开发者提供了一种高效、合法的数据采集方法,适用于

2503_91057718的博客 2344

基于android音乐播放器的设计

本科毕业论文(设计)诚信声明本人郑重声明:所呈交的毕业论文(设计),题目《………基于android音乐播放器的设计……………………………》是本人在指导教师的指导下,进行研究工作所取得的成果。对本文的研究作出重要贡献的个人和集体,均已在文章以明确方式注明。除此之外,本论文(设计)不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明应承担的责任。摘 要本文说明了制作音乐播放器所用的技术,制作流程和功能介绍。Android是一个开源的系统,它底层是基于Linux的操作系统,本论文的音乐播放器采

科大云炬 4268

15、 深入理解Akka微服务:创建与管理体育博彩平台

本博文深入探讨了如何使用Akka微服务架构为体育博彩平台创建投影和管理事件数据,包括市场投影、投注投影以及数据库投影的实现。同时,介绍了通过gRPC提供HTTP端点以供外部系统访问的方法,并详细说明了在本地环境和Kubernetes中运行应用程序的步骤及配置建议。

weixin_35756624的博客 96

java打造音乐播放器

Java打造音乐播放器:入门指南 作为一名刚入行的开发者,打造一个音乐播放器可能是一个令人兴奋的项目。在这篇文章中,我将引导你通过整个流程,从概念到实现,一步步教你如何使用Java来创建一个简单的音乐播放器。 流程概览 首先,让我们通过一个表格来概览整个项目的流程: 步骤 描述 所需组件 1 需求分析 确定播...

weixin_34449520的博客 203

2025华为杯第二十二届中国研究生数学建模竞赛D题:低空湍流监测及最优航路规划 - 完整解题分析+完整MATLAB源码!(上篇)

🎓 本文收录于 《滚雪球学数学建模》专栏,本专栏专注于从零基础出发,带你循序渐进掌握数学建模的核心方法与思维路径。通过“滚雪球式”学习法,从最简单的生活化案例到经典建模工具,再到省赛、国赛真题实战演练,逐步积累知识与技能,帮助你搭建完整的建模体系。无论你是刚接触建模的新生,还是希望提升科研与竞赛能力的学者与工程师,本专栏都将为你提供一条清晰、高效、可实操的建模成长路线,助力你快速进阶,突破难点,迈向数学建模竞赛与实际应用的更高峰 🚀!

**My Coding Family** 2587

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Android Studio实现音乐播放器2.0

从UI设计到功能设计,手把手教你如何升级一个音乐App

振华OPPO的博客世界 8万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Android 自定义音乐播放器实现

Android自定义音乐播放器一:首先介绍用了哪些Android的知识点:1 MediaPlayer工具来播放音乐2 Handle。因为存在定时任务(歌词切换,动画,歌词进度条变换等)需要由Handle来处理Ui相关内容3 动态权限申请(该应用程序读取本地歌曲,并且设置音质相关属性)且这两个权限在Android6.0后都需要动态申请4 手势控制 (左划和右划需要满足一定条件后可以进行切歌)5 Se...

xkfer 2万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

java毕业设计基于springboot音乐播放器系统project74764

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven一、系统背景与意义随着互联网的飞速发展和人们对音乐娱乐需求的不断增长,音乐播放器已经成为人们日常生活中不可或缺的一部分。

q_1262330535的博客 817

LyricHere:一款支持歌词显示的音乐播放器

LyricHere:一款支持歌词显示的音乐播放器 LyricHere 是一款本地歌词播放支持的音乐播放器,它使用 Android 平台进行开发,主要编程语言为 Java。 项目基础介绍 LyricHere 是一款采用 Material Design 的音乐和歌词播放器。它利用 Android 的 android.media.MediaMetadata 系列API实现歌词同步显示。项目旨在为用户提供...

gitblog_00477的博客 770

音乐播放器设计

Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前最好的是Android2.0的摩托罗拉Droid。Android是基于Linux内核的软件平台和操作系统,早期由Google开发(在华注册商标名为“安致”),后由开放手机联盟(Open Handset Alliance)开发。

qq_61141142的博客 539

基于Java SSM框架实现音乐播放器管理系统项目【项目源码+论文说明】

随着社会的发展,计算机的优势和普及使得音乐播放器管理系统的开发成为必需。音乐播放器管理系统主要是借助计算机,通过对首页、音乐推荐、付费音乐、论坛信息、个人中心、后台管理等信息进行管理。减少管理员的工作,同时也方便广大用户对个人所需音乐的及时查询以及管理。音乐播放器管理系统的开发过程中,采用B / S架构,主要使用Java技术进行开发,结合最新流行的SpringMVC和Mybatis的SSM框架。中间件服务器是Tomcat服务器,使用Mysql数据库和Eclipse开发环境。

ybigbear2的博客 1049
上一篇: webwork日期验证&Invalid field value for field Birthday
下一篇: webwork上传异常分析:getReader() or getInputStream() call
全新时代
博客等级 码龄19年 3粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值