NSKRecognizer
@interface NSKRecognizer : NSObject
NSKRecognizer는 네이버 음성인식 서비스를 사용할 수 있도록 client 역할을 제공합니다. 네이버 음성인식은 server와 client간의 통신으로 구성되어 있고, client는 음성을 입력 받아 server로 전송하고, server로부터 인식 결과를 받는 역할을 합니다. 따라서 network 연결과 앱에서 마이크에 대한 접근 허용이 필요합니다. 음성인식 수행 과정은 아래의 state diagram과 같습니다.
State가 바뀔 때 마다 NSKRecognizerDelegate protocol의 각 state에 해당하는 messege를 받습니다.
-
NSKRecognizerDelegate protocol을 구현한 delegate
Declaration
Objective-C
@property (readwrite, nonatomic) id<NSKRecognizerDelegate> delegate;
Swift
weak var delegate: NSKRecognizerDelegate! { get set }
-
음성인식기의 동작 상태
Declaration
Objective-C
@property (readonly, getter=isRunning, nonatomic) BOOL running;
Swift
var isRunning: Bool { get }
-
See
NSKRecognizerConfigurationDeclaration
Objective-C
- (instancetype)initWithConfiguration: (NSKRecognizerConfiguration *)aConfiguration;
Swift
init!(configuration aConfiguration: NSKRecognizerConfiguration!)
Parameters
aConfiguration
NSKRecognizerConfiguration 음성인식기 설정값
Return Value
음성인식기 instance
-
음성인식기를 동작시킵니다. 해당 method가 호출되면 background로 audio 자원을 할당하고 network를 연결합니다. 모든 준비가 완료되면 음성인식을 수행합니다.
See
NSKRecognizerLanguageCodeDeclaration
Objective-C
- (BOOL)startWithLanguageCode:(id)aLanguageCode;
Swift
func start(with aLanguageCode: NSKRecognizerLanguageCode) -> Bool
Parameters
aLanguageCode
NSKRecognizerLanguageCode 인식하고자 하는 언어
Return Value
성공유무
-
음성인식기의 동작을 중지시킵니다. 음성인식 서버로 부터 최종 결과를 받은 후 종료됩니다. 네트워크 환경에 따라 최종 결과 수신 및 종료가 지연될 수 있습니다.
Declaration
Objective-C
- (BOOL)stop;
Swift
func stop() -> Bool
Return Value
성공유무
-
음성인식기의 동작을 취소합니다. 즉시 음성인식의 모든 동작을 정지시키며 결과를 받지 않습니다. - warning: 취소에 대한 별도의 delegate method가 호출되지 않습니다.
Declaration
Objective-C
- (BOOL)cancel;
Swift
func cancel() -> Bool
Return Value
성공유무
-
음성인식기의 EPD(End Point Detection)Type을 선택할 수 있습니다. - warning: 설정의 EPDType이 hybrid인 경우에만 정상동작 합니다.
Declaration
Objective-C
- (BOOL)setEPDType:(id)aEPDType;
Swift
func setEPDType(_ aEPDType: NSKEPDType) -> Bool
Return Value
성공유무