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

首頁 > 系統 > iOS > 正文

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

2020-07-26 02:31:45
字體:
來源:轉載
供稿:網友

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

先上demo --->XunFeiDemo

效果展示:

功能實現,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添加語音輸入功能的實例代碼(集成訊飛語音識別)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 萝北县| 铁岭市| 仪陇县| 湾仔区| 济源市| 梧州市| 镇坪县| 西畴县| 同江市| 陇川县| 兰西县| 西林县| 延长县| 怀仁县| 郯城县| 大渡口区| 如皋市| 寻乌县| 武义县| 呼伦贝尔市| 余干县| 砀山县| 新和县| 昭觉县| 枞阳县| 泽州县| 荥阳市| 平乐县| 尖扎县| 房产| 江阴市| 舟山市| 定兴县| 准格尔旗| 偏关县| 石河子市| 广东省| 平遥县| 临泉县| 清丰县| 博兴县|