1. 程式人生 > >iOS ---使用科大訊飛技術實現語音轉文字(語音聽寫)

iOS ---使用科大訊飛技術實現語音轉文字(語音聽寫)

本文主要介紹的是利用科大訊飛技術實現語音轉文字的功能(語音聽寫).

首先,註冊訊飛賬號,申請APPID

然後,下載科大訊飛SDK將開發工具包中lib目錄下的iflyMSC.framework新增到新建工程中.

按下圖新增SDK所需要的iOS(除iflyMSC.framework,iflyMSC.framework是拖進去的)


接著,在appDelegate中引入標頭檔案

#import “iflyMSC/IFlyRecognizerViewDelegate.h”

#import “iflyMSC/IFlyRecognizerView.h”

寫上程式碼

NSString *appid = @"********"

;//自己申請的appId

  NSString *initString = [NSString stringWithFormat:@"appid=%@",appid];

  [IFlySpeechUtility createUtility:initString];

在相應的viewController裡:

遵守協議<IFlyRecognizerViewDelegate>

@property (nonatomic,strong)IFlyRecognizerView *iflyRecognizerView;

- (void)viewDidLoad {

    [superviewDidLoad];

    self

.iflyRecognizerView = [[IFlyRecognizerView alloc]initWithCenter:self.view.center];

self.iflyRecognizerView.delegate = self;

    [self.viewaddSubview:self.iflyRecognizerView];

    [self.iflyRecognizerViewsetParameter@"iat"forKey:[IFlySpeechConstantIFLY_DOMAIN]];

//asr_audio_path保存錄音檔名,預設目錄是documents

    [

self.iflyRecognizerViewsetParameter@"asrview.pcm"forKey:[IFlySpeechConstantASR_AUDIO_PATH]];

//設定返回的資料格式為預設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

{

}

這樣就實現了利用科大訊飛語音轉文字的功能.