diff --git a/SpeechSynthesizer.m b/SpeechSynthesizer.m index f7de53c..b98f543 100644 --- a/SpeechSynthesizer.m +++ b/SpeechSynthesizer.m @@ -1,9 +1,12 @@ #import "SpeechSynthesizer.h" #import "RCTUtils.h" #import "RCTLog.h" +#import "RCTEventDispatcher.h" @implementation SpeechSynthesizer +@synthesize bridge = _bridge; + RCT_EXPORT_MODULE() // Speak @@ -116,6 +119,7 @@ -(void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didFinishSpeechUtter { NSLog(@"Speech finished"); self.synthesizer = nil; + [self.bridge.eventDispatcher sendAppEventWithName:@"FinishSpeechUtterance" body:@{}]; } // Started Handler @@ -146,6 +150,7 @@ -(void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer willSpeakRangeOfSpee -(void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didCancelSpeechUtterance:(AVSpeechUtterance *)utterance { NSLog(@"Speech cancelled"); + self.synthesizer = nil; } @end