微信小程序语音使用ffmpeg进行格式转换

ffmpeg是一个对音频、视频文件进行格式转换便捷的软件,使用起来也十分简易。

在使用ffmpeg对微信小程序语音进行格式转换时也遇到了一些小问题,在此作出记录。

如果已经安转了ffmpeg,则可直接忽略安装的步骤,我是参考(https://www.cnblogs.com/cheng5x/p/5646920.html)安装成功的。

以下写了一个将mp3转换成pcm的方法。

    /**  
	 * MP3音频格式转换为pcm格式
	 * @param ffmpegPath	ffmpeg文件路径  
	 * @param source		源文件
	 * @return
	 */
    public String VoiceFormatMP3ToPCM(String ffmpegPath, String source) {    
        File file = new File(source);  
        //转换后目标文件
        String target = "F:/" + file.getName().replace("mp3", "pcm");
        //String target = source.replace("mp3", "pcm");
        if (!file.exists()) {    
            System.err.println("路径[" + source + "]对应的视频文件不存在!");    
            return null;    
        }     
        
        List<String> commands = new ArrayList<String>();    
        commands.add(ffmpegPath);    
        commands.add("-y");  
        commands.add("-i"); 
        commands.add(source);    
        commands.add("-acodec");    
        commands.add("pcm_s16le");    
        commands.add("-f");    
        commands.add("s16le");
        commands.add("-ac");    
        commands.add("1");    
        commands.add("-ar");
        commands.add("16000");    
        commands.add(target);    
       try {    
            ProcessBuilder builder = new ProcessBuilder();    
            builder.command(commands);    
            builder.start();    
           return target;    
        } catch (Exception e) {    
           e.printStackTrace();    
        }   
       return null;    
    } 
需要注意:
我在安装和调试时遇到了以下两个问题
在linux环境下:
如果出现以下问题ffmpeg yasm not found, use --disable-yasm for a crippled build,请安装yasm插件
FFMPEG为了提高编译速度,使用了汇编指令,如果系统中没有yasm指令的话,就会出现上述的问题
安装命令:
sudo apt-get install yasm (如果该命令不生效,尝试使用该命令yum install yasm)
在window环境下:
开发时出现路径写入不成功的问题(该问题没有报错,更换路径后成功执行)

猜你喜欢

转载自blog.csdn.net/baidu_36720706/article/details/79346192