java图片合成视频、音频及音频裁剪_MQ
一、音频裁剪
1、利用IO流进行音频裁剪
/*
* fis = 输入流对象
* bt = 歌曲的比特率
* start = 裁剪的起始时间
* end = 裁剪结束时间
* fos = 输出流对象
* */
public static void cut(FileInputStream fis,int bt,int start,int end,FileOutputStream fos) throws IOException {
// 计算开始截取的字节
int sta = bt*start*1024/8;
//计算结束截取的字节
int en = bt*end*1024/8;
//定义接收到几个字符长度变量len和total累加器
int len,total = 0;
//定义接收字节的byte数组
byte[] bz = new byte[1024];
while ((len = fis.read(bz))!=-1){
//累加接收到的个数
total += len;
//判断字节是否小于要截取的字节数
if(total<sta)
continue;
//判断字节是否大于要截取的字节数,大于则跳出循环
if(total>en)
break;
//将bz数组中的字节输出到fos
fos.write(bz,0,len);
}
System.out.println("裁剪完成");
}
2、测试(main方法)
public static void main(String[] args) throws IOException {
//输入流对象,路径要裁剪文件路径
FileInputStream fis = new FileInputStream("F:\\KwDownload\\song\\Hold On.mp3");
//输出流对象,裁剪后文件的路径
FileOutputStream fos = new FileOutputStream("F:\\KwDownload\\song\\O.mp3");
cut