范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Java,音频,播放MP3,jlayer实现,音频编解码器,音频标签库

  音频&MP3
  音频
  人类能够听到的所有声音都称之为音频,包括噪音等,声音被录制下来以后,无论是说话声、歌声、乐器都可以通过数字音乐软件处理。
  Mp3是一种能播放音乐文件的播放器,主要由存储器(存储卡)、显示器(LCD显示屏)、中央处理器[MCU(微控制器)或解码DSP(数字信号处理器) 等组成。
  javax.sound.sampled包
  javax.sound.sampled, 提供用于捕获,处理和回放采样音频数据的接口和类。
  javax.sound.sampled.spi包
  提供新音频设备、声音文件reader和 writer,或音频格式转换器时,提供将为其创建子类的服务提供程序的抽象类。
  JLayer,MP3解码器库
  JLayer是一个库,可为JAVA(tm)平台实时解码/播放/转换MPEG 1/2 / 2.5 Layer 1/2/3(即MP3),这是一个非商业项目,任何人都可以添加自己的贡献,JLayer已获得LGPL许可。
  音频流(mp3spi LIB)
  mp3spi用于支持音频/mpeg mime类型。
  VorbisSPI:
  VorbisSPI是一个用于支持OGG音频格式的Java SPI (Service Provider Interface) 基于JOrbis Java库开发的。
  tritonus-share:
  Maven artifact for tritonus-share library of tritonus.org,Tritonus是Java Sound API的一个实现。
  jflac-codec:
  FLAC文件的编码器和解码器,包括Java声音SPI。是免费无损音频编解码器(FLAC)库到Java的一个端口。
  jaudiotagger,音频标签库:
  支持MP3,MP4(MP4音频,M4A,M4P Ogg Vorbis音频),FLAC和WAV和WMA,但真正支持的格式有限,项目地址:http://www.jthink.net/jaudiotagger/。
  提供最流行的三十个属性都完全支持格式的通用接口:1、支持读取和写入MP4,M4A和mp4p(保护)的文件,包括多个图像和反向DNS域;2、支持多页的Ogg Vorbis评论;3、支持MP3 ID3v1,id3v11,id3v2.2,V2.3和V2.4是透明的;4、允许的ID3标签版本之间轻松转换;5、支持FLAC,包括嵌入和链接图像支持;6、提供最合适的域对象的表示,而不是一个简单的字节表示;7、完全支持Unicode文本编码;8、正在积极开发和支持;9、采用自动测试保证代码的兼容性之间的版本;10、使用代码覆盖工具保证代码的实际被测试。Java,Maven     8     8                      org.apache.commons         commons-lang3         3.12.0                        javazoom         jlayer         1.0.1                        com.googlecode.soundlibs         mp3spi         1.9.5.4                   com.googlecode.soundlibs         tritonus-share         0.3.7.4                   com.googlecode.soundlibs         vorbisspi         1.0.3.3                        org.jflac         jflac-codec         1.5.2                        org         jaudiotagger         2.0.3                      aliyun         aliyun         http://maven.aliyun.com/nexus/content/groups/public      播放音频代码案例
  案例1: package com.what21.music01.demo01;  import javazoom.jl.player.Player;  import java.io.BufferedInputStream; import java.io.FileInputStream;  public class MusicPlayer {      private String filename;     private Player player;      public MusicPlayer(String filename) {         this.filename = filename;     }      public void play() {         try {             BufferedInputStream buffer = new BufferedInputStream(new FileInputStream(filename));             player = new Player(buffer);             player.play();         } catch (Exception e) {             System.out.println(e);         }     }      public static void main(String[] args) {         String musicFile = "D:/Data/video/2/虎年大吉.mp3";         MusicPlayer player = new MusicPlayer(musicFile);         new Thread(()->player.play()).start();     }  }
  案例2: package com.what21.music01.demo02;  import org.apache.commons.lang3.StringUtils;  /**  * @author Administrator  */  public enum Audio {     /**      * Specifies a WAVE file.      */     WAVE(1, "WAVE", "wav"),     /**      * Specifies an AU file.      */     AU(2, "AU", "au"),     /**      * Specifies an AIFF file.      */     AIFF(3, "AIFF", "aif"),     /**      * Specifies an AIFF-C file.      */     AIFF_C(4, "AIFF-C", "aifc"),     /**      * Specifies an SND file.      */     SND(5, "SND", "snd"),     /**      * Specifies an MP3 file.      */     MP3(6, "MP3", "mp3"),     /**      * Specifies an FLAC file.      */     FLAC(7, "FLAC", "flac");      private int index;     private String type;     private String suffix;      Audio(int index, String type, String suffix) {         this.index = index;         this.type = type;         this.suffix = suffix;     }      public int index() {         return index;     }      public static int getIndex(String name) {         if (StringUtils.isBlank(name)) {             throw new RuntimeException("文件名称为空!");         }         name = StringUtils.substring(name, StringUtils.lastIndexOf(name, ".") + 1);         for (Audio audio : values()) {             if (StringUtils.equalsIgnoreCase(audio.suffix, name)) {                 return audio.index;             }         }         return -1;     }      public static boolean isSupport(String name) {         if (StringUtils.isBlank(name)) {             throw new RuntimeException("文件名称为空!");         }         name = StringUtils.substring(name, StringUtils.lastIndexOf(name, ".") + 1);         for (Audio audio : values()) {             if (StringUtils.equalsIgnoreCase(audio.suffix, name)) {                 return true;             }         }         return false;     }  }package com.what21.music01.demo02;  import org.apache.commons.lang3.StringUtils;  /**  * @author Administrator  */  public enum Audio {     /**      * Specifies a WAVE file.      */     WAVE(1, "WAVE", "wav"),     /**      * Specifies an AU file.      */     AU(2, "AU", "au"),     /**      * Specifies an AIFF file.      */     AIFF(3, "AIFF", "aif"),     /**      * Specifies an AIFF-C file.      */     AIFF_C(4, "AIFF-C", "aifc"),     /**      * Specifies an SND file.      */     SND(5, "SND", "snd"),     /**      * Specifies an MP3 file.      */     MP3(6, "MP3", "mp3"),     /**      * Specifies an FLAC file.      */     FLAC(7, "FLAC", "flac");      private int index;     private String type;     private String suffix;      Audio(int index, String type, String suffix) {         this.index = index;         this.type = type;         this.suffix = suffix;     }      public int index() {         return index;     }      public static int getIndex(String name) {         if (StringUtils.isBlank(name)) {             throw new RuntimeException("文件名称为空!");         }         name = StringUtils.substring(name, StringUtils.lastIndexOf(name, ".") + 1);         for (Audio audio : values()) {             if (StringUtils.equalsIgnoreCase(audio.suffix, name)) {                 return audio.index;             }         }         return -1;     }      public static boolean isSupport(String name) {         if (StringUtils.isBlank(name)) {             throw new RuntimeException("文件名称为空!");         }         name = StringUtils.substring(name, StringUtils.lastIndexOf(name, ".") + 1);         for (Audio audio : values()) {             if (StringUtils.equalsIgnoreCase(audio.suffix, name)) {                 return true;             }         }         return false;     }  }
  案例3: package com.what21.music01.demo03;  import org.jaudiotagger.audio.AudioFile; import org.jaudiotagger.audio.AudioFileIO;  import java.io.File;  public class MusicPlayer {      public static void main(String[] args) throws Exception {         String musicFile = "D:/Data/video/2/虎年大吉.mp3";         int musicLength = getMusicPlayLength(musicFile);         System.out.println("音乐长度:" + musicLength); // 音乐长度:53     }      /**      * Java Music 获取歌曲播放时长      */     public static int getMusicPlayLength(String path) throws Exception {         File file = new File(path);         AudioFile mp3 = AudioFileIO.read(file);         return mp3.getAudioHeader().getTrackLength();     }  }

百元喷墨打印机怎么选,多款喷墨家用打印机教你选择高性价比机型前言大家好,我是小猴。喷墨打印机以其价格便宜,耗材成本低的优势,在目前家用打印机市场中占有重要地位。目前市面上大多数家用喷墨打印机都在百元区间,那么后期的耗材使用成本如何呢?下面就国潮经典品牌,西安人带你了解你所不知道的冰峰前言大家好,我是小猴。随着炎炎夏日来临。想必大家每天都会喝上一瓶冰镇凉爽的饮料。作为西安人,夏日冰峰则是必不可少的日常饮料。那么作为一款老牌儿国民饮料,你又对它了解多少呢?冰峰的来高效办公,宜商宜家,高性价比激光打印机推荐前言大家好,我是小猴。作为商用办公的必备神器,激光打印机不仅在打印速度上要远高于普通喷墨打印机,同时其打印精度也要高于大部分家用机打印机。因此对于商用办公来说,选择一台高性价比的激拯救我们的颈椎,教你如何选择颈部按摩仪四款热门颈部按摩仪前言大家好,我是小猴。现代生活工作节奏紧张,每天的生活都在拼命奔跑,只为达成自己的目标。而高负荷的工作随之带来了身体的各种疾病,典型的就是各种脊椎问题,特别是颈椎和腰椎问题都是现代威士忌?伏特加?带你揭秘洋酒背后的资本秘密之保乐力加集团前言大家好,我是小猴。经常喝酒的你经常会见到琳琅满目的各种酒水品牌,不管是葡萄酒,啤酒,威士忌还是朗姆酒,伏特加等,这些品牌不仅仅代表了不同酒水的品牌口碑,同时其背后资本也同样值得智能静音我全有,OcleanXPro旗舰版智能声波电动牙刷前言大家好,我是小猴。牙齿健康是我们身体健康的基本保证,有了好的牙口才能让我们吃嘛嘛香,身体倍棒。刷牙作为每天重要的必备环节,是保持牙齿健康的重要环节,近些年的电动牙刷为我们彻底清融资330亿元,李泽楷何超琼联袂入股,威马汽车能否迎头赶上在造车新势力的赛道上,威马汽车与蔚小理相比,名声显然要小很多,但其融资的总额却毫不逊色。10月5日,威马汽车正式宣布获得超过3亿美元D1轮融资,领投方为电讯盈科和信德集团。电讯盈科小米发布首款洗衣机众筹价1999元,你能抢到吗?如果喜欢我的回答,可以给我点赞并关注我,随时获取最新的数码科技咨询和使用技巧。12月28日消息,小米发布首款洗衣机米家互联网洗烘一体机10kg版,售价为2499元,初期众筹价为19小米Play不是游戏机是移动热点2018年即将结束,小米召开了最后的一次发布会,选在平安夜这天新推了Play这条新的产品线。他们刚刚发表的小米Play,是一款定位落在中低端的产品。它的外观还是小米今年已套用了无数小米米家投影仪青春版正式发布如果喜欢我的回答,可以给我点赞并关注我,随时获取最新的数码科技咨询和使用技巧。今天,小米商城2019年第一期众筹上线,它就是米家投影仪青春版。小米似乎对此款产品非常的有信心,一进入小米4K激光投影仪小米在1。14发布了小米激光投影仪4K版本。尝鲜价9999元。1。18抢购。同时原来的1080P版本,降价1000,到8999元。主要参数使用的是0。47DMD,目前支持4K的DM
华为涂丹丹一场无人区的马拉松在科研这方面,我不认为男性和女性有任何的不同。关键是你要对它有兴趣,还要有坚持下去的勇气和韧劲就好像一场无人区的马拉松,你不知道这条路的尽头在哪里,也没有任何人的陪伴,你必须一个人华为城市智能体做优一网统管,做强现代治理来源人民网人民日报华为城市智能体围绕高效处置一件事,以智能和协同为宗旨,借助数字化管理手段,通过数据支撑和分析理顺处理流程驱动线上线下协同,助推一网统管,提升城市治理能力。一网统管iPhoneSE3将搭载A15芯片,支持5G,外观不变,明年春天发布最新消息,iPhoneSE3将在明年春季发布,这款手机并非像之前爆料的那样有巨大改变。外观不变,增加5G,电池容量稍微上涨,同时搭载A15芯片,其余配置不变,售价与现款SE一致,届拼多多项目打假,这类带点灰的东西别碰这一篇文章可能会动了某些人的蛋糕,所以可能后期会删除。这个项目就是商家钻空子,然后某些人士等着他钻。分析亲身经历深入了解了这个项目,亲身感受了一下。首先缴费588,然后那个人会让相现在的助听器能连手机吗?助听器可以跟手机连接,建议到海之声听力机构咨询。你好,现在助听器有可以与苹果手机直连的,也有与蓝牙手机连接的。如果您有这个需求建议去验配中心试听一下。现在的助听器采用2。4GHz低一只手表到底能戴多久?四十二年的梅花,就换了跟表带,做了几次保养而已。误差很小,具体没算过。反正基本能掐着我们学校的下课铃声一块手表你能戴多久呢?在十几年前一般情况下戴一块手表那就是戴一辈子的节奏。坏了iOS14。8各个机型使用体验,口碑竟这么优秀?附升级建议要说最近最火的数码新闻,肯定非iPhone13莫属了,先不看参数,只从销量来说,这次iPhone13就做到了十三香。但是我觉得对于大多数的iPhone老用户来说,还是要观望一下或者iPhone13包装盒曝光,苹果考虑环保和省钱,却忽略了用户需求在环保方面,科技厂商需要起到带头作用。因为每年手机厂商都会制造大量的电子产品,而电子产品在环境污染方面也非常巨大。作为手机厂商的领头者,苹果每年都会在环保上花费巨大的功夫。去年苹果揭露国产机越来越贵,苹果手机反而便宜?其实是人民币更值钱数码盖饭正式给大家通知一下苹果已经封锁了所有的ICCID串码,最后的一波末班车串码昨天下午的时候已经失效!已经黑解的卡贴机用户这段时间不要刷机不要还原系统尽量少升级系统,只要你不折三大运营商套餐被反超?民营5G流量更便宜,网友加快普及如今已经是移动通讯的世界,在受2020的疫情影响后,这个世界可以说是出现了翻天覆地的变化,越来越多人因为这一段特殊的宅家经历改变了自己的上网习惯。因为宅家的时间过长,许多网友都选择闲鱼上有很多非常高配非常低价的外星人笔记本,谁知道这是什么套路?作为一个有着多年电脑网络维修经验的电脑爱好者来说,我可以推心置腹的跟你分享我的经验,希望我的解答能给你带来帮助。对于你的这个提问,来听听我的一点看法吧!现如今闲鱼这个平台还在一步一