当前位置: 首页 > 知识库问答 >
问题:

使用AVSpeechSynthesizer的iOS文本到语音

林和畅
2023-03-14

我正在iOS应用程序中使用AVSpeechSynthesizer进行文本到语音转换。

语音合成器在所有设备上都运行良好,除了运行iOS9.0.2的iPad 2(型号A1395)。我使用Xcode 7.0.1。

问题是,在播放文本时说"希望"字母"p"要么真的很安静,要么不播放,用户只能听到"ho"。如果文本是“希望”,那么它播放正确。

有没有办法解决这个问题?

共有1个答案

唐修能
2023-03-14

有一些参数(语音、速率…)这需要设置,我已经在ios9中遇到了一些bug,其中一些代码直接用于以前的iOS。这是我初始化AVSpeechSynthesizer的代码:

NSString*str = @"hope";
AVSpeechSynthesizer*    synth = [[AVSpeechSynthesizer alloc] init];
AVSpeechUtterance *utterance = [AVSpeechUtterance
                                        speechUtteranceWithString: str];
utterance.rate = AVSpeechUtteranceDefaultSpeechRate;
NSString*lang = @"en-US"
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:lang];
[synth speakUtterance:utterance];

例如,你能在你的iPad2上试试这个代码吗?

 类似资料:
  • 带有en-us语音的AVSpeechsynthesizer是“A”的发音,是“大写字母A”,但只想要“A”,怎么能做到呢?

  • 我似乎在这上面找不到任何东西。iOS7中是否有任何Siri类或API允许您进行文本到语音转换?我所要做的就是如下所示: 然后让Siri从我的应用程序中说出来。 看来我们应该有能力做到这一点,不是吗?似乎是一件微不足道的事情。

  • 我想在说文本时改变语速,以了解速度有多快。 我测试了以下两种方式,但语速没有变化。

  • 我是快速和iOS应用程序开发的新手。我正在使用AVSpeechSynthesiser创建一个文本到语音应用程序。我想设置一个字符串说在英语,但我希望它把那个特定的字符串翻译成语音,但在不同的语言,如阿拉伯语。我是否能够使用AVSpeechSynthesizer做到这一点,或者我需要使用翻译API来做到这一点。 谢谢你

  • 我正在尝试用libgdx在iOS上开发一个应用程序。我想用文字来表达,但我找不到任何相关的东西。 我该怎么做? 谢啦

  • 我想用nodejs和googlespeech-to-text api制作一个实时转录应用程序。 我正在使用RecordRTC和socket。io将音频块获取到后端服务器。目前,我正在录制1秒长的块,并且转录工作正常,但它没有将其视为流,而是在处理每个块后发送响应。这意味着我要收回半句话,谷歌无法利用上下文帮助自己识别演讲。 我的问题是,如何让谷歌将我的块视为一个连续的流。或者是否有其他解决方案可以