java 3gp 转mp3_java实现音频转换

这里需要用到第三方 ffmpeg.exe

package com.convertaudio;

import java.io.File;

import java.util.ArrayList;

import java.util.List;

import java.util.logging.Level;

import java.util.logging.Logger;

import sun.rmi.runtime.Log;

public class ConvertAudio {

/**

* 检查文件是不是文件

* @param file

* @return

*/

public boolean checkFile(File file){

if(file.isFile())

return true;

else

return false;

}

/**

* 获取文件的后缀名

*/

public String getFileSuffix(File file){

String filename=file.getName();

String fileSuffixName=null;

if(filename!=null){

int startPosition=filename.lastIndexOf(".");

fileSuffixName=filename.substring(startPosition);

}

return fileSuffixName;

}

/**

* 检验后缀名是否符合转换要求

* @param suffixName

* @return

*/

public boolean checkFileSuffix(String suffixName){

switch (suffixName) {

case ".aac":

case ".avi":

case ".wmv":

case ".3gp":

case ".flv":

case ".mp4":return true;

default: return false;

}

}

/**

* 转换

* @param ffmpegPath

* @param srcFile

* @param destFile

* @return

*/

public boolean process(String ffmpegPath,File srcFile,File destFile){

if(this.checkFile(srcFile)){

String suffixName=this.getFileSuffix(srcFile);

if(this.checkFileSuffix(suffixName)){

List commend =new ArrayList();

commend.add(ffmpegPath);//"d:\\pcm\\ffmpeg.exe"

commend.add("-i");

commend.add(srcFile.toString());

commend.add("-ab");

commend.add("64");

// commend.add(" -acodec ");

// commend.add("codec");

commend.add("-ac");

commend.add("2");

commend.add("-ar");

commend.add("22050");

// 清晰度 -qscale 4 为最好可是文件大, -qscale 6就可以了

commend.add("-b");

commend.add("230");

// commend.add("-s");

// commend.add("350x240");

commend.add("-r");

commend.add("29.97");

commend.add("-y");

commend.add(destFile.toString());

System.out.println(commend);

System.out.println("----");

try {

ProcessBuilder builder = new ProcessBuilder();

builder.command(commend);

builder.start();

return true;

} catch (Exception e) {

e.printStackTrace();

return false;

}

}

}else{

System.out.println(srcFile+" is not a file!");

}

return false;

}

public static void main(String[] args) {

File srcFile=new File("D:/pcm/baichuanyu.aac");

File destFile=new File("D:/pcm/baichuanyu.wav");

String ffmpegPath="d:/pcm/ffmpeg.exe";

ConvertAudio ca=new ConvertAudio();

if(ca.process(ffmpegPath, srcFile, destFile)){

Logger log= Logger.getLogger("test.Test");

log.log(Level.INFO, srcFile.getName()+" 已成功转换为 "+destFile.getName());

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值