php 百度语音生成下载,PHP利用百度语音接口,实现文字图文转语音播放

需求背景:本人有一个美食网站(百度搜大厨子美食网),有很多美食食谱,存在用户边做饭边看食谱,如果能用语音播放食谱,用户就不用一直盯着手机了。

php代码如下:

// 通过百度语音接口文字转语音

$target = $news_content['content'];

$str =  htmlspecialchars_decode($target); //str_replace("、",",",$target); //保留顿号

$strr = str_replace(" ", "", $str); //  str_replace(' ','',$str);

$strrr = strip_tags($strr);

$text=  str_replace(array(" ", " ", " "," ","‌","‍","“","”"), "", $strrr); // match_chinese($strr); // $news_detail['title'];

$file = file_get_contents("http://tts.baidu.com/text2audio?cuid=baiduid&lan=zh&ctp=9&pdt=122&per=0&aue=3&tex=$text");

$filepath="./Data/News/$id.mp3";

//写入mp3文件

if(!file_exists($filepath)){

file_put_contents($filepath,$file);

}

这段php代码可以自动去除空格、html标签、img标签等,只留下中文。

mp3文件保存路径自己设置下,记得添加写入和读取权限。

$id.mp3是为了不同文章生成不同文件,避免前端乱了,file_exists判断是为了避免重复生成,减少服务器压力。

百度语音接口参数设置如下,可设置音量大小、语速、男女声等

954781bd7ba0

html和js代码如下:

function fun(){

var myAuto = document.getElementById("myaudio");

// myAuto.play();

if (myAuto.paused) { //判断音乐是否在播放中,暂停状态

myAuto.play(); //音乐播放

} else { //播放状态

myAuto.pause(); //音乐停止

}

}

{$newsdetail.title}

最终效果见https://www.dachuzi.net/index.php?s=/Mob/News/newsdetail/id/73.html,点击红色小喇叭即可播放,如有疑问可加qq1085788379交流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值