PHP實(shí)現(xiàn)智能語音播報(bào)的方法:首先獲取時(shí)間信息,并獲取天氣狀況;然后語音合成;最后播放合成之后的語音文件,代碼為【exec('sudo /usr/bin/play /tmp/audio.mp3')】。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),臨西企業(yè)網(wǎng)站建設(shè),臨西品牌網(wǎng)站建設(shè),網(wǎng)站定制,臨西網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,臨西網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
PHP實(shí)現(xiàn)智能語音播報(bào)的方法:
第一步:獲取時(shí)間信息
舉個例子,文字內(nèi)容可能是這樣:“主人,早上好,今天是2017年12月18號上午8點(diǎn)整,星期一”,這樣的內(nèi)容用PHP自帶的幾個時(shí)間函數(shù)就能搞定,然后拼接成字符文字!下面是一些簡單實(shí)例代碼:
PHP實(shí)現(xiàn)智能語音播報(bào)天氣
獲取時(shí)間
第二布:獲取天氣狀況
舉個例子,文字內(nèi)容可能是這樣:“今天天氣多云轉(zhuǎn)晴,溫度5-15度,濕度80%,空氣污染指數(shù)69”。要想找到一個靠譜而又免費(fèi)的api還有點(diǎn)麻煩,很多免費(fèi)的api提供的天氣信息都比較簡單,只有天氣狀況和溫度,沒有未來天氣狀況,最后我就找了個湊合用,誰有更好的api留個爪。實(shí)例代碼如下:
PHP實(shí)現(xiàn)智能語音播報(bào)天氣
天氣狀況
第三步:語音合成
這個是調(diào)用的百度的接口,首先呢,你得去百度那注冊一個賬號,獲取開發(fā)者的key和secret,會有一些免費(fèi)的調(diào)用次數(shù),不拿去商用的話完全夠了!然后下載百度提供的SDK,用法非常簡單,實(shí)例代碼如下:
PHP實(shí)現(xiàn)智能語音播報(bào)天氣
大家可以看到最后的返回的內(nèi)容被我存到/tmp/audio.mp3這個文件里面去了(這里使用的是Ubuntu系統(tǒng)),這里可能會有一個寫入權(quán)限問題,建議大家最后執(zhí)行腳本的時(shí)候加上sudo。
第四步:播放合成之后的語音文件
我們不可能去用音樂播放器手動播放,其實(shí)Linux在命令行下也可以播放音樂,需要安裝一個軟件,直接給大家Ubuntu下的安裝命令:
sudo apt-get install sox libsox-fmt-all
安裝完成之后就可以使用play命令播放音樂,舉個例子:play hello.mp3
所以接下來我們就可以使用PHP去執(zhí)行播放命令,實(shí)例如下:
exec('sudo /usr/bin/play /tmp/audio.mp3');
最后,在Linux里面運(yùn)行腳本,讓腳本常駐后臺,示例如下:
/usr/bin/php /var/www/demo/BaiduSound/index.php > /dev/null 2>&1 &
相關(guān)學(xué)習(xí)推薦:php圖文教程