国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

魚漁微信開發初級教程之接收語音識別結果

2020-03-22 17:16:54
字體:
來源:轉載
供稿:網友
  • 首先請下載并安裝和本教程配套的魚漁微信開發包。

    接收語音識別結果的官方文檔參見接收語音識別結果,配合本次課程,開發包中專門有一個教學文件tool/send_and_response.php,注意以下代碼:

    getRevContent和getRevVoice函數都出自開發包中的common/wechat-php-sdk/wechat.html' target='_blank'>class.php。getRevVoice返回包含MediaId和Format的數組,魚漁微信開發初級教程【八】- 接收語音消息已經介紹過了。getRevContent代碼如下:

    注意其中的邏輯是,如果有Recognition項,就返回語音識別結果。但是這里面有些復雜的情況,詳見下面的分析。結論是當MsgType為voice時,可用php的strlen函數判斷Recognition的值是否為空串,如果不是空串,說明語音識別功能已經開啟,有識別結果,但識別結果的正確概率有多大,微信沒有給出任何參數。不管Recognition的值是否為空,微信都給出了MediaId和Format,根據MediaId在3天內可以從微信服務器下載原聲,以正視聽。

    在run.php的最前面加上下面兩行,就可以測試了。

    require_once dirname(__FILE__) . '/tool/send_and_response.php';
    exit;


    魚漁在這里索性詳細解釋下這個Recognition。

    一、測試號默認沒有開啟語音識別功能,需要到帳號管理后臺人工開啟,下圖是已經開啟的狀態:

    注意由于客戶端緩存,開發者開啟或者關閉語音識別功能,對新關注者立刻生效,對已關注用戶需要24小時生效。開發者可以重新關注此帳號進行測試。

    二、微信輸入方式中有一種叫做“語音輸入",同樣用到語音到文字的轉換技術,但用戶最后發給微信服務器的不是語音消息,而是文字消息,MsgType為text,和這次課講的接收語音識別結果沒有任何關系,如下圖所示:

    三、即便語音識別功能默認是關閉的,只要MsgType為voice,微信服務器發來的xml中就會包含一個Recognition,值為空,詳見魚漁微信開發初級教程【八】- 接收語音消息中的日志記錄,那次我們沒有開啟語音識別功能。下面幾點是開啟后的情況。

    四、在微信對講機模式下,如果按住說話后,沒有語音輸入,也就是發送一個“無聲”的語音消息給微信,微信會給出一個mediaId,Format為speex,Recognition為空,下面是交互界面和日志:

    五、在微信對講機模式下,如果按住說話后,有語音輸入,并且識別正確,微信會給出一個mediaId,Format為amr,Recognition非空,下面是交互界面和日志:

    六、在微信對講機模式下,如果按住說話后,有語音輸入,但識別錯誤,微信會給出一個mediaId,Format為amr,Recognition非空,下面是交互界面和日志:

    如果能夠針對語音識別結果的正確率,給出個信心指數,比如80%,也許會對實際應用有所幫助。最近微信推出智能開放平臺,包括語音和圖像的識別,魚漁對這些智能領域密切關注,并有一些資源,有任何idea都歡迎聯系討論。

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 汤原县| 繁峙县| 玉林市| 通化市| 柳州市| 巴南区| 平邑县| 沂水县| 油尖旺区| 贵溪市| 汽车| 原阳县| 台东县| 蚌埠市| 屯昌县| 昭通市| 任丘市| 林州市| 桃源县| 扶风县| 论坛| 长武县| 岑溪市| 灵宝市| 永德县| 康马县| 孝感市| 垦利县| 临泉县| 富阳市| 三门县| 阿城市| 新乡县| 达拉特旗| 泽州县| 九寨沟县| 嘉荫县| 张家界市| 武夷山市| 溆浦县| 北海市|