赞助商

如何在swift中添加/更改语音语音性别到iOS应用程序?我正在使用AVSpeechSynthesisvoice Class来获取语音

发布时间:2019-05-15 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了如何在swift中添加/更改语音语音性别到iOS应用程序?我正在使用AVSpeechSynthesisvoice Class来获取语音脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用AVSpeechSynthesizer& amp;创建了一个具有语音功能的应用程序.在TableView中显示来自AVSpeechSynthesisVoice:speechVoices()函数的语言列表.用户可以从TableView中选择语音语言.

我想要实现的下一件事是添加语音性别,以便用户可以在Siri app中切换默认的男性或女性声音.我不想让它变得复杂,只是寻找默认的男性或女性声音.

从speechVoices()返回的声音具有特定于每个声音的默认男声或女声.

我能改变它吗?我在应用程序设置页面上放置了一个UIPickerView,用于选择男声和女声.

但是,我做了一些研究,但没有找到任何文件.似乎在最新的iOS版本之前没有这样的支持.

到目前为止,有没有人试图实现这样的功能?

解决方法

//NSArray* voices = AVSpeechSynthesisVoice.speechVoices;
    //voice identifier inspection reports
    //com.apple.ttsbundle.Samantha-compact
    //com.apple.speech.synthesis.voice
    //AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:text];
    //Replace hard-coded name with any available in the list pulled from the speechVoices array

    NSUInteger idx = [AVSpeechSynthesisVoice.speechVoices indexOfObjectPassingTest:^BOOL(AVSpeechSynthesisVoice * _Nonnull obj,NSUInteger idx,BOOL * _Nonnull stop) {
      return [obj.identifier containsString:@"Samantha"];
    }];
    if (idx > -1) {
      AVSpeechSynthesisVoice* voice = AVSpeechSynthesisVoice.speechVoices[idx];
      utterance.voice = voice;
    }

总结

以上是脚本之家为你收集整理的如何在swift中添加/更改语音语音性别到iOS应用程序?我正在使用AVSpeechSynthesisvoice Class来获取语音全部内容,希望文章能够帮你解决如何在swift中添加/更改语音语音性别到iOS应用程序?我正在使用AVSpeechSynthesisvoice Class来获取语音所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:76874919,请注明来意。
标签: