java音频播放器备份,支持wav,mp3

都是摘抄于网络,wav播放mp3播放

播放wav版本

  • 包:

    • 不需要其他jar包
  • 代码:
  1. package com;
  2. import javax.sound.sampled.*;
  3. import java.io.File;
  4. /*
  5. wav播放器,不支持mp3
  6. */
  7. public class AePlayWave extends Thread {
  8. private String name;
  9. public AePlayWave(String name) {
  10. this.name = name;
  11. }
  12. @Override
  13. public void run() {
  14. File file = new File(name);
  15. AudioInputStream audioInputStream = null;
  16. try {
  17. audioInputStream = AudioSystem.getAudioInputStream(file);
  18. } catch (Exception e) {
  19. e.printStackTrace();
  20. return;
  21. }
  22. AudioFormat format = audioInputStream.getFormat();
  23. SourceDataLine auline = null;
  24. DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
  25. try {
  26. auline = (SourceDataLine) AudioSystem.getLine(info);
  27. auline.open(format);
  28. } catch (Exception e) {
  29. e.printStackTrace();
  30. return;
  31. }
  32. auline.start();
  33. int nBytesRead = 0;
  34. byte[] abbytes = new byte[512];
  35. try {
  36. while ((nBytesRead = audioInputStream.read(abbytes, 0, abbytes.length)) != -1) {
  37. if (nBytesRead >= 0) {
  38. auline.write(abbytes, 0, nBytesRead);
  39. }
  40. }
  41. } catch (Exception e) {
  42. e.printStackTrace();
  43. return;
  44. } finally {
  45. auline.drain();
  46. auline.close();
  47. }
  48. }
  49. }

MP3播放

  1. package com;
  2. import javazoom.jl.decoder.JavaLayerException;
  3. import javazoom.jl.player.Player;
  4. import java.io.BufferedInputStream;
  5. import java.io.File;
  6. import java.io.FileInputStream;
  7. import java.io.FileNotFoundException;
  8. /*
  9. mp3播放器
  10. */
  11. public class AudioPlayer extends Thread {
  12. Player player;
  13. File music;
  14. //构造方法
  15. public AudioPlayer(String fileName) {
  16. this.music = new File(fileName);
  17. }
  18. //重写run方法
  19. @Override
  20. public void run() {
  21. super.run();
  22. try {
  23. play();
  24. } catch (FileNotFoundException | JavaLayerException e) {
  25. // TODO Auto-generated catch block
  26. e.printStackTrace();
  27. }
  28. }
  29. //播放方法
  30. public void play() throws FileNotFoundException, JavaLayerException {
  31. BufferedInputStream buffer =
  32. new BufferedInputStream(new FileInputStream(music));
  33. player = new Player(buffer);
  34. player.play();
  35. }
  36. }

java音频播放器的更多相关文章

  1. HTML5 音频播放器-Javascript代码(短小精悍)

    直接上干货咯! //HTML5 音频播放器 lzpong 2015/01/19 var wavPlayer = function () { if(window.parent.wavPlayer) re ...

  2. IOS开发之简单音频播放器

    今天第一次接触IOS开发的UI部分,之前学OC的时候一直在模拟的使用Target-Action回调模式,今天算是真正的用了一次.为了熟悉一下基本控件的使用方法,和UI部分的回调,下面开发了一个特别简易 ...

  3. 【jquery】一款不错的音频播放器——Amazing Audio Player

    前段时间分享了一款视频播放器,点击这里.今天介绍一款不错的音频播放器——Amazing Audio Player. 介绍: Amazing Audio Player 是一个使用很方便的 Windows ...

  4. NABCD分析java音乐播放器

    程设计题目:java音乐播放器 一.课程设计目的 1.编程设计音乐播放软件,使之实现音乐播放的功能. 2.培养学生用程序解决实际问题的能力和兴趣. 3.加深java中对多媒体编程的应用. 二.课程设计 ...

  5. 与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成

    原文:与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成 [索引页][源码下载] 与众不同 win ...

  6. Unity3D音频播放器 动态装载组件

    大多数在线Unity有关如何只教程Unity在播放音乐.之后如何通过拖动它们无法继续添加音频文件 但有时在游戏中的对象要玩几个声音.这时候我们就需要使用代码控制,拖动推教程AudioClip颂值的方法 ...

  7. 最简单的基于FFMPEG+SDL的音频播放器 ver2 (采用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...

  8. 团队项目 NABCD分析java音乐播放器

    NABCD分析java音乐播放器 程设计题目:java音乐播放器 一.课程设计目的 1.编程设计音乐播放软件,使之实现音乐播放的功能. 2.培养学生用程序解决实际问题的能力和兴趣. 3.加深java中 ...

  9. OCiOS开发:音频播放器 AVAudioPlayer

    简单介绍 AVAudioPlayer音频播放器可以提供简单的音频播放功能.其头文件包括在AVFoudation.framework中. AVAudioPlayer未提供可视化界面,须要通过其提供的播放 ...

随机推荐

  1. Java - 自定义异常(尚学堂第六章异常机制作业判断三角形)

    写一个方法void isTriangle(int a,int b,int c),判断三个参数是否能构成一个三角形, 如果不能则抛出异常IllegalArgumentException,显示异常信息 “ ...

  2. C#反射动态调用dll中的方法,并返回结果(转)

    反射的作用是动态的加载某个dll(程序集),并执行该程序集中的某个方法,并返回结果:当然也可以给该方法传递参数 namespace assembly_name { public class assem ...

  3. JS及Dom示例 | 分级菜单折叠

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 仿jQuery的toggle方法

    两次点击事件进行切换 var toggle = (function () { var a = true; return function (fn1, fn2) { a = !a; var toggle ...

  5. centos 7编译安装mysql 5.7.17

    1.进入MySQL官网下载MySQL源代码 依次点击Downloads -> Community -> MySQL Community Server 源代码1.Select Operati ...

  6. Wamp设置虚拟目录

    1. 默认安装 wamp后,工作目录为"..../wamp/www" 也就是PHP文件只有放在此目录下才能打得开,打开Apache的配置文件httpd.conf可以看到: 这么两行 ...

  7. 新时代运维重器 Tencent Hub 最佳实践——云+未来峰会开发者专场回顾

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 演讲者:邹辉 腾讯云 PaaS 产品总监 背景:5月23-24日,以"焕启"为主题的腾讯"云+未来" ...

  8. Python基础(3) - 数据类型:2字符串类型

    Python字符串的表示有三种方法: 1.单引号(') >>>a = 'I love python. ' 2.双引号(") >>>a = " I ...

  9. Bash编程(5) Shell方法

    shell的方法在相同的进程内执行,与调用它的脚本一致.对于方法来说,脚本中的所有变量均可见,且不需要执行export.方法中可以创建局部变量,且不影响正在调用的脚本. 1. 定义语法 (1) Kor ...

  10. 第八章使用java实现面向对象-File I/O

    java.io.File类用于表示文件(目录) File类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问 RandomAccessFile java提供的对文件内容的访问,既可以 ...