<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] 語法識別是基于語法文件的一種命令詞識別技術。在線語法識別基于abnf語法文件;離線語法基于bnf語法文件。語法文件可以參照Demo的工程所示。 ## 在線識別(該服務已下線,新用戶無法使用) ### 應用級命令詞識別 使用瀏覽器訪問訊飛開放平臺(http://www.xfyun.cn)。在打開的頁面中,點擊“產品服務”、“在線命令詞識別” 。如下圖所示: ![](https://box.kancloud.cn/dde622810ddbf5e2e35cf31c10d56a48_532x220.png) 在隨后打開的頁面中,點擊“使用服務”,選擇應用,點擊“確定”,即可打開應用級在線語法文件上傳頁面,如下圖所示。上傳所需的語法文件,待頁面提示“語法文件已生效”,則應用級在線語法文件啟用成功。 ![](https://box.kancloud.cn/a625d533d6b25c100629f38164eebe04_1194x599.png) 使用示例如下所示: ~~~ //獲取識別對象單例 _iFlySpeechRecognizer = [IFlySpeechRecognizer sharedInstance]; //設置協議委托對象 _iFlySpeechRecognizer.delegate = self; //設置在線識別參數 //設置引擎類型,cloud或者local [_iflySpeechRecognizer setParameter:@"cloud" forKey:[IFlySpeechConstant ENGINE_TYPE]]; //設置服務類型為asr識別 [_iflySpeechRecognizer setParameter:@"asr" forKey:[IFlySpeechConstant IFLY_DOMAIN]]; //啟動識別 [_iFlySpeechRecognizer startListening]; //識別IFlySpeechRecognizerDelegate協議 //本地和在線的識別返回代理是一致 //在切換在線和離線服務時還需要注意參數的重置,具體可以參照demo所示 //結果返回代理 - (void) onResults:(NSArray *) results isLast:(BOOL) isLast{} //會話結束回調 - (void) onError:(IFlySpeechError*) error{} //錄音音量回調 - (void) onVolumeChanged: (int)volume{} //錄音開始回調 - (void) onBeginOfSpeech{} //錄音結束回調 - (void) onEndOfSpeech{} //會話取消回調 - (void) onCancel{} ~~~ ### 終端級命令詞識別 終端級在線命令詞識別需要先在終端上構建語法文件,上傳語法文件之后獲得相應的Grammer ID,以后每次使用識別功能前,設置該Grammar ID參數即可。其示例代碼如下: ~~~ //獲取識別對象單例 _iFlySpeechRecognizer = [IFlySpeechRecognizer sharedInstance]; //設置協議委托對象 _iFlySpeechRecognizer.delegate = self; //設置在線識別參數 //開啟候選結果 [_iflySpeechRecognizer setParameter:@"1" forKey:@"asr_wbest"]; //設置引擎類型,cloud或者local [_iflySpeechRecognizer setParameter:@"cloud" forKey:[IFlySpeechConstant ENGINE_TYPE]]; //設置字符編碼為utf-8 [_iflySpeechRecognizer setParameter:@"utf-8" forKey:[IFlySpeechConstant TEXT_ENCODING]]; //語法類型,本地是bnf,在線識別是abnf [_iflySpeechRecognizer setParameter:@"abnf" forKey:[IFlyResourceUtil GRAMMARTYPE]]; //設置服務類型為asr識別 [_iflySpeechRecognizer setParameter:@"asr" forKey:[IFlySpeechConstant IFLY_DOMAIN]]; //編譯語法文件,注意grammerType參數的區別 //讀取本地abnf語法文件內容 NSString* grammerContent = [self readFile:_abnfFilePath]; //調用構建語法接口 [_iflySpeechRecognizer buildGrammarCompletionHandler:^(NSString * grammerID, IFlySpeechError *error){ //設置grammerID [_iFlySpeechRecognizer setParameter:grammerID forKey:[IFlySpeechConstant CLOUD_GRAMMAR]]; }grammarType:@”abnf” grammarContent:grammarContent]; //啟動識別 [_iFlySpeechRecognizer startListening]; //識別IFlySpeechRecognizerDelegate協議 //本地和在線的識別返回代理是一致 //在切換在線和離線服務時還需要注意參數的重置,具體可以參照demo所示 //結果返回代理 - (void) onResults:(NSArray *) results isLast:(BOOL) isLast{} //會話結束回調 - (void) onError:(IFlySpeechError*) error{} //錄音音量回調 - (void) onVolumeChanged: (int)volume{} //錄音開始回調 - (void) onBeginOfSpeech{} //錄音結束回調 - (void) onEndOfSpeech{} //會話取消回調 - (void) onCancel{} ~~~ ## 離線命令詞識別 **引擎大小**: | 狀態 |大小 | | :---: | :---: | | 編譯前靜態庫 | 24.5 MB | |編譯后(ipa) |8 MB | **資源大小**: 5.0MB **空間大小**:(不同的編譯器編譯后大小會有不同,請以實際為準) ipa文件大小 = 引擎編譯后(8MB) +資源(5MB)= 13MB。 ~~~ //設置本地識別參數,其他參數與在線方式一致 //設置引擎類型,cloud或者local [_iflySpeechRecognizer setParameter:@ "local" forKey:[IFlySpeechConstant ENGINE_TYPE]]; //語法類型,本地是bnf,在線識別是abnf [_iflySpeechRecognizer setParameter:@ "bnf" forKey:[IFlyResourceUtil GRAMMARTYPE]]; //設置引擎資源文件路徑,如demo中的aitalkResource中的common.mp3 NSString *aitalkResourcePath = [[NSString alloc] initWithFormat:@"fo|%@/aitalkResource/common.mp3",appPath]; [_iflySpeechRecognizer setParameter:aitalkResourcePath forKey:[IFlyResourceUtil ASR_RES_PATH]]; //啟動asr識別引擎 [[IFlySpeechUtility getUtility] setParameter:@"asr" forKey:[IFlyResourceUtil ENGINE_START]]; //編譯語法文件(注意grammarType參數的區別) //讀取本地bnf語法文件內容 NSString* grammarContent = [self readFile:_bnfFilePath]; //調用語法編譯接口 [_iflySpeechRecognizer buildGrammarCompletionHandler:^(NSString * grammerID, IFlySpeechError *error){ //設置grammerID [_iFlySpeechRecognizer setParameter:grammerID forKey:[IFlySpeechConstant LOCAL_GRAMMAR]]; }grammarType:@”bnf” grammarContent:grammarContent]; //啟動識別 [_iFlySpeechRecognizer startListening]; //識別IFlySpeechRecognizerDelegate協議 //本地和在線的識別返回代理是一致 //在切換在線和離線服務時還需要注意參數的重置,具體可以參照demo所示 //結果返回代理 - (void) onResults:(NSArray *) results isLast:(BOOL) isLast{} //會話結束回調 - (void) onError:(IFlySpeechError*) error{} //錄音音量回調 - (void) onVolumeChanged: (int)volume{} //錄音開始回調 - (void) onBeginOfSpeech{} //錄音結束回調 - (void) onEndOfSpeech{} //會話取消回調 - (void) onCancel{} ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看