由于当前pc端浏览器及移动端浏览器都不支持直接播放amr格式文件,因此考虑在服务器端,将amr文件转换为MP3文件,使浏览器可直接播放。
在服务器使用ffmpeg工具,供php调用,用来转换amr文件。
基本流程是:微信浏览器中录音并上传(上传到微信平台服务器)——将音频下载到自己的服务器(amr格式)——php调用ffmpeg命令,转换amr为mp3。
1、下载ffmpeg:http://ffmpeg.zeranoe.com/builds/win32/shared/
选择与自己服务器版本匹配的ffmpeg版本下载,如果版本不匹配,程序不能运行。
下载后,解压缩到自定的目录,如 D:\ffmpeg\bin,可执行程序在这个目录中。
配置环境变量,在path中增加上面的目录,命令行窗口试运行一下:ffmpeg -i b.amr b.mp3,如果生成mp3文件,说明程序能正常运行。
2、配置php,开启安全模式,在php.ini文件中,增加外部程序运行目录:
; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
; http://php.net/disable-functions
disable_functions = ****
;增加以下行,指定可运行程序外部目录safe_mode_exec_dir = "D:\ff\bin"
3、修改php文件,即可执行转换:
shell_exec("ffmpeg -i aaa.amr aaa.mp3");