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

首頁 > 系統 > iOS > 正文

為textView添加語音輸入功能的實例代碼(集成訊飛語音識別)

2019-10-21 18:42:09
字體:
來源:轉載
供稿:網友

非常感謝大家利用自己寶貴的時間來閱讀我的文章 , 今天給大家帶來的是一個集成訊飛語音識別功能的小demo,為textview添加一個語音輸入的功能,相信在這個智能化趨勢的大環境的下,很多人能用得到這個功能。如果需要的話希望能幫到你 , 當然, 有任何不妥的地方 歡迎指正。

先上demo --->XunFeiDemo

效果展示:

textView,添加,語音輸入,集成訊飛,語音識別

功能實現,sdk中提供了兩種方式,一種是帶界面的語音識別,有一個識別語音的動畫的界面效果。另一種是無界面的。我這里使用的是帶界面的,不帶界面的自己可以去看一下,大同小異

第一步:去訊飛開發者平臺注冊賬號、創建應用、下載SDK、拖入項目

第二步:添加依賴庫

libz.tbdAVFoundation.frameworkSystemConfiguration.frameworkFoundation.frameworkCoreTelephony.frameworkAudioToolbox.frameworkUIKit.frameworkAddressBook.frameworkCoreLocation.frameworkCoreGraphics.framework

第三步:AppDelegate配置

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //存儲路徑 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *cachePath = [paths objectAtIndex:0]; [IFlySetting setLogFilePath:cachePath]; //創建語音配置,appid必須要傳入,僅執行一次則可 NSString *initString = [[NSString alloc] initWithFormat:@"appid=%@",@"你的appid"]; //所有服務啟動前,需要確保執行createUtility [IFlySpeechUtility createUtility:initString];}

第四步:把demo里的ISRDataHelper.h及.m文件拖入項目中

第五步:控制器代碼

1、引用頭文件

#import "iflyMSC/IFlyMSC.h"  #import "ISRDataHelper.h" 

2、初始化_iflyRecognizerView

//有界面-(void)initRecognizer{ //單例模式,UI的實例 if (_iflyRecognizerView == nil) {  //UI顯示劇中  _iflyRecognizerView= [[IFlyRecognizerView alloc] initWithCenter:self.view.center];  [_iflyRecognizerView setParameter:@"" forKey:[IFlySpeechConstant PARAMS]];  //設置聽寫模式  [_iflyRecognizerView setParameter:@"iat" forKey:[IFlySpeechConstant IFLY_DOMAIN]]; } _iflyRecognizerView.delegate = self; if (_iflyRecognizerView != nil) {  //設置最長錄音時間  [_iflyRecognizerView setParameter:@"30000" forKey:[IFlySpeechConstant SPEECH_TIMEOUT]];  //設置后端點 3000  [_iflyRecognizerView setParameter:@"3000" forKey:[IFlySpeechConstant VAD_EOS]];  //設置前端點 3000  [_iflyRecognizerView setParameter:@"3000" forKey:[IFlySpeechConstant VAD_BOS]];  //設置采樣率,推薦使用16K 16000  [_iflyRecognizerView setParameter:@"16000" forKey:[IFlySpeechConstant SAMPLE_RATE]];  //  if ([instance.language isEqualToString:[IATConfig chinese]]) {  //   //設置語言 zh_cn  [_iflyRecognizerView setParameter:@"zh_cn" forKey:[IFlySpeechConstant LANGUAGE]];  //   //設置方言 mandarin  [_iflyRecognizerView setParameter:@"mandarin" forKey:[IFlySpeechConstant ACCENT]];  //  }else if ([instance.language isEqualToString:[IATConfig english]]) {  //   //設置語言  //   [_iflyRecognizerView setParameter:instance.language forKey:[IFlySpeechConstant LANGUAGE]];  //  }  //  //設置是否返回標點符號 0  [_iflyRecognizerView setParameter:@"1" forKey:[IFlySpeechConstant ASR_PTT]]; }}

3、按鈕點擊響應

-(void)startBtn{   if (_iflyRecognizerView == nil) {    [self initRecognizer ];   }   //設置音頻來源為麥克風   [_iflyRecognizerView setParameter:IFLY_AUDIO_SOURCE_MIC forKey:@"audio_source"];   //設置聽寫結果格式為json   [_iflyRecognizerView setParameter:@"plain" forKey:[IFlySpeechConstant RESULT_TYPE]];   //保存錄音文件,保存在sdk工作路徑中,如未設置工作路徑,則默認保存在library/cache下   [_iflyRecognizerView setParameter:@"asr.pcm" forKey:[IFlySpeechConstant ASR_AUDIO_PATH]];   [_iflyRecognizerView start];  } 

4、代理方法,結果解析

- (void)onResult:(NSArray *)resultArray isLast:(BOOL)isLast{ NSMutableString *result = [[NSMutableString alloc] init]; NSDictionary *dic = [resultArray objectAtIndex:0]; for (NSString *key in dic) {  [result appendFormat:@"%@",key]; }  self.textField.text =[NSString stringWithFormat:@"%@%@",_textField.text,result]; [_iflyRecognizerView cancel];}- (void)onError: (IFlySpeechError *) error{ NSLog(@"識別出錯");}

恩,理論上到這里就算完成~,這里僅提供一個參考,具體使用請查看集成文檔

以上這篇為textView添加語音輸入功能的實例代碼(集成訊飛語音識別)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三原县| 汉阴县| 灌云县| 厦门市| 邳州市| 安龙县| 韶山市| 乳山市| 江山市| 团风县| 广灵县| 东乡县| 肃北| 天柱县| 同心县| 新巴尔虎左旗| 南京市| 舒兰市| 鄂尔多斯市| 内江市| 长岛县| 宿松县| 清涧县| 邓州市| 涞源县| 宁化县| 外汇| 马关县| 江孜县| 许昌县| 襄樊市| 错那县| 南部县| 那坡县| 酉阳| 邵武市| 都匀市| 铁岭县| 弥勒县| 鸡西市| 海原县|