只写php部分,遇到的坑不在这,因为之前没做过上传录音,因此在这记录一个思路。里面用到了ffmpeg用来把arm转成mp3格式。
$access_token = getToken(1);
$url = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=".$access_token."&media_id=".$media_id;
//var_dump(file_get_contents($url));
$filename = uniqid().'.amr';
$path = './public/images/temp/'.$filename;
$data=file_put_contents($path,file_get_contents($url));
$mp3 = substr($filename,0,-4).'.mp3';
$mp3Path = './目录/'.$mp3;
shell_exec('/usr/local/bin/ffmpeg -i /home/wwwroot/目录/'.$path.' /home/wwwroot/目录/'.$mp3Path);
//echo '/usr/local/bin/ffmpeg -i /home/wwwroot/'.$path.' /home/wwwroot/目录/'.$mp3Path;
unlink($path);
//echo $mp3Path;
if(!file_exists($mp3Path)) {
die('{"success":false}');
}
$this->load->library('qiniu',null,'qn');
$mp3Url = $this->qn->mp3_upload($mp3Path,$mp3);
unlink($mp3Path);