175 lines
7.0 KiB
C
Raw Normal View History

2018-07-25 10:03:54 +08:00
//
// IFlySpeechRecognizer.h
// MSC
//
// Created by iflytek on 13-3-19.
// Copyright (c) 2013年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "IFlySpeechRecognizerDelegate.h"
#define IFLY_AUDIO_SOURCE_MIC @"1"
#define IFLY_AUDIO_SOURCE_STREAM @"-1"
/*!
*
* 使release/dealloc函数去释放此对象
*/
@interface IFlySpeechRecognizer : NSObject<IFlySpeechRecognizerDelegate>
/** 设置委托对象 */
@property(nonatomic,assign) id<IFlySpeechRecognizerDelegate> delegate ;
/*!
*
*
* @return
*/
+ (instancetype) sharedInstance;
/*!
*
*
* @return YES,NO
*/
- (BOOL) destroy;
/*
* | ------------- |-----------------------------------------------------------
* | |
* | ------------- |-----------------------------------------------------------
* | domain |: :iatsearchvideopoimusicasr
* | | iat
* | | search
* | | video
* | | asr;
* | ------------- |-----------------------------------------------------------
* | vad_bos |: ms
* | | engine指定iat识别默认值为5000
* | | 4000 0-10000
* | ------------- |-----------------------------------------------------------
* | vad_eos |: ,,
* | | :ms;
* | | sms 1800;
* | | 700 0-10000
* | ------------- |-----------------------------------------------------------
* | sample_rate |: 16000 8000
* | ------------- |-----------------------------------------------------------
* | asr_ptt |: 1 0
* | ------------- |-----------------------------------------------------------
* | result_type |: jsonxmlplainjson
* | ------------- |-----------------------------------------------------------
* | grammarID |id: domain asr
* | ------------- |-----------------------------------------------------------
* | asr_audio_path|:
* | | Documents/()
* | | nil
* | ------------- |-----------------------------------------------------------
* | params |:
* | ------------- |-----------------------------------------------------------
*
*/
/*!
*
* (key)
* <table>
* <thead>
* <tr><th>*</th><th><em></em></th>
* </tr>
* </thead>
* <tbody>
* <tr><td>domain</td><td>: :iatsearchvideopoimusicasr<br/>iat<br/>search<br/>video<br/>video<br/>asr;</td></tr>
* <tr><td>vad_bos</td><td>: ms<br/>engine指定iat识别默认值为5000<br/> 4000 0-10000</td></tr>
* <tr><td>vad_eos</td><td>: ,,<br/>:ms;<br/>sms 1800;<br/> 700 0-10000</td></tr>
* <tr><td>sample_rate</td><td>: 16000 8000</td></tr>
* <tr><td>asr_ptt</td><td>: 1 0 </td></tr>
* <tr><td>result_type</td><td>: jsonxmlplainjson</td></tr>
* <tr><td>grammarID</td><td>id: domain asr</td></tr>
* <tr><td>asr_audio_path</td><td>: <br/> Documents/()<br/>nil</td></tr>
* <tr><td>params</td><td>: </td></tr>
* </tbody>
* </table>
* @param value
* @param key
*
* @return YESNO
*/
-(BOOL) setParameter:(NSString *) value forKey:(NSString*)key;
/*!
*
*
* @param key key
*
* @return
*/
-(NSString*) parameterForKey:(NSString *)key;
/*!
*
*
* onError回调返回后请求下一路回话
*
* @return YESNO
*/
- (BOOL) startListening;
/*!
*
*
*/
- (void) stopListening;
/*!
*
*/
- (void) cancel;
/*!
*
*
* @param completionHandler
* @param grammarType
* @param grammarContent
*
* @return
*/
- (int) buildGrammarCompletionHandler:(IFlyOnBuildFinishCompletionHandler)completionHandler
grammarType:(NSString *)grammarType
grammarContent:(NSString *)grammarContent;
/** 是否正在识别
*/
@property (nonatomic, readonly) BOOL isListening;
@end
/*!
*
*
*/
@interface IFlySpeechRecognizer(IFlyStreamRecognizer)
/*!
*
* 使:
* <pre><code>[_iFlySpeechRecognizer setParameter:@"audio_source" value:@"-1"];
* [_iFlySpeechRecognizer startListening];
* [_iFlySpeechRecognizer writeAudio:audioData1];
* [_iFlySpeechRecognizer writeAudio:audioData2];
* ...
* [_iFlySpeechRecognizer stopListening];
* </code></pre>
*
* @param audioData
*
* @return YESNO
*/
- (BOOL) writeAudio:(NSData *) audioData;
@end