小编典典

下面的代码向您展示如何复制音频流的一部分,从一个文件读取并写入另一个文件。

import java.io.*;

import javax.sound.sampled.*;

class AudioFileProcessor {

public static void main(String[] args) {

copyAudio("/tmp/uke.wav", "/tmp/uke-shortened.wav", 2, 1);

}

public static void copyAudio(String sourceFileName, String destinationFileName, int startSecond, int secondsToCopy) {

AudioInputStream inputStream = null;

AudioInputStream shortenedStream = null;

try {

File file = new File(sourceFileName);

AudioFileFormat fileFormat = AudioSystem.getAudioFileFormat(file);

AudioFormat format = fileFormat.getFormat();

inputStream = AudioSystem.getAudioInputStream(file);

int bytesPerSecond = format.getFrameSize() * (int)format.getFrameRate();

inputStream.skip(startSecond * bytesPerSecond);

long framesOfAudioToCopy = secondsToCopy * (int)format.getFrameRate();

shortenedStream = new AudioInputStream(inputStream, format, framesOfAudioToCopy);

File destinationFile = new File(destinationFileName);

AudioSystem.write(shortenedStream, fileFormat.getType(), destinationFile);

} catch (Exception e) {

println(e);

} finally {

if (inputStream != null) try { inputStream.close(); } catch (Exception e) { println(e); }

if (shortenedStream != null) try { shortenedStream.close(); } catch (Exception e) { println(e); }

}

}

public static void println(Object o) {

System.out.println(o);

}

public static void print(Object o) {

System.out.print(o);

}

}

2020-11-01

java audioinputstream 读取音频文件_从原始文件中获取最多x个字节的AudioInputStream(剪切音频文件)...相关推荐

  1. JAVA 的读取Excel方法_纯Java的方式读取excel2007

    * 首先介绍excel2007文件的格式,这里单只工作表文件,不包括加载宏的以及其他格式的,即.xlsx扩展名的 * 你可以把Book1.xlsx这个文件用解压缩文件打开,这是office2007的新 ...

  2. c++读取utf8文件_在MySQL中你是否使用过utf8,有没有遇到这样的bug那就要注意了...

    原文链接:https://medium.com/@adamhooper/in-mysql-never-use-utf8-use-utf8mb4-11761243e434 最近我遇到了一个bug,我试着 ...

  3. matlab中读文件的行数_[转载]MATLAB中获取大型文本文件行数方法研究(转)

    在工作中会有很多特殊的需要,比如我现在就遇到一个需要将大型的文本格式数据文件(比如5G)读取到MATLAB中,同时进行一定的处理.由于XP的内存是绝对没有办法将5G的数据一次性加载到工作空间的,此时一 ...

  4. jenkins修改pom文件_从Jenkins中的pom文件自动派生强制性SonarQube属性

    情况: 我想用由詹金斯(1.642.4)触发的SonarQube(5.4)分析我的项目.它是使用maven构建的Java项目. 我看到两种触发分析的方法: 发布构建操作"使用maven进行S ...

  5. cmd中如何运行python文件_在cmd中运行.py文件: python的操作步骤

    在cmd中运行.py文件: python的操作步骤 1 打开cmd, 不改变运行的目录: 输入python 空格  调试好的python文件路径 或者python 空格  将python文件拖入cmd ...

  6. bat脚本执行exe文件_将批处理(BAT)脚本转换为可执行(EXE)文件

    bat脚本执行exe文件 When you get down to it, batch files and executable files work pretty much the same way ...

  7. linux中一切都是文件_在Linux中,“一切都是文件”是什么意思?

    linux中一切都是文件 One of the defining features of Linux and other UNIX-like operating systems is that &qu ...

  8. h5页面如何预览excel文件_在网页中预览excel表格文件

    项目需求在前端页面中实现预览excel表格的功能,上网了解之后大致总结为一下几种方法. 1.office文档转换为pdf,再转swf,然后通过网页加载flash进行预览 2.通过 xlsx.js,js ...

  9. hdfs如何查找指定目录是否文件_在shell中如何判断HDFS中的文件目录是否存在

    原标题:在shell中如何判断HDFS中的文件目录是否存在 在Linux文件系统中,我们可以使用下面的Shell脚本判断某个文件是否存在: # 这里的-f参数判断$file是否存在 if[ ! -f ...

最新文章

  1. phpstorm xdebug本地调试断点不生效_phpstudy+phpstrom实现断点
  2. 从选择到上传,可能是最贴心的高仿朋友圈编辑了
  3. 开课提醒 | 听顶会大佬透析前沿算法,解密人脸识别技术
  4. SparseArrayE详解
  5. 012.Adding a New Field --【添加一个新字段】
  6. java 抽象类与接口区别是什么_JAVA中抽象类与接口的区别,分别在什么情况下使用它们...
  7. qldump 备份所有表_MySQL中的备份和恢复是怎样执行的?
  8. 如何在Mac计算机上轻松查找和删除类似照片
  9. ldconfig和ldd用法
  10. 下载文件byte[]
  11. 史上最详细之Centos7安装与配置Redis6
  12. (赠书福利)2018 Oracle 数据技术嘉年华
  13. 一文搞定Matplotlib 各个示例丨建议收藏
  14. github hexo搭建博客
  15. Windows Server 2003证书服务配置与管理
  16. 不是程序员,代码也不能太丑!python官方书写规范:任何人都该了解的 pep8
  17. Linux文件系统(六)---三大缓冲区之 目录缓冲区dcache
  18. oracle支持utf8字符集,AL32UTF8/UTF8(Unicode)数据库字符集含义
  19. 三星note5 android9,史上最快!三星公布新版安卓9.0升级名单:Note FE在内
  20. 2022年6月护肤行业数据洞察报告(小红书)

热门文章

  1. 数据恢复软件在苹果电脑上的应用
  2. OkHttp3源码分析二 拦截器 上
  3. 各大容器常用的库(2021-12-10更新)
  4. Cesium学习教程+笔记(Mars3D) 图层 图层组 矢量数据
  5. AMD黑苹果 3A平台EFI分享给大家
  6. 笔记本电脑安装CentOS7
  7. 北斗GPS系统在车辆管理系统中的运用与北斗GPS车辆管理调度系统平台建设方案硬件设备
  8. 红米k30可以用鸿蒙系统吗,红米K30好用吗?Redmi K30上手评测
  9. 降低Java垃圾回收开销的5条建议
  10. 求二叉树第K层节点个数(递归)