iOS ---使用科大訊飛技術實現語音轉文字(語音聽寫)
本文主要介紹的是利用科大訊飛技術實現語音轉文字的功能(語音聽寫).
首先,註冊訊飛賬號,申請APPID然後,下載科大訊飛SDK將開發工具包中lib目錄下的iflyMSC.framework新增到新建工程中.
按下圖新增SDK所需要的iOS庫。(除iflyMSC.framework,iflyMSC.framework是拖進去的)
接著,在appDelegate中引入標頭檔案
#import “iflyMSC/IFlyRecognizerViewDelegate.h”
#import “iflyMSC/IFlyRecognizerView.h”
寫上程式碼
NSString *appid = @"********"
NSString *initString = [NSString stringWithFormat:@"appid=%@",appid];
[IFlySpeechUtility createUtility:initString];
在相應的viewController裡:
遵守協議<IFlyRecognizerViewDelegate>
@property (nonatomic,strong)IFlyRecognizerView *iflyRecognizerView;
- (void)viewDidLoad {
[superviewDidLoad];
self
self.iflyRecognizerView.delegate = self;
[self.viewaddSubview:self.iflyRecognizerView];
[self.iflyRecognizerViewsetParameter: @"iat"forKey:[IFlySpeechConstantIFLY_DOMAIN]];
//asr_audio_path保存錄音檔名,預設目錄是documents
[
//設定返回的資料格式為預設plain
[self.iflyRecognizerViewsetParameter:@"plain"forKey:[IFlySpeechConstantRESULT_TYPE]];
[selfstartListenning:self.iflyRecognizerView];//可以建一個按鈕,點選按鈕呼叫此方法
}
- (void)startListenning:(id)sender{
[self.iflyRecognizerViewstart];
NSLog(@"開始識別");
}
//返回資料處理
- (void)onResult:(NSArray *)resultArray isLast:(BOOL)isLast
{
NSMutableString *result = [NSMutableStringnew];
NSDictionary *dic = [resultArray objectAtIndex:0];
NSLog(@"DIC:%@",dic);
for (NSString *key in dic) {
[result appendFormat:@"%@",key];
}
//把相應的控制元件賦值為result.例如:label.text = result;
}
- (void)onError:(IFlySpeechError *)error
{
}
這樣就實現了利用科大訊飛語音轉文字的功能.