后台PHP代码部分
public function spark()
{
if(request()->isGet()) {
$text = request()->param('text');
if(!$text || empty($text)) {
return show('500','ERROR',[]);
}
vendor('baiduai.AipSpeech');
// 你的 APPID AK SK
$APP_ID = '';
$API_KEY = '';
$SECRET_KEY = '';
$client = new \AipSpeech($APP_ID, $API_KEY, $SECRET_KEY);
$result = $client->synthesis($text, 'zh', 1, array(
'vol' => 5,
'spd' => 5,
'pit' => 5,
'per' => 1, //普通发音人选择:度小美=0(默认),度小宇=1,,度逍遥(基础)=3,度丫丫=4
));
//print_r($result);
// 识别正确返回语音二进制 错误则返回json 参照下面错误码
// if(!is_array($result)){
// file_put_contents('audio.mp3', $result);
// }
return $result;
}
}
前端返回值部分
$.ajax({
url:"",
type:'post',
dataType:'json',
data:{address:data.field.where},
success:function(res){
if(res.status == 200) {
layer.msg(res.message, {icon: 1});
$('.audio').append("<audio autoplay='autoplay'\">"+
"<source src=\"spark?text="+res.data.address+"\" type=\"audio/mpeg\">"+
+"您的浏览器不支持 audio 标签。"+
"</audio>");
$('.result').empty();
$('.result').append(res.data.content);
$('.vr_group').append("<a href="+res.data.tip+"><i class=\"layui-icon layui-icon-website\" style=\"font-size: 20px; color: #1E9FFF;font-weight: bold\">点击此处查看实况导航</i></a>");
}else if (res.status == 500) {
layer.open({
title: '操作失败'
,content: res.message
});
} else {
layer.open({
title: '操作失败'
,content: '出现未知错误,如果问题一直出现,您可以联系管理员'
});
}
layer.close(load);
},error:function () {
layer.close(load);
layer.open({
title: '操作失败'
,content: '当前网络环境不安全,请调整网络环境'
});
}
})