MP3音频文件的剪切合并方法
import it.sauronsoftware.jave.MultimediaInfo;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.RandomAccessFile;
import java.io.SequenceInputStream;
import java.nio.ByteBuffer;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(value = "/cut", method = RequestMethod.POST, produces = CodeConstans.JSON_UTF_8)
public class WavCut {
@RequestMapping(value = "/cutUtil")
public static boolean cut(String sourcefile, String targetfile, double start, double end) {
cut1(sourcefile, targetfile, start, end);
FileInputStream fis = new FileInputStream(wav);
long skipSize = (long)((wavSize/t1)*0); //截取时跳过的音频数据大小
// long skipSize = (long)((wavSize/t1)*(t1-start)); //截取时跳过的音频数据大小
fos.write(fbyte);
hebin();
}catch(IOException e){
return true;
}
/**
* 截取音频结束end后的音频部分
public static boolean cut1(String sourcefile, String targetfile, double start, double end) {
*/
StringBuffer targetfile1 = new StringBuffer(targetfile);
StringBuffer replace = targetfile1.replace(3, 4, "a");
String replace11 = replace.toString();
System.out.println(replace);
File wav = new File(sourcefile);
// long skipSize = (long)((wavSize/t1)*0); //截取时跳过的音频数据大小
long skipSize = (long)((wavSize/t1)*end); //截取时跳过的音频数据大小
fos.write(fbyte);
}catch(IOException e){
}
/**
* 合成音频方法
public static void hebin() throws IOException {
FileInputStream fis1 = new FileInputStream("F:\\Rec00010.mp3");
FileInputStream fis2 = new FileInputStream("F:\\6.mp3");//你需要添加音频的中间部分
FileInputStream fis3 = new FileInputStream("F:\\1.mp3");//你需要添加音频的中间部分
FileInputStream fis4 = new FileInputStream("F:\\8.mp3");//你需要添加音频的中间部分
FileInputStream fis5 = new FileInputStream("F:\\6.mp3");//你需要添加音频的中间部分
FileInputStream fis6 = new FileInputStream("F:\\aec00010.mp3");
ArrayList<FileInputStream> c = new ArrayList<FileInputStream>();
c.add(fis1);
c.add(fis2);
c.add(fis3);
c.add(fis4);
c.add(fis5);
c.add(fis6);
Enumeration<FileInputStream> e = Collections.enumeration(c);
SequenceInputStream sis = new SequenceInputStream(e);
//创建输出流---要把前三个文件的内容读出来并且合并到seq4.txt;
FileOutputStream fos=new FileOutputStream("F:\\d5.mp3");
int len=0;
byte buf[] = new byte[10];
while((len=sis.read(buf))!=-1){
fos.write(buf, 0, len);
}
fos.close();
sis.close();
}
long startTime = System.currentTimeMillis(); //获取开始时间
//he();
System.out.println(cut("C:\\Users\\13671\\Desktop\\yin\\宽带新增开场白2.mp3","F:\\Rec00010.mp3",8.8,9.5));
long endTime = System.currentTimeMillis(); //获取结束时间
/* String aString= "1.013";
double a=Double.parseDouble(aString);
System.out.println(a);
double b=1000;
double c=(a*b);
System.out.println(c);
int i= (int)c;
System.out.println(i);*/
}
}
MP3音频文件的剪切合并方法的更多相关文章
- C# 使用NAudio合并mp3、wav音频文件
1.什么是wav格式 WAV为微软公司(Microsoft)开发的一种声音文件格式,它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windo ...
- VC++中MCI播放音频文件 【转】
MCI播放mp3音频文件例程 源文件中需要包含头文件 Mmsystem.h,在Project->Settings->Link->Object/libray module中加入库 Wi ...
- HTML5 audio 如何实现播放多个MP3音频
<audio>标签是HTML5中的新标签,定义声音用于嵌入音频内容,比如音乐或其他音频流.用的比较多音频格式是.mp3. <audio>标签常用属性如下表 属性 值 描述 au ...
- 吴裕雄--天生自然python学习笔记:python 用pygame模块处理音频文件
除了对图片. Word 等普通格式的文件进行处理外, Python 还有强大的多媒体文件操作能力,如对音频.视频 文件的操作 . 如果要播放音乐,我们可以用 pygame 包中的 mixer 对 象. ...
- 获取google翻译的音频文件_合并音频文件的方法
1. 把引文输入google 翻译,然后点击"朗读"
- .net amr格式文件转换成mp3格式文件的方法
前言:winform端对于音频文件的格式多有限制,大多数不支持amr格式的文件的播放.但是,手机端传过来的音频文件大多数是amr格式的文件,所以,要想在winform客户端支持音频文件的播放,可以通过 ...
- PHP 将amr音频文件转换为mp3格式
说下整体思路 1.服务器安装ffmpeg 2.使用ffmpeg -i 指令来转换amr为mp3格式(这个到时候写在PHP代码中,使用exec函数执行即可) 3.在网页端使用HTML5的audio标签来 ...
- CEF3 HTML5 audio标签为什么不能播放mp3格式的音频文件
CEF3 HTML5 audio标签 为什么不能播放mp3格式的音频文件 原因略. 解决方法: 找一个最新版的chrome ,我用的是24版本.路径 C:\Documents and Sett ...
- 合并BIN文件的两种方法(转)
源:http://blog.chinaunix.net/uid-20745340-id-1878803.html 合并BIN文件的两种方法 在单片机的开发过程中,经常需要将两个单独的BIN文件合并成一 ...
随机推荐
- C2C的道德边界:沦为从假运单到假病条的供假渠道
你可能刚开始学会不去看网购平台上商品回评中的虚假好评,却又要开始应对同事在朋友圈等平台买来的虚开病假条带来的困扰.最近各大媒体包括党报热传的网购病假条事件,再度将人们的目光集中在这个C2C模式之上.从 ...
- SAT考试里最难的数学题? · 三只猫的温暖
问题 今天无意中在Quora上看到有人贴出来一道号称是SAT里最难的一道数学题,一下子勾起了我的兴趣.于是拿起笔来写写画画,花了差不多十五分钟搞定.觉得有点意思,决定把解题过程记下来.原帖的图太小,我 ...
- 等效燃油消耗ECMS与庞德里亚金最小值原理PMP中协同状态的关系
今儿阅读了一篇文献——<车联网环境下并联混合动力客车控制策略优化研究>,是北理的博士所写的,内容比较翔实.主要是里面的关于ECMS和庞德里亚金最小值原理(PMP)的关系推导很让人印象深刻, ...
- ip修改成域名
将ip修改成域名,这样的话可以使程序变得更加健壮,别人不能直接看见你的ip地址. 后来总结下分享给大家.首先找到hosts文件的位置,这个文件是系统dns默认查找的文件. windows 系统:C:\ ...
- sys.argv的意义[转]
sys.argv的意义 原文地址:https://www.cnblogs.com/zzliu/p/10775049.html 简单来说,sys.argv是一个参数列表,这个列表存放着从外界获取到的参数 ...
- python爬虫-提取网页数据的三种武器
常用的提取网页数据的工具有三种xpath.css选择器.正则表达式 1.xpath 1.1在python中使用xpath必须要下载lxml模块: lxml官方文档 :https://lxml.de/i ...
- Spring编译后没有xml配置文件解决方法
问题描述 在使用Maven来构建Spring项目的时候,使用下面代码来读取Spring配置文件. ClassPathXmlApplicationContext context = new ClassP ...
- Roma - Facebook工具链大一统
什么是roma roma,中文名罗马,是Facebook的rn团队的产出,是一个试验性质的javascript工具链,集编译,linter,格式化,打包,测试等等于一体.目标是成为一个处理javasc ...
- p标签内不能嵌套块级标签
今天突然发现一个问题,那就是p标签内不能嵌套块级标签 例如: <p><p></p></p> 会被浏览器解析成 我又把 div 嵌套在里面,发现还是这样 ...
- getUserMedia API及HTML5 调用手机摄像头拍照
getUserMedia API简介 HTML5的getUserMedia API为用户提供访问硬件设备媒体(摄像头.视频.音频.地理位置等)的接口,基于该接口,开发者可以在不依赖任何浏览器插件的条件 ...