wav音频的剪切
wav格式音频剪切功能的完美实现方案。
import java.io.*;
import javax.sound.sampled.*;
public class AudioFileProcessor {
/**
*
* @param sourceFileName 源文件路径
* @param destinationFileName 生成文件路径
* @param start 切割开始时间(毫秒)
* @param end 切割结束时间(毫秒)
*/
public static void CutAudio(String sourceFileName, String destinationFileName, int start, int end) {
AudioInputStream inputStream = null;
AudioInputStream shortenedStream = null;
try {
File file = new File(sourceFileName);
//获取指定的音频文件格式 File
AudioFileFormat fileFormat = AudioSystem.getAudioFileFormat(file);
//获取包含在音频文件中的音频数据的格式
AudioFormat format = fileFormat.getFormat();
//从提供的输入流中获取音频输入流
inputStream = AudioSystem.getAudioInputStream(file);
float bytesPerSecond = format.getFrameSize() * format.getFrameRate()/1000;
//跳过并丢弃该音频输入流中指定数量的字节。
inputStream.skip((long)(start * bytesPerSecond));
long framesOfAudioToCopy =(long)( (end-start) * format.getFrameRate()/1000);
shortenedStream = new AudioInputStream(inputStream, format, framesOfAudioToCopy);
File destinationFile = new File(destinationFileName);
AudioSystem.write(shortenedStream, fileFormat.getType(), destinationFile);
} catch (Exception e) {
System.out.println(e);
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (Exception e) {
System.out.println(e);
}
}
if (shortenedStream != null)
{
try {
shortenedStream.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
}
}
wav音频的剪切的更多相关文章
- Windows Phone 8初学者开发—第21部分:永久保存Wav音频文件
原文 Windows Phone 8初学者开发—第21部分:永久保存Wav音频文件 第21部分:永久保存Wav音频文件 原文地址:http://channel9.msdn.com/Series/Win ...
- Windows Phone 8初学者开发—第20部分:录制Wav音频文件
原文 Windows Phone 8初学者开发—第20部分:录制Wav音频文件 原文地址:http://channel9.msdn.com/Series/Windows-Phone-8-Develop ...
- S3C2416裸机开发系列19_Fatfs播放录像wav音频文件
S3C2416裸机开发系列19 Fatfs播放录像wav音频文件 国际象棋男孩 1048272975 多媒体资源,一般都是以文件的形式存储在固化存储器中.Fatfs所支持的fat32为windo ...
- 使用FlashWavRecorder实现浏览器录制wav音频和上传音频文件,兼容IE8以上浏览器
前言:本项目基于github开源插件实现,该插件使用flash实现,兼容IE8以上浏览器 感谢michalstocki的分享该项目,github项目地址:https://github.com/mich ...
- C语言解析WAV音频文件
C语言解析WAV音频文件 代码地址: Github : https://github.com/CasterWx/c-wave-master 目录 前言 了解WAV音频文件 什么是二进制文件 WAV的二 ...
- python 读取wav 音频文件的两种方式
python 中,常用的有两种可以读取wav音频格式的方法,如下所示: import scipy from scipy.io import wavfile import soundfile as sf ...
- 用 Qt 的 QAudioOutput 类播放 WAV 音频文件
用 Qt 的 QAudioOutput 类播放 WAV 音频文件 最近有一个项目,需要同时控制 4 个声卡播放不同的声音,声音文件很简单就是没有任何压缩的 wav 文件. 如果只是播放 wav 文件, ...
- 解析WAV音频文件----》生成WAV音频文件头
前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i WAV音频文件介绍: WAV文件是在PC机平台上很常见的.最经典的多媒体音频文件,最早于1991年8月出现在Windows3.1操作系统 ...
- WAV音频格式分析
wav是windows下无损的声音文件,该文件保存了音频的PCM信息和播放器播放该音乐的时候的大多数信息,他有两个块组成,第一个块是格式块,第二个块是数据块 先说格式块,格式块用一张图可以解释,如下 ...
随机推荐
- 打印网页js
====================================设置打印样式 <style media="print"> .Noprint { display: ...
- windows服务器入门 初始化数据盘
本人在寒假的时候自行搭建了一个服务器,在此分享一下我的方法.本人服务器的系统为Windows 2012R2 在后面的讲解中中文英文都会有 所以不用在意系统的语言问题 1)第一步 自然就是打开服 ...
- Java变量与数据类型之三:数据类型与转义字符
大家好,小乐又来了,上一篇:乐字节Java变量与数据类型之二:Java常量与变量, 今天接着讲Java变量与数据类型之三:数据类型与转义字符 一.数据类型 1.定义 Java是一种强类型语言,针对每种 ...
- 点亮文字(CSS)
html <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8& ...
- [转帖]Apache、Tomcat与Catalina作为软件名字的含义与关系
Apache.Tomcat与Catalina作为软件名字的含义与关系 -- :: 复杂度掠夺者 阅读数 3356更多 分类专栏: 术语解释 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA ...
- [转帖][思路/技术]Mimikatz的多种攻击方式以及防御方式
[思路/技术]Mimikatz的多种攻击方式以及防御方式 https://bbs.ichunqiu.com/thread-53954-1-1.html 之前学习过 抄密码 没想到还有这么多功能. ...
- linux shell中的EOF
关键词:EOF 在平时的运维工作中,我们经常会碰到这样一个场景:执行脚本的时候,需要往一个文件里自动输入N行内容.如果是少数的几行内容,还可以用echo追加方式,但如果是很多行,那么单纯用echo追加 ...
- Navicat通过跳板机连接MySQL(2层跳转)
情景描述,公司开发数据库部署在内网,而且这个开发数据库有连接需要有IP验证,就是只能在内网的某个IP才能连接,所以每次连接都会先连接外网能访问的跳板机,在从跳板机上ssh到内网上的A机器,在从A机 ...
- HNUSTOJ-1617 Graph(费马数)
1617: Graph 时间限制: 1 Sec 内存限制: 32 MB提交: 31 解决: 5[提交][状态][讨论版] 题目描述 Your task is to judge whether a ...
- golang goroutine进行通信 channel
1.channel的读取与声明 //goroutine之间利用channel进行通信 package main import ( "fmt" "time" ) ...