基本信息
源码名称:java 手机语音amr文件转mp3格式 源码下载
源码大小:15.45M
文件格式:.zip
开发语言:Java
更新时间:2016-12-17
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

1、yum install yasm
2、tar -zxvf lame-3.99.5.tar.gz; ./configure; make; make install
3、 tar -zxvf opencore-amr-0.1.2.tar.gz; ./configure; make; make install
4、 tar -jxvf ffmpeg-3.1.1.tar.xz
5、 ./configure --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-shared
6、 make
7、make install
8、vi /etc/ld.so.conf
9、在文件末尾加上:/usr/local/lib
10、 ldconfig
11、ffmpeg 输出版本信息表示安装成功

验证:ffmpeg -i 1.amr 1.mp3
把当前目录下的1.amr转换成1.mp3



package com.rrkd.amrformat.servlet;


import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.rrkd.amrformat.utils.AmrTomp3Util;
import com.rrkd.amrformat.utils.DownloadUtil;


/**
 * Servlet implementation class AmrToMp3Servlet
 */
public class AmrToMp3Servlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public AmrToMp3Servlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.doPost(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//1.根据 amr文件路径 下载文件
		String url = request.getParameter("amrurl");
		if( url == null || "".equals(url) ){
			return ;
		}
		
		String path = AmrToMp3Servlet.class.getResource("/").getPath();
		path = path.substring(1,path.indexOf("WEB-INF"));
		path = path   "file/";
		String system = System.getProperties().getProperty("os.name");
		if( system != null && !"".equals(system) && system.toLowerCase().contains("linux")){
			path = "/"   path;
		}
		
		File oldFile = new File(path DownloadUtil.getFileNameFromUrl(url)) ;
		if(!oldFile.exists()){
			oldFile = DownloadUtil.downloadFromUrl(url, path);
		}
		String name = DownloadUtil.getFilenameName(DownloadUtil.getFileNameFromUrl(url));
		final String targetPath = path  name   ".mp3";
		final File target = new File(targetPath);
		if( target.exists()){
			try {
				FileInputStream fis=new FileInputStream(target);
				ServletOutputStream sops=response.getOutputStream();
				DownloadUtil.copyStream(fis,sops,true);
				fis.close();
				sops.close();
				fis=null;
				sops=null;
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}else{
			try {
				AmrTomp3Util.amrToMp3(oldFile.getAbsolutePath(), targetPath);
			} catch (Exception ex) {
				System.out.println("转mp3出现异常:" ex.getMessage());
			}finally{
				try {
					Thread.sleep(200l); //休息200毫秒
					FileInputStream fis=new FileInputStream(target);
					ServletOutputStream sops=response.getOutputStream();
					DownloadUtil.copyStream(fis,sops,true);
					fis.close();
					sops.close();
					fis=null;
					sops=null;
				} catch (FileNotFoundException e) {
					e.printStackTrace();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
	
}