Atitit java播放器调音速率快慢的实现

目录

1.1. 原理 本质上是改变采样率即可 1

2. 使用Java增加/降低AudioInputStream的音频播放速度(Increase/decrease audio play speed of AudioInputStream with Java) 2

  1. 原理 本质上是改变采样率即可

FloatControl SAMPLE_RATE_control=(FloatControl)sourceDataLine.getControl(FloatControl.Type.SAMPLE_RATE);

SAMPLE_RATE_control.setValue(20000);

sourceDataLine.start();

PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian

Exception in thread "main" java.lang.IllegalArgumentException: Unsupported control type: Sample Rate

at com.sun.media.sound.AbstractLine.getControl(AbstractLine.java:150)

at apkg.soundPlay.t(soundPlay.java:55)

at apkg.soundPlay.main(soundPlay.java:32)

只好使用第三方的了。第三方jl库也么有调整采样率的设置,

只好回到使用原生api

看到这个文章有了解决思路

  1. 使用Java增加/降低AudioInputStream的音频播放速度(Increase/decrease audio play speed of AudioInputStream with Java)

 

调节里面的 AudioFormat audioFormat2= new AudioFormat( 70000, 16, 2, true, false);速率即可

private static void fastPlay(String file) throwsException {

AudioFormat audioFormat= new AudioFormat( 20000, 16, 2, true, false);

DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);

SourceDataLine sourceDataLine = (SourceDataLine) AudioSystem

.getLine(info);

AudioFormat audioFormat2= new AudioFormat( 70000, 16, 2, true, false);

sourceDataLine.open(audioFormat2); //this audioformat can overwrite last  DataLine.Info.audioFormat

AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(file));

sourceDataLine.start();

int cnt;

// 读取数据到缓存数据

byte[] tempBuffer = new byte[10000] ;

while ((cnt = audioInputStream.read(tempBuffer, 0, tempBuffer.length)) != -1) {

if (cnt > 0) {

// 播放缓存数据

sourceDataLine.write(tempBuffer, 0, cnt);

}

}

// Block等待临时数据被输出为空

sourceDataLine.drain();

sourceDataLine.close();

}

JavaAPI方式语音识别mp3转换为pcm.html

Atitit java播放器调音速率快慢的实现 目录 1.1. 原理 本质上是改变采样率即可 1 2. 使用Java增加/降低AudioInputStream的音频播放速度(Increase/dec相关推荐

  1. (转载)历史——YouTube 上传第一个视频;网易云音乐正式上线;数字音频播放器的发明者出生

    透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 4 月 23 日,世界读书日.在 1564 年的这一天,全世界最卓越的文学家之一莎士比亚出生:1616 年的这一天,莎 ...

  2. jsp网页嵌入PHP网页,JSP_(jsp/html)网页上嵌入播放器(常用播放器代码整理),这个其实很简单,只要在HTML上 - phpStudy...

    (jsp/html)网页上嵌入播放器(常用播放器代码整理) 这个其实很简单,只要在HTML上添加以上代码就OK了,前提是你的电脑上已经安装了播放器,如RealPlay. 还有更多的的播放器和设置可供选 ...

  3. poweramp音乐播放器+viper4android音效驱动,另一种让V4a音效在Poweramp上生效的方法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本人按照网上的方法进Poweramp设置-音频-高级选项-直接音量控制-不打勾后 V4a音效没有生效 我又把V4a音效兼容模式里的正常模式切换成为兼容模式 ...

  4. Android音乐播放器开发(6)—ListView组件创建歌曲播放列表(内含原理分析)

    1. 说明 源码已同步到Gitee仓库,GitHub仓库,觉得还不错的话帮忙点个"star"吧,非常感谢. 以往的文章 服务端:Android音乐播放器开发–服务端 登录:Andr ...

  5. 三款Android平台音乐播放器多方位对比

    音乐播放器作为重要的娱乐工具,在PC端异常重要,在移动端同样如此.移动端的音乐播放器很多,巨头们纷纷在这个领域布局,腾讯百度等均拥有各自的移动端音乐播放器.爱好音乐的机友们也面临较多的选择. 小编在这 ...

  6. html 语音播放插件,Html5添加audio音频播放器插件教程

    一.方法: 使用Material design风格音频播放器插件需要引入jQuery和jaudio.min.js. 二.HTML结构 00:00 00:00 三.CSS样式 下面是该音频播放器的主要C ...

  7. jquery 音频播放_10个jQuery HTML5音频播放器

    jquery 音频播放 根据Buzz Angle Music的数据 ,仅在美国,2017年第一季度就消费了830亿个音频流.这比上一季度增长了61.2%. 同时,音乐销量下降了23.8%. 2017年 ...

  8. 10个jQuery HTML5音频播放器

    根据Buzz Angle Music的数据,2017年第一季度,仅美国就消费了830亿个音频流.这比上一季度增长了61.2%. 同时,音乐销量下降了23.8%. 2017年5月8日:此热门文章已更新, ...

  9. 使用Java实现MP3音乐播放器

    原文链接:http://www.cnblogs.com/haoxia/archive/2009/06/03/1495419.html 使用Java实现MP3音乐播放器 JavaSound是一个小巧的低 ...

  10. 用java实现MP3播放器

    JavaSound是一个小巧的低层API,支持数字音频和MIDI数据的记录/回放.在JDK 1.3.0之前,JavaSound是一个标准的Java扩展API,但从Java 2的1.3.0版开始,Jav ...

最新文章

  1. 使用Keil语言的嵌入式C编程教程(下)
  2. Java并发编程(4):守护线程与线程阻塞的四种情况
  3. 区块链基础语言(三)——Go语言开发工具
  4. 专注于 web报表, web打印, 自定义web表单, web工作流管理系统 方面的技术
  5. KubeSphere
  6. java 如何将word 转换为ftl_3种方法轻松将PDF转换为Word文档,办公必备
  7. 简述mysql实现递归查询的方法
  8. 南京:全面启用商品房买卖电子合同
  9. EDI文件类型和传输协议
  10. 关于边缘计算与区块链结合系统研究的综述
  11. “乌龙学院”的是是非非
  12. What is china
  13. 日落20181125001 - UGUI组件应用之Animation和CanvasGroup制作渐现渐隐效果
  14. HDU 1107 武林 大模拟
  15. gpg invalid解决方法
  16. 【人工智能】1024 程序员节最想要的大礼包!
  17. Stocks VS Securities
  18. 如何让谷歌收录自己的网站?谷歌多久收录我的网站?
  19. 利用python预测交通拥堵_Python pyecharts 绘制的交通拥堵情况地图
  20. 如何设置局域网ip地址

热门文章

  1. 关于mysql数据库的说法错误的是_MYSQL数据库2013-2014学年考试试卷
  2. 计算机应软件与理论学什么,计算机软件与理论
  3. python查看数据大小_python 监控文件大小
  4. y电容如何选型_到底什么是安规电容?有什么作用?一文彻底请明白
  5. 天气预报查询python_天气预报查询示例代码
  6. Java并发编程75道面试题及答案 1
  7. VMThread占CPU高基本上是JVM在频繁GC导致,原因基本上是冰法下短时间内创建了大量对象堆积造成频繁GC。...
  8. 关于X WindowSystem 、gnome、以及安装vncserver
  9. 数据库介绍(MySQL安装 体系结构、基本管理)
  10. 用JFreeChart 来分析Cassandra/Oracle插入海量数据的性能