基於PHP微信公衆號語音識別功能開發

首先我們要確定我們接收到的是用戶的語音信息,在微信公衆號中消息分爲以下幾類

被關注:subscribe
取消關注:unsubscribe
文本:text
圖片:image
語音:voice
視頻:video
小視頻:shortvideo
地理位置:location
連接消息:link
在這裏插入圖片描述
要確保這裏的接受語音識別結果接口是開啓的,微信公衆號默認是開啓的,但是還是要去確認一遍,如果關閉了再次打開就好了

而我們需要的是語音消息也就是voice,所以這時候在代碼中就應該是
//

            $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
            $RX_TYPE = trim($postObj->MsgType);
            if($RX_TYPE=='voice')
            {
                   $fromUsername = $postObj->FromUserName;
                   $toUsername = $postObj->ToUserName;
                   $keyword = trim($postObj->Recognition);//這裏就是微信自帶的語音識別返回的識別到的文本,然後格式化輸出到公衆號就ok了
                   $time = time();
                   $msgType = "text";
                   $contentStr = "你發送的是語音\n內容爲:\n"."$keyword";
                   $textTpl = "<xml>
                                     <ToUserName><![CDATA[%s]]></ToUserName>
                                     <FromUserName><![CDATA[%s]]></FromUserName>
                                     <CreateTime>%s</CreateTime>
                                     <MsgType><![CDATA[%s]]></MsgType>
                                     <Content><![CDATA[%s]]></Content>
                                     <FuncFlag>0</FuncFlag>
                                     </xml>";
                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                echo $resultStr;
            } 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章