加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

AVSpeechSynthesizer – 如何检测点毫秒暂停(iPHONE – iPAD / i

发布时间:2020-12-14 17:42:50 所属栏目:百科 来源:网络整理
导读:我想读一篇很长的文字: NSString *text =@"Long test with dot. I want speaching pause when read dot. How can I do?";AVSpeechSynthesizer *synthesizer = [AVSpeechSynthesizer new];[synthesizer setDelegate:self];AVSpeechUtterance *utterance = [[
我想读一篇很长的文字:

NSString *text =@"Long test with dot. I want speaching pause when read dot. How can I do?";
AVSpeechSynthesizer *synthesizer = [AVSpeechSynthesizer new];
[synthesizer setDelegate:self];
AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:text];
        utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:[self.defaults objectForKey:LANGUAGE]];
        utterance.rate = 0.28;
        [synthesizer speakUtterance:utterance];

我想合成器检测点并暂停100毫秒.

可能吗?我能怎么做 ??

解决方法

我的意思是一个点(.)

但也许我找到了一个解决方案也是字符”,’:

NSString *text = @"Line one. LineTwo aftre a pause. Line three,pause here again.";
        text = [text stringByReplacingOccurrencesOfString:@"," withString:@"."];

        NSArray *a = [text componentsSeparatedByString:@"."];
        for(NSString *line in a)
           {
           AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:line];
           utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:[self.defaults objectForKey:LINGUA]];
           utterance.rate = 0.28;
           utterance.**postUtteranceDelay** = 0.3;
           [self.synthesizer speakUtterance:utterance];
           }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读