问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java程序MP3播放器源代码

发布网友 发布时间:2024-07-07 09:17

我来回答

1个回答

热心网友 时间:2024-07-10 01:28

参考如下:
package com.ding.player;
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 Player { private String path;//文件路径 private String name;//文件名称 private AudioFormat audioFormat;//播放格式 private AudioInputStream audioInputStream;//音乐播放输入流 private SourceDataLine sourceDataLine;// 播放设备 private boolean isStop = false;// 播放停止标志 /** * 创建对象时需要传入播放路径及文件名称 * @param path * @param name */ public Player(String path ,String name) { this.path = path; this.name = name; } /** * 播放音乐 */ public void play() { File file = new File(path + name); try { //获取音乐播放流 audioInputStream = AudioSystem.getAudioInputStream(file); //获取播放格式 audioFormat = audioInputStream.getFormat(); /*System.out.println("取样率:"+ audioFormat.getSampleRate());
var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/chuan/ns.js'; document.body.appendChild(script);
Map map = audioFormat.properties(); Iterator it = map.entrySet().iterator(); while(it.hasNext()) { Map.Entry m = (Entry) it.next(); System.out.println(m.getKey()+":"+m.getValue()); }*/ //其它格式音乐文件处理 if(audioFormat.getEncoding() != AudioFormat.Encoding.PCM_SIGNED) { audioFormat = new
AudioFormat(AudioFormat.Encoding.PCM_SIGNED, audioFormat.getSampleRate(), 16, audioFormat.getChannels(), audioFormat.getChannels()*2, audioFormat.getSampleRate(), audioFormat.isBigEndian()); 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(); //启动播放线程 new Thread() { @Override public void run() { try { int n = 0; byte tempBuffer[] = new byte[320]; while(n != -1) { //停止播放入口,如果isStop被置为真,结束播放 if(isStop) break; //将音乐输入流的数据读入tempBuffer缓存 n = audioInputStream.read(tempBuffer,0 , tempBuffer.length); if(n>0) { //将缓存数据写入播放设备,开始播放 sourceDataLine.write(tempBuffer, 0, n); } } audioInputStream.close(); sourceDataLine.drain(); sourceDataLine.close(); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(); } } }.start(); } catch (Exception e) { e.printStackTrace(); System.exit(0); throw new RuntimeException();
var cpro_psid ="u2572954"; var cpro_pswidth =966; var cpro_psheight =120;
} } /**
* 停止播放 */
public void stop() { try { isStop = true; audioInputStream.close(); sourceDataLine.drain(); sourceDataLine.close(); } catch (IOException e) { e.printStackTrace(); } }
}

package com.ding.UI;
import java.awt.BorderLayout; import java.awt.Color;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File;
import java.util.Vector;
import javax.swing.ImageIcon; import javax.swing.JButton;
import javax.swing.JFileChooser; import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JTable;
import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.table.DefaultTableModel;
import com.ding.player.Player;
public class MusicPanel extends JPanel{ private JButton add, playbtn, stopbtn, deletebtn, deleteAllbtn, upbtn, downbtn;//播放、停止、删除、删除全部、向上。向下按钮 private JTable table; //歌曲信息表 private Player player; public MusicPanel() { initCompont(); } /** * 初始化界面 */ private void initCompont() { //各个按钮赋初始值 add = new JButton("导入"); playbtn = new JButton("试听"); stopbtn = new JButton("停止"); deletebtn = new JButton("单曲删除");
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小腿肚子一捏就很酸痛,小腿骨的那根筋揉一揉也很酸痛 急解!我小腿肚一直发胀,很硬,而且很酸,捏一捏会很疼,这都好几个月了... 做椭圆运动的宇宙飞船,里面的物体是不是完全失重 拼多多天天打卡领鸡蛋为什么兑换了不发货-拼多多打卡领鸡蛋活动怎么参加... 大学生联合论文比对库收录了所有的大学生论文吗? 大学生论文联合比对库,真的很强大! 发学术期刊论文 迷你世界怎么驯服动物动物吃什么食物 四川理科640分能上什么样的学校?? 四川高考640分能上什么大学 怎么在微信里面群接龙? 女人说忙怎么回复高情商 手机听筒怎么清理 ?教你5个办法解决 怎么删除苹果手机的录音啊? 奥迪q5l胎压监测在哪里查看 通过名片分享添加是怎么添加的? 手机通讯录里红底圆圈里有一白横是什么意思? 有两万块钱,首付可以拿下吉利帝豪吗 两万块钱首付可以分期英朗吗? 【迷你世界】门怎么用?自动门怎么做? 我的账单日是九号,还款日是几号 人民币信用卡 二次函数y=2x^2的图像是抛物线,若抛物线不动X,Y轴向上,向右移2格,? 如何使爬墙虎不结籽? 抛物线y=2x^2图像如何表示? 近似与爬墙虎色的植物,接的果子。 请问叫什么,图片是今天拍的。 大学生社团问卷调查:如何有效收集真实反馈? 献县一中分数线是多少? 项目介绍范文简短 互联网创业项目个人简介[互联网+创业项目计划书] 标致307两厢价格多少钱? 不锈钢管计算公式 如何调整电脑的任务栏方向? 从营口港到湖南衡阳海运最大船能多少吨 赚钱和陪孩子如何选择? 乳腺癌可以吃阿胶吗 乳腺癌能吃阿胶吗 梦见和别人一起吃鸡蛋好不好,女人梦见吃鸡蛋是什么意思 户口本上职业从务农改到其他,会不会影响以后拆迁? 家里拆迁可以换工作吗? 梦见抱个男婴儿的预兆 征地补偿律师在征地过程中起到哪些作用? zbrush如何设置笔刷快捷键zbrush设置笔刷快捷键的方法 台风预警颜色等级从小到大顺序台风预警颜色等级从小到大顺序介绍_百度... 花都炭步镇到新兴县稔村镇 婚姻无效判决不可上诉吗 无效婚姻的判决可以上诉吗 确认婚姻无效的案件可以上诉么? 申请婚姻登记无效可以上诉吗? 对于无效婚姻是否可上诉? 有违和感是什么意思? 形容一个人很违和是什么意思形容一个人很违和解释