PHP公众号上传录音amr转mp3 [ffmpeg]

前端UNI-APP上传方式

wx.uploadVoice({
	localId: localId, // 需要上传的音频的本地ID,由stopRecord接口获得
	isShowProgressTips: 1, // 默认为1,显示进度提示
	success: async (res) => {
		var serverId = res.serverId; // 返回音频的服务器端ID
		let ajax = new api()
		let data = await ajax.request(url.uploadMp3, {
			serverId: serverId
		})
	}
});

PHP接口处理

$serverId = request()->post()['serverId']??"";
$access_token = (new WeixinJs())->getWxAccessToken();

$url ="https://file.api.weixin.qq.com/cgi-bin/media/get?access_token=".$access_token."&media_id=".$serverId;
$names = date('YmdHis').time().uniqid();
$file_name = "/web/audits/".$names.".amr";//保存的文件路径
$file_names = "/web/audits/".$names.".mp3";//待转化的文件路径

$file = file_get_contents($url);
file_put_contents($file_name, $file);
curlPost("http://127.0.0.1:6578/ffmpeg_amr.php",[
    'file_name'=>$file_name,
    'file_names'=>$file_names
]);

ffmpeg_amr.php

 
	$file_name = $_POST['file_name'];//原始文件路径和文件名称
	$file_names = $_POST['file_names'];//转化后的文件路径和文件名称
	$command = '/usr/bin/ffmpeg -i '.$file_name." ".$file_names;
	exec($command);
	return true;
?>

你可能感兴趣的:(php,ffmpeg,开发语言,微信公众平台,音频)