如何将微信上传AMR格式语音转化为MP3格式

1. 服务器安装ffmpeg

2. 执行命令 ffmpeg -i {amr_file_path} -f mp3 -acodec libmp3lame -y {mp3_file_path}

    public static boolean changeAmr2Mp3(final String ffmpegPath, final String amrFilePath, final String mp3FilePath) {

        if (!Mp3TranslateUtils.checkfile(amrFilePath)) {
            Mp3TranslateUtils.LOGGER.error(amrFilePath + " is not file");
            return false;
        }

        final List<String> command = new ArrayList<String>();
        command.add(ffmpegPath);
        command.add("-i");
        command.add(amrFilePath);
        command.add("-f");
        command.add("mp3");
        command.add("-acodec");
        command.add("libmp3lame");
        command.add("-y");
        command.add(mp3FilePath);
        try {
            final ProcessBuilder builder = new ProcessBuilder();
            builder.redirectErrorStream(true);
            builder.command(commend);
            final Process process = builder.start();
            try {
                process.waitFor();
            } catch (final InterruptedException e) {
                e.printStackTrace();
                Thread.currentThread().interrupt();
            }
            process.getErrorStream().close();
            return true;
        } catch (final Exception e) {
            e.printStackTrace();
            return false;
        }
    }
时间: 2024-08-25 19:47:14

如何将微信上传AMR格式语音转化为MP3格式的相关文章

微信上传素材返回 &#39;{&quot;errcode&quot;:41005,&quot;errmsg&quot;:&quot;media data missing&quot;}&#39;,php5.6返回

问题描述: php5.5已经把通过@加文件路径上传文件的方式给放入到Deprecated中了.php5.6默认是不支持这种方式了 解决办法curl处理 function curl_post($url, $data, $header = array()){ if(function_exists('curl_init')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); if(is_array($header) && !emp

Swift iOS实现把PCM语音转成MP3格式

最近折腾了swift的语音录制识别和转码,这块还是比较坑的,由于语音识别的准确度实测大概也就80%左右,所以还是需要上传录音文件啊.首先是用讯飞语音SDK实现语音录制和识别(语音听写),第一个坑是讯飞SDK只录制了PCM格式的文件,这个文件是原始格式,默认比较大,另外播放器支持也不好,因此需要先把它转成mp3,本来考虑使用系统的AudioConverter转aac格式,不过aac好像不能在浏览器上播放.转成mp3需要lame库支持,注意国内网搜到的lame.a库不支持64位,所以现在不能用了.还

.net 微信上传媒体文件

微信开发时候有需求需要上传素材, 以接口http://qydev.weixin.qq.com/wiki/index.php?title=%E4%B8%8A%E4%BC%A0%E4%B8%B4%E6%97%B6%E7%B4%A0%E6%9D%90%E6%96%87%E4%BB%B6 为例 感觉文档写得不够详细media这些该怎么处理不是很明确.网上也少有.net资料来处理该业务. 其实可以这样处理: using (WebClient client = new WebClient()) { byte

Servlet 实现上传文件以及同时,写入xml格式文件和上传

package com.isoftstone.eply.servlet; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io

vue-resource+element upload上传(遇到formData总是变为object格式)

文件上传这种业务需求很常见,但是最近用了element,仔细看了文档,按照demo写了上传,与后台传参调取接口时,控制台总是显示未获取到文件,想了又想,发现一开始思路就跑遍了... 写此博记录下遇到的问题. 传参给后台需要formdata格式的,这种格式也很常见,如下: // FormData 对象 var form = new FormData(); // 文件对象 form.append("file", fileObj); // 其他参数 form.append("xxx

微信上传永久素材并保存图片URL到数据库

基于tp5编写的 一下只为核心代码,不是完整的. Wechat.php需要继承Base.php才可以使用它里面的方法. Wechat.php下的添加图片方法如下: 1 public function add()//上传图片素材 2 { 3 //echo $_SERVER['DOCUMENT_ROOT']; 4 //$this->upload(); 5 if(request()->isPost()){ 6 $date=date("Y-m-d h:i:s"); 7 $data[

ubuntu下 微信amr语音转换成mp3格式

安装如下软件 1.sudo apt-get install lame 2.sudo apt-get install sox 3.sudo apt-get install libsox-fmt-mp3 使用如下命令: sox test.amr test.mp3

文件上传(图片语音等上传到微信服务器)

function curl_filepost($url,$post){ $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_VERBOSE, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)"); c

iOS开发类似微信上传头像小操作Demo

效果图: 代码: 图片选择器前面的tablvew里的东西 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // 图片选择器 UIImagePickerController *imgPC = [[UIImagePickerController alloc] init]; //设置代理 imgPC.delegate = self; //允许编辑图片 imgPC.