java 双声道音频_java实现切割wav音频文件的方法详解【附外部jar包下载】

本文详细介绍了如何使用Java进行wav音频文件的切割,包括关键的代码实现和注意事项,如128kbps比特率的wav文件头信息处理。通过示例代码展示了如何根据指定时间截取wav音频片段。
摘要由CSDN通过智能技术生成

本文实例讲述了java实现切割wav音频文件的方法。分享给大家供大家参考,具体如下:

import it.sauronsoftware.jave.Encoder;

import it.sauronsoftware.jave.MultimediaInfo;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.nio.ByteBuffer;

/**

* wav音频文件截取工具

* (适用于比特率为128kbps的wav音频文件,此类音频文件的头部信息占用长度44字节)

* @author lwj

*

*/

public class WavCut {

/**

* 截取wav音频文件

* @param sourcepath 源文件地址

* @param targetpath 目标文件地址

* @param start 截取开始时间(秒)

* @param end 截取结束时间(秒)

*

* return 截取成功返回true,否则返回false

*/

public static boolean cut(String sourcefile, String targetfile, int start, int end) {

try{

if(!sourcefile.toLowerCase().endsWith(".wav") || !targetfile.toLowerCase().endsWith(".wav")){

return false;

}

File wav = new File(sourcefile);

if(!wav.exists()){

return false;

}

long t1 = getTimeLen(wav); //总时长(秒)

if(start<0 || end<=0 || start>=t1 || end>t1 || start>=end){

return false;

}

FileInputStream fis = new FileInputStream(wav);

long wavSize = wav.length()-44; //音频数据大小(44为128kbps比特率wav文件头长度)

long splitSize = (wavSize/t1)*(end-start); //截取的音频数据大小

long skipSize = (wavSize/t1)*start; //截取时跳过的音频数据大小

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值