- 浏览: 184507 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
u010244357:
你用了部分是自己的包,怎么跑呢,先生。
如何在springMVC 中对REST服务使用mockmvc 做测试 -
Abird2Simba:
你用了部分是自己的包,怎么跑呢,先生。
如何在springMVC 中对REST服务使用mockmvc 做测试 -
javer:
javer 写道代码看着有点乱啊,怎么搞的 sorry,原来是 ...
如何在springMVC 中对REST服务使用mockmvc 做测试 -
javer:
代码看着有点乱啊,怎么搞的
如何在springMVC 中对REST服务使用mockmvc 做测试 -
u011643314:
你用了部分是自己的包,怎么跑呢,先生。
如何在springMVC 中对REST服务使用mockmvc 做测试
首先下载附件 lame.exe copy到d 盘,因为代码默认是去d盘找,当然可以修改
注意singleShell 里面的2个线程 ,如果注释调就能发现,程序运行阻塞了。这2个线程在于情况当前现成的IO操作,使得线程变成正常状态。
注意singleShell 里面的2个线程 ,如果注释调就能发现,程序运行阻塞了。这2个线程在于情况当前现成的IO操作,使得线程变成正常状态。
package xm.createpkg; import java.io.BufferedReader; import java.io.File; import java.io.FileFilter; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class AudioImpress { /** * 转化单个文件 * @param path * @return */ public static String singleShell(String path) { String newName = path.replace(".wav", ".mp3"); String command = "d:\\lame -V2 " + path + " " + newName; try { String cmd = createBat(command); Process process = Runtime.getRuntime().exec(cmd); final InputStream is1 = process.getInputStream(); final InputStream is2 = process.getErrorStream(); new Thread() { public void run() { BufferedReader br = new BufferedReader( new InputStreamReader(is1)); try { String lineB = null; while ((lineB = br.readLine()) != null) { if (lineB != null) System.out.println(lineB); } } catch (IOException e) { e.printStackTrace(); } } }.start(); new Thread() { public void run() { BufferedReader br2 = new BufferedReader( new InputStreamReader(is2)); try { String lineC = null; while ((lineC = br2.readLine()) != null) { if (lineC != null) System.out.println(lineC); } } catch (IOException e) { e.printStackTrace(); } } }.start(); process.waitFor(); } catch (Throwable e) { e.printStackTrace(); } return newName; } /** * 转化一个文件下所以文件,包括n层文件夹 * @param strList */ private static void callShell(List<String> strList) { try { for (int i = 0; i < strList.size(); i++) { String newName = strList.get(i).replace(".wav", ".mp3"); String command = "d:\\lame -V2 " + strList.get(i) + " " + newName; String cmd = createBat(command); Process process = Runtime.getRuntime().exec(cmd); } } catch (Throwable e) { e.printStackTrace(); } } private static String createBat(String command) throws IOException { String dir = "d:\\lame.bat"; byte[] b = command.getBytes(); File file = new File(dir); if (!file.exists()) { file.createNewFile(); } FileOutputStream os = new FileOutputStream(file); os.write(b); os.close(); return dir; } private static List<String> getFileName(String path, List<String> strList) { File file = new File(path); FileFilter ff = new FileFilter() { @Override public boolean accept(File dir) { if (dir.getName().endsWith(".wav")) { return true; } return false; } }; if (file.isFile()) { System.out.println("必须是文件夹"); } else { File[] fileList = file.listFiles(ff); for (File f : fileList) { if (f.isFile()) { strList.add(f.getAbsolutePath()); } else { getFileName(f.getAbsolutePath(), strList); } } } return strList; } public static void main(String[] args) throws IOException { String path = "G:\\本人文档存放\\研发中心任务文档\\自动分析html\\colorblock-音效文件\\audio\\20114822174851.wav"; // change(path); //AudioImpress ai = new AudioImpress(); singleShell(path); //CreatePkg pkg = new CreatePkg(); //pkg.audioImpress(path); } private static void change(String path) { List<String> strList = new ArrayList<String>(); getFileName(path, strList); callShell(strList); } }
- lame.zip (158.2 KB)
- 下载次数: 95
发表评论
-
使用 cxf axis1.x axis2 开发WebService
2014-02-26 14:50 1361cxf======================== ... -
基于red5 dsj 的java 处理视频流和一些疑问
2013-06-19 16:17 5671最近夭折了一个项目,由于我预研失败,同时我将被惩罚,被外派去 ... -
5分钟 熟练使用spring Aop
2013-06-09 09:56 4848声明:所有的5分钟系列博客都停留在使用的基础上,具体原理, ... -
5分钟 玩转google Gson
2013-06-05 17:18 11042google gson 是一个非常轻量的java 对象与j ... -
如何在springMVC 中对REST服务使用mockmvc 做测试
2013-06-05 09:06 46871spring 集成测试中 对mock 的集成实在是太棒了! ... -
边读边写【7】 ----java 多线程实战【Thread /Executors】
2012-04-20 17:04 1814前面2个月一直忙碌,但是还是不忘在iteye 上发发帖子,写写 ... -
struts2 上传下载模板
2012-04-20 09:38 2799第一 struts2 更新比较慢。核心的xwork 基本不变。 ... -
struts2 上传下载模板
2012-04-18 22:21 0struts2下载文件时出错提示:java.lang.Clas ... -
java乱码补充 : 移植乱码 问题
2012-04-18 12:00 1640上一篇: jquery ajax struts2 数据库等中 ... -
jquery ajax struts2 数据库等中文乱码问题解决大全
2012-04-18 09:31 4869ok 乱码了。 乱码第一件事,静下心来,思考一下这乱码出处的 ... -
java 内存的管理 转载▼
2012-04-17 16:39 1519java 内存的管理 转载▼ 内存的管理(1) 使用Ja ... -
边读边写【6】 ----序列化和反序列化
2012-04-16 15:26 0边读边写【6】 ----序列化和反序列化 -
边读边写【5】 ----java 并发包
2012-04-09 15:09 0java 并发包里面的几个常用的东西 ConCurrentH ... -
边读边写【2】 ----java 集合包之深入Map
2012-04-09 11:49 0Collection 中还有一个Set 但是常用的Set 都是 ... -
边读边写【3】 ----java 集合包之各个集合性能分析
2012-04-10 09:38 1927上次主要看了Map接口,以及Map的选择地址: 。http:/ ... -
边读边写【1】 ----java 集合包之深入List
2012-04-09 11:14 2607一、java 集合包最常用 ... -
hadoop的1TB排序
2012-04-09 09:22 1458hadoop的1TB排序 作者:nos ... -
使用DES 加密方式对文件进行加密!!!
2012-01-14 17:07 8063DES加密由于在java中非常 ... -
java 大小端存储模式 转化
2012-01-14 16:52 14579所谓的大端模式:是指数据的高位,保存在内存的低地址中,而数据 ... -
myeclipse import sun.misc.BASE64Encoder与sun.misc.BASE64Decoder导入错误
2012-01-09 19:05 2232原因你的jre是myeclipse自带的,不是你安装jdk时候 ...
相关推荐
标题中的“使用LAME实现wav转mp3”指的是利用LAME库将Wave(.wav)音频格式转换为MP3(.mp3)音频格式。在数字音频领域,这两种格式非常常见,但MP3因其高效的有损压缩算法,能显著减小文件体积,更适合网络传输和...
在Java环境中,我们可以借助JAVE(Java Audio Video Encoder)或者JLayer这样的库来调用LAME进行编码。 JAVE是一个Java封装的多媒体转换库,它提供了与各种编码器(包括LAME)交互的接口。使用JAVE,我们可以编写...
描述中提到,要在程序中自动调用`lame`,你需要确保`lame.exe`可执行文件位于你的工程目录下。这是因为在运行时,程序需要能够找到这个文件来执行音频转换。如果你的程序是用C#、Python、Java或任何其他编程语言编写...
本文将深入探讨如何在JAndroid环境中利用jin技术将WAV格式的音频文件转换为MP3格式。WAV是一种无损音频格式,它保留了原始录音的所有细节,但文件大小通常较大,不适合在移动设备上存储和传输。相反,MP3是一种有损...
本主题主要涉及的是将原始的PCM(脉冲编码调制)音频数据转换为更通用且压缩过的MP3格式。以下是对这个过程的详细说明: 1. **PCM音频格式**: PCM是一种无损的数字音频编码方式,它直接将模拟信号转换成二进制...
Java 1.0.2 音频格式转换是一款基于Java平台的工具,它允许用户将不同的音频文件格式进行互换,特别提及的是可以将.wav格式的音频文件转换为.mp3格式。这种转换对于多媒体处理、音乐库管理和网络传输等方面非常有用...
2. 编码过程:使用LAME的API,如`lame_encode_buffer_interleaved`,将RAW或WAV格式的音频数据编码为MP3流。 3. 写入文件:将编码后的MP3数据写入文件,可以使用标准C++库中的fstream类完成这一操作。 **WAR转MP3*...
此类可能会调用诸如LAME这样的第三方库来完成实际的编码工作,因为Java标准库本身并不支持MP3编码。 `pom.xml`文件是Maven项目的配置文件,它定义了项目的依赖、构建指令和其他元数据。在这个案例中,`pom.xml`可能...
3. **MP3编码**:MP3是一种有损音频压缩格式,能够将音频文件大幅度压缩,同时保持相对较高的音质。在Android上实现MP3录音,需要使用到MP3编码库。常见的开源MP3编码库有LAME,它可能被用于本项目中。 4. **...
解码MP3文件通常需要使用特定的音频库,如FFmpeg或LAME,它们提供了API供开发者调用,将压缩的MP3数据转化为模拟信号,再由计算机的声卡输出。 2. **编程语言**:开发MP3播放器可以选择多种编程语言,常见的有C++、...
- **MP3**:这是一种广泛使用的有损压缩格式,解码涉及复杂的DCT(离散余弦变换)和IDCT(逆离散余弦变换)算法。andless可能使用了诸如libmp3lame这样的开源库来完成MP3解码。 - **M4A**:这是基于AAC编码的一种...