由于项目中需要把wav文件转成mp3,找了很多都没找到,有个Lame,很多人用这个,但是我觉得不太好用,在lunix环境下调用exec命令可能会出问题。
还有一个问题,Lame生成了mp3文件后,貌似会挂起这个文件,当我用code去处理这个mp3文件的时候,报错。。。
现在把我用到的mp32wav 和 wav2mp3 的两个源码放上来,有兴趣的同学,可以共同研究。
wav2mp3的使用方法主要code:
mp3.Main main = new mp3.Main(); main.convertWAVToMP3(path.trim()+fileName); File mp3File = new File( path.trim()+fileName +".mp3"); if (mp3File.length() == 0) { int retryTimes = 0; while (true) { sleep(2000); mp3File = new File( path.trim()+fileName + ".mp3"); if (mp3File.length() > 0 || retryTimes == 50) break; retryTimes++; System.out.println("=============tts retry " + retryTimes + " times."); } if (mp3File.length() == 0) { try { System.out.println(path.trim()+fileName + " .mp3 file create failed.."); throw new Exception(path.trim()+fileName + " .mp3 file create failed.."); } catch (Exception e) { // do nothing System.out.println(e.getMessage()); } } }
mp32wav写的test code找不到了。