title: An issue with AVSpeechSynthesizer, Any workarounds?
body: <p>I am using AVSpeechSynthesizer to play text. I have an array of utterances to play. </p>
  
  <pre><code>    NSMutableArray *utterances = [[NSMutableArray alloc] init];
      for (NSString *text in textArray) {
          AVSpeechUtterance *welcome = [[AVSpeechUtterance alloc] initWithString:text];
          welcome.rate = 0.25;
          welcome.voice = voice;
          welcome.pitchMultiplier = 1.2;
          welcome.postUtteranceDelay = 0.25;
          [utterances addObject:welcome];
      }
      lastUtterance = [utterances lastObject];
      for (AVSpeechUtterance *utterance in utterances) {
          [speech speakUtterance:utterance];
      }
  </code></pre>
  
  <p>I have a cancel button to stop speaking. When I click the cancel button when the first utterance is spoken, the speech stops and it clears all the utterances in the queue. If I press the cancel button after the first utterance is spoken (i.e. second utterance), then stopping the speech does not flush the utterances queue. The code that I am using for this is:</p>
  
  <pre><code>  [speech stopSpeakingAtBoundary:AVSpeechBoundaryImmediate];
  </code></pre>
  
  <p>Can someone confirm if this is a bug in the API or am I using the API incorrectly? If it is a bug, is there any workaround to resolve this issue?</p>