首先到百度下载PHP文档:http://ai.baidu.com/sdk
php代码如下
require_once 'AipSpeech.php';
// 你的 APPID AK SK
const APP_ID = '1xxxxx';
const API_KEY = 'jM5vLcAY2VDrjlqxxxxxxx';
const SECRET_KEY = 'fyo1BTdGSaacxxxxxxxxxxx';
$client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY);
$slmstxt = $_GET['txt'];
$encode2 = mb_detect_encoding($slmstxt, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));
if ($encode2 == "GBK"){
$slmstxt = iconv("GBK","UTF-8",$slmstxt);
};
$result = $client->synthesis($slmstxt, 'zh', 1, array(
'vol' => 5,//音量,取值0-15,默认为5中音量
'spd' => 6,//语速,取值0-9,默认为5中语速
'per' => 1,//发音人选择, 0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女
'pit' => 7,//音调,取值0-9,默认为5中语调
));
// 识别正确返回语音二进制 错误则返回json 参照下面错误码
/*if(!is_array($result)){
file_put_contents('audio.mp3', $result);
}*/
echo $result;
?>
通过js来调用语音
// 注意,代码需要引入jQuery.js
var txt = $(".rd-txt p").eq(0).text();//获取要转换的文字
$(".rd-txt p").eq(0).css("color","red");
var zhuanmas = encodeURIComponent(txt);//转码
$("body").append('');
slmsbf();
var i = 0 ;
function slmsbf(){
var video = document.getElementById("shVideo");
video.addEventListener('ended', function () {
// alert("播放完成");播放完成后循环下一段
$("#shVideo").remove();
i++;
var txt = $(".rd-txt p").eq(i).text();
$(".rd-txt p").eq(i).css("color","red");
var zhuanma = encodeURIComponent(txt);
$("body").append('');
slmsbf();
}, false);
};
效果
文章原创来自:www.slms.cc ,转载请注明,谢谢!