diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/AntiSpoofingKit/STCASVSNetworkingManager.m b/SpeechproSpeechKit/SpeechproSpeechKit/AntiSpoofingKit/STCASVSNetworkingManager.m index 5c53472..09172d4 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/AntiSpoofingKit/STCASVSNetworkingManager.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/AntiSpoofingKit/STCASVSNetworkingManager.m @@ -34,7 +34,7 @@ -(NSString *)request { -(void)inspect:(NSData *)sound withCompletionHandler:(CompletionHandler)completionHandler { self.voiceData = [NSData dataWithData:sound]; - [self obtainWithCompletionHandler:completionHandler]; + [self obtainWithCompletionHandler:completionHandler startSessionHandler:nil]; } @end diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/Common/Networking/STCNetworkingManager.h b/SpeechproSpeechKit/SpeechproSpeechKit/Common/Networking/STCNetworkingManager.h index 8cfbf93..e7369df 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/Common/Networking/STCNetworkingManager.h +++ b/SpeechproSpeechKit/SpeechproSpeechKit/Common/Networking/STCNetworkingManager.h @@ -46,12 +46,12 @@ typedef void (^CompletionHandler) ( NSError *error, NSObject *result); /** * Obtains data with current networking request */ --(void)obtainWithCompletionHandler:(CompletionHandler)completionHandler; +-(void)obtainWithCompletionHandler:(CompletionHandler)completionHandler startSessionHandler:(void (^)(void)) startSessionHandler; /** * Starts prerequest */ --(void)startingRequest; +-(void)startingRequest:(void (^)(void)) startSessionHandler; /** * Returns the current request url diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/Common/Networking/STCNetworkingManager.m b/SpeechproSpeechKit/SpeechproSpeechKit/Common/Networking/STCNetworkingManager.m index 42edd60..ad954fe 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/Common/Networking/STCNetworkingManager.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/Common/Networking/STCNetworkingManager.m @@ -27,7 +27,7 @@ @interface STCNetworkingManager() @interface STCNetworkingManager(Private) -(NSDictionary *)authorizationDataAsBody; --(void)startSession; +-(void)startSession:(void (^)(void)) startSessionHandler; -(void)closeSession; @end @@ -42,14 +42,14 @@ -(id)init { return self; } --(void)obtainWithCompletionHandler:(CompletionHandler)completionHandler{ +-(void)obtainWithCompletionHandler:(CompletionHandler)completionHandler startSessionHandler:(void (^)(void)) startSessionHandler{ self.completionHandler = completionHandler; - [self startingRequest]; + [self startingRequest: startSessionHandler]; } --(void)startingRequest { +-(void)startingRequest:(void (^)(void)) startSessionHandler { if ( self.sessionId == nil ) { - [self startSession]; + [self startSession: startSessionHandler]; return; } [self progressRequest]; @@ -102,7 +102,7 @@ -(void)progressRequest { @implementation STCNetworkingManager(Private) --(void)startSession { +-(void)startSession:(void (^)(void)) startSessionHandler { NSLog(@"start session %@",self.authorizationDataAsBody); NSURLSessionDataTask *task = [self taskPostRequestForURLString:self.sessionRequest withBody:self.authorizationDataAsBody @@ -116,11 +116,17 @@ -(void)startSession { self.completionHandler(responseError, nil); return ; } + + NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; self.sessionId = json[kSessionIdURLParam]; + + if (startSessionHandler != nil) { + startSessionHandler(); + } [self progressRequest]; }]; diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/DiarizationKit/Networking/STCDRZNetworkingManager.m b/SpeechproSpeechKit/SpeechproSpeechKit/DiarizationKit/Networking/STCDRZNetworkingManager.m index 7179a88..9753c97 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/DiarizationKit/Networking/STCDRZNetworkingManager.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/DiarizationKit/Networking/STCDRZNetworkingManager.m @@ -33,7 +33,7 @@ -(NSString *)request { -(void)diarize:(NSData *)sound withCompletionHandler:(CompletionHandler)completionHandler { self.voiceData = [NSData dataWithData:sound]; - [self obtainWithCompletionHandler:completionHandler]; + [self obtainWithCompletionHandler:completionHandler startSessionHandler:nil]; } @end diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/Packages/STCASRPackageListNetworkingManager.m b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/Packages/STCASRPackageListNetworkingManager.m index 634cb6d..5e4705f 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/Packages/STCASRPackageListNetworkingManager.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/Packages/STCASRPackageListNetworkingManager.m @@ -12,7 +12,7 @@ @implementation STCASRPackageListNetworkingManager -(void)obtainPackagesWithCompletionHandler:(CompletionHandler)completionHandler { - [self obtainWithCompletionHandler:completionHandler]; + [self obtainWithCompletionHandler:completionHandler startSessionHandler:nil]; } -(NSString *)request { diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/Recognize/STCASRRecognizeNetworkingManager.m b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/Recognize/STCASRRecognizeNetworkingManager.m index 435dbce..f679475 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/Recognize/STCASRRecognizeNetworkingManager.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/Recognize/STCASRRecognizeNetworkingManager.m @@ -42,7 +42,7 @@ -(NSString *)request { -(void)recognizeSpeech:(NSString *)speech64Base withCompletionHandler:(CompletionHandler)completionHandler { self.voice = speech64Base; - [self obtainWithCompletionHandler:completionHandler]; + [self obtainWithCompletionHandler:completionHandler startSessionHandler:nil]; } -(void)recognizeSpeech:(NSString *)speech64Base diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/StreamRecognize/STCASRStreamNetworkingManager.h b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/StreamRecognize/STCASRStreamNetworkingManager.h index 17ccf83..bf9eeee 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/StreamRecognize/STCASRStreamNetworkingManager.h +++ b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/StreamRecognize/STCASRStreamNetworkingManager.h @@ -25,7 +25,8 @@ * @param completionHandler The recognition completion handler */ -(void)startStreamWithPackage:(NSString *)package - withCompletionHandler:(CompletionHandler)completionHandler; + withCompletionHandler:(CompletionHandler)completionHandler + startSessionHandler:(void (^)(void)) startSessionHandler; /** * Closes the stream transaction and provides the finished result diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/StreamRecognize/STCASRStreamNetworkingManager.m b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/StreamRecognize/STCASRStreamNetworkingManager.m index 1c9a4e6..504d5dd 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/StreamRecognize/STCASRStreamNetworkingManager.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Networking/StreamRecognize/STCASRStreamNetworkingManager.m @@ -65,14 +65,15 @@ -(void)recognize { -(void)startStreamWithCompletionHandler:(CompletionHandler)completionHandler { self.package = nil; self.completionHandler = completionHandler; - [self obtainWithCompletionHandler:completionHandler]; + [self obtainWithCompletionHandler:completionHandler startSessionHandler:nil]; } -(void)startStreamWithPackage:(NSString *)package - withCompletionHandler:(CompletionHandler)completionHandler { + withCompletionHandler:(CompletionHandler)completionHandler + startSessionHandler:(void (^)(void)) startSessionHandler{ self.package = package; self.completionHandler = completionHandler; - [self obtainWithCompletionHandler:completionHandler]; + [self obtainWithCompletionHandler:completionHandler startSessionHandler:startSessionHandler]; } -(void)closeStreamWithCompletionHandler:(CompletionHandler)completionHandler { diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Recognizing/STCRecognizer.m b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Recognizing/STCRecognizer.m index 7ce576c..8de0650 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Recognizing/STCRecognizer.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Recognizing/STCRecognizer.m @@ -41,7 +41,7 @@ -(void)startWithCompletionHandler:(RecognizingCompletionHandler)completionHandle [self.voiceManager record]; } --(void)startWithPackage:(NSDictionary *)package withCompletionHandler:(RecognizingCompletionHandler)completionHandler { +-(void)startWithPackage:(NSDictionary *)package withCompletionHandler:(RecognizingCompletionHandler)completionHandler startSessionHandler:(void (^)(void)) startSessionHandler { self.package = package; [self configureVoicerManagerWithSampleRate:[package[@"sample_rate"] integerValue]]; self.recognizeCompletionHandler = completionHandler; diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/STCRecognizeKitImplementation.m b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/STCRecognizeKitImplementation.m index 99a857d..2721e1a 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/STCRecognizeKitImplementation.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/STCRecognizeKitImplementation.m @@ -63,13 +63,14 @@ -(void)streamWithCompletionHandler:(RecognizeCompletionHandler)completionHandler } -(void)streamWithPackage:(NSString *)package - withCompletionHandler:(RecognizeCompletionHandler)completionHandler { + withCompletionHandler:(RecognizeCompletionHandler)completionHandler + startSessionHandler:(void (^)(void)) startSessionHandler{ self.streamCompletionHandler = completionHandler; self.streamNetworkingManager = [[STCASRStreamNetworkingManager alloc] init]; - [self.streamNetworkingManager startStreamWithPackage:package withCompletionHandler:^(NSError *error, NSObject *result) { + [self.streamNetworkingManager startStreamWithPackage:package withCompletionHandler:^(NSError *error, NSObject *result){ NSDictionary *recognizeResult = (NSDictionary *)result; self.streamCompletionHandler(error, recognizeResult); - }]; + } startSessionHandler: startSessionHandler]; } -(void)closeStreamWithCompletionHandler:(RecognizeCompletionHandler)completionHandler { diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Streamer/STCStreamRecognizer.m b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Streamer/STCStreamRecognizer.m index 901970e..c29fc0c 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Streamer/STCStreamRecognizer.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/RecognizeKit/Streamer/STCStreamRecognizer.m @@ -28,7 +28,7 @@ @interface STCStreamRecognizer() @interface STCStreamRecognizer(Configure) -(void)configureVoiceManager; --(void)configureRecognizeKit; +-(void)configureRecognizeKit:(void (^)(void)) startSessionHandler; @end @@ -59,13 +59,13 @@ -(id)init { -(void)startWithCompletionHandler:(RecognizingCompletionHandler)completionHandler { self.package = nil; - [self configureRecognizeKit]; + [self configureRecognizeKit: nil]; self.recognizeCompletionHandler = completionHandler; } --(void)startWithPackage:(NSDictionary *)package withCompletionHandler:(RecognizingCompletionHandler)completionHandler{ +-(void)startWithPackage:(NSDictionary *)package withCompletionHandler:(RecognizingCompletionHandler)completionHandler startSessionHandler:(void (^)(void)) startSessionHandler{ self.package = package; - [self configureRecognizeKit]; + [self configureRecognizeKit: startSessionHandler]; self.recognizeCompletionHandler = completionHandler; } @@ -166,14 +166,14 @@ -(void)configureVoiceManager { }; } --(void)configureRecognizeKit { +-(void)configureRecognizeKit:(void (^)(void)) startSessionHandler { __weak typeof(self) weakself = self; self.recognizeKit = [[STCRecognizeKitImplementation alloc] init]; if (self.package!=nil) { [self.recognizeKit streamWithPackage:self.package[@"package_id"] withCompletionHandler:^(NSError *error, NSDictionary *result) { [weakself handleResult:result withError:error]; - }]; + } startSessionHandler: startSessionHandler]; } else { [self.recognizeKit streamWithCompletionHandler:^(NSError *error, NSDictionary *result) { [weakself handleResult:result withError:error]; diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/STCRecognizeKit.h b/SpeechproSpeechKit/SpeechproSpeechKit/STCRecognizeKit.h index 32b4af1..2c318e1 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/STCRecognizeKit.h +++ b/SpeechproSpeechKit/SpeechproSpeechKit/STCRecognizeKit.h @@ -64,7 +64,8 @@ withCompletionHandler:(RecognizeCompletionHandler)completionHandler; * @param completionHandler The response block called when the result is received */ -(void)streamWithPackage:(NSString *)package - withCompletionHandler:(RecognizeCompletionHandler)completionHandler; + withCompletionHandler:(RecognizeCompletionHandler)completionHandler + startSessionHandler:(void (^)(void)) startSessionHandler; /** * Closes the socket diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/STCRecognizing.h b/SpeechproSpeechKit/SpeechproSpeechKit/STCRecognizing.h index 39ce9c3..b28f5c0 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/STCRecognizing.h +++ b/SpeechproSpeechKit/SpeechproSpeechKit/STCRecognizing.h @@ -35,7 +35,8 @@ typedef void (^PeakPowerHandler) (Float32 peakPower); * @param completionHandler The recognition completion handler */ -(void)startWithPackage:(NSDictionary *)package - withCompletionHandler:(RecognizingCompletionHandler)completionHandler; + withCompletionHandler:(RecognizingCompletionHandler)completionHandler + startSessionHandler:(void (^)(void)) startSessionHandler; /** * Stops recording and recognizing diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Language/STCTTSLanguageNetworkingManager.m b/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Language/STCTTSLanguageNetworkingManager.m index 105f071..e1e143f 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Language/STCTTSLanguageNetworkingManager.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Language/STCTTSLanguageNetworkingManager.m @@ -13,7 +13,7 @@ @implementation STCTTSLanguageNetworkingManager -(void)obtainLanguagesWithCompletionHandler:(CompletionHandler)completionHandler { - [self obtainWithCompletionHandler:completionHandler]; + [self obtainWithCompletionHandler:completionHandler startSessionHandler:nil]; } -(NSString *)request { diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Stream/STCTTSStreamNetworkingManager.h b/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Stream/STCTTSStreamNetworkingManager.h index 5050da9..7deb7fc 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Stream/STCTTSStreamNetworkingManager.h +++ b/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Stream/STCTTSStreamNetworkingManager.h @@ -22,7 +22,8 @@ * @param completionHandler The synthesis completion handler */ -(void)streamWithVoice:(NSString *)voice - withCompletionHandler:(CompletionHandler)completionHandler; + withCompletionHandler:(CompletionHandler)completionHandler + startSessionHandler:(void (^)(void)) startSessionHandler; /** * Closes the stream transaction diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Stream/STCTTSStreamNetworkingManager.m b/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Stream/STCTTSStreamNetworkingManager.m index db059ae..dfd9823 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Stream/STCTTSStreamNetworkingManager.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Stream/STCTTSStreamNetworkingManager.m @@ -34,11 +34,12 @@ -(NSString *)request { } -(void)streamWithVoice:(NSString *)voice - withCompletionHandler:(CompletionHandler)completionHandler { + withCompletionHandler:(CompletionHandler)completionHandler + startSessionHandler:(void (^)(void)) startSessionHandler{ self.voice = voice; self.completionHandler = completionHandler; - [self startingRequest]; + [self startingRequest: startSessionHandler]; } -(void)progressRequest { diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Synthesize/STCTTSSynthesizeNetworkingManager.m b/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Synthesize/STCTTSSynthesizeNetworkingManager.m index d0c4019..885f9ef 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Synthesize/STCTTSSynthesizeNetworkingManager.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Synthesize/STCTTSSynthesizeNetworkingManager.m @@ -42,6 +42,6 @@ -(void)synthesizeText:(NSString *)text NSLog(@"%@",[text language]); - [self obtainWithCompletionHandler:completionHandler]; + [self obtainWithCompletionHandler:completionHandler startSessionHandler:nil]; } @end diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Voice/STCTTSVoiceNetworkingManager.m b/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Voice/STCTTSVoiceNetworkingManager.m index 6a428b8..471e936 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Voice/STCTTSVoiceNetworkingManager.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/Networking/Voice/STCTTSVoiceNetworkingManager.m @@ -20,7 +20,7 @@ @implementation STCTTSVoiceNetworkingManager -(void)obtainVoicesForLanguage:(NSString *)language withCompletionHandler:(CompletionHandler)completionHandler { self.language = language; - [self obtainWithCompletionHandler:completionHandler]; + [self obtainWithCompletionHandler:completionHandler startSessionHandler:nil]; } -(NSString *)request { diff --git a/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/STCSynthesizeKitImplementation.m b/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/STCSynthesizeKitImplementation.m index 3217ec3..6825af3 100644 --- a/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/STCSynthesizeKitImplementation.m +++ b/SpeechproSpeechKit/SpeechproSpeechKit/SynthesizeKit/STCSynthesizeKitImplementation.m @@ -157,7 +157,7 @@ -(void)streamWithVoice:(NSString *)voice NSString *url = [((NSDictionary *)result) objectForKey:@"url"]; self.streamCompletionHandler(nil, url); - }]; + } startSessionHandler:nil]; } -(void)closeStream:(StreamCompletionHandler)completionHandler {