java audioinputstream 读取音频文件_从原始文件中获取最多x个字节的AudioInputStream(剪切音频文件)...
小编典典
下面的代码向您展示如何复制音频流的一部分,从一个文件读取并写入另一个文件。
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(剪切音频文件)...相关推荐
- JAVA 的读取Excel方法_纯Java的方式读取excel2007
* 首先介绍excel2007文件的格式,这里单只工作表文件,不包括加载宏的以及其他格式的,即.xlsx扩展名的 * 你可以把Book1.xlsx这个文件用解压缩文件打开,这是office2007的新 ...
- c++读取utf8文件_在MySQL中你是否使用过utf8,有没有遇到这样的bug那就要注意了...
原文链接:https://medium.com/@adamhooper/in-mysql-never-use-utf8-use-utf8mb4-11761243e434 最近我遇到了一个bug,我试着 ...
- matlab中读文件的行数_[转载]MATLAB中获取大型文本文件行数方法研究(转)
在工作中会有很多特殊的需要,比如我现在就遇到一个需要将大型的文本格式数据文件(比如5G)读取到MATLAB中,同时进行一定的处理.由于XP的内存是绝对没有办法将5G的数据一次性加载到工作空间的,此时一 ...
- jenkins修改pom文件_从Jenkins中的pom文件自动派生强制性SonarQube属性
情况: 我想用由詹金斯(1.642.4)触发的SonarQube(5.4)分析我的项目.它是使用maven构建的Java项目. 我看到两种触发分析的方法: 发布构建操作"使用maven进行S ...
- cmd中如何运行python文件_在cmd中运行.py文件: python的操作步骤
在cmd中运行.py文件: python的操作步骤 1 打开cmd, 不改变运行的目录: 输入python 空格 调试好的python文件路径 或者python 空格 将python文件拖入cmd ...
- bat脚本执行exe文件_将批处理(BAT)脚本转换为可执行(EXE)文件
bat脚本执行exe文件 When you get down to it, batch files and executable files work pretty much the same way ...
- linux中一切都是文件_在Linux中,“一切都是文件”是什么意思?
linux中一切都是文件 One of the defining features of Linux and other UNIX-like operating systems is that &qu ...
- h5页面如何预览excel文件_在网页中预览excel表格文件
项目需求在前端页面中实现预览excel表格的功能,上网了解之后大致总结为一下几种方法. 1.office文档转换为pdf,再转swf,然后通过网页加载flash进行预览 2.通过 xlsx.js,js ...
- hdfs如何查找指定目录是否文件_在shell中如何判断HDFS中的文件目录是否存在
原标题:在shell中如何判断HDFS中的文件目录是否存在 在Linux文件系统中,我们可以使用下面的Shell脚本判断某个文件是否存在: # 这里的-f参数判断$file是否存在 if[ ! -f ...
最新文章
- phpstorm xdebug本地调试断点不生效_phpstudy+phpstrom实现断点
- 从选择到上传,可能是最贴心的高仿朋友圈编辑了
- 开课提醒 | 听顶会大佬透析前沿算法,解密人脸识别技术
- SparseArrayE详解
- 012.Adding a New Field --【添加一个新字段】
- java 抽象类与接口区别是什么_JAVA中抽象类与接口的区别,分别在什么情况下使用它们...
- qldump 备份所有表_MySQL中的备份和恢复是怎样执行的?
- 如何在Mac计算机上轻松查找和删除类似照片
- ldconfig和ldd用法
- 下载文件byte[]
- 史上最详细之Centos7安装与配置Redis6
- (赠书福利)2018 Oracle 数据技术嘉年华
- 一文搞定Matplotlib 各个示例丨建议收藏
- github hexo搭建博客
- Windows Server 2003证书服务配置与管理
- 不是程序员,代码也不能太丑!python官方书写规范:任何人都该了解的 pep8
- Linux文件系统(六)---三大缓冲区之 目录缓冲区dcache
- oracle支持utf8字符集,AL32UTF8/UTF8(Unicode)数据库字符集含义
- 三星note5 android9,史上最快!三星公布新版安卓9.0升级名单:Note FE在内
- 2022年6月护肤行业数据洞察报告(小红书)