我正在尝试使用UIWebView在我的iOS应用中执行一些简单的TTS(文本到语音)。据我了解,iOS 7 WebKit现在支持它,因此以下工作原理:

   - (void) speakThis: (NSString*) text {
        [webview stringByEvaluatingJavaScriptFromString:
        [NSString stringWithFormat:
           @"speechSynthesis.speak(new SpeechSynthesisUtterance(\"%@\"));",
              text]];
    }


但是我也想在javascript中设置语速,音调和音量。我将如何一站式完成所有工作。

我知道我可以设置如下属性:

var speech = new SpeechSynthesisUtterance();
speech.text = "Hello";
speech.volume = 1; // 0 to 1
speech.rate = 1; // 0.1 to 9
speech.pitch = 1; // 0 to 2, 1=normal
speech.lang = "en-US";
speechSynthesis.speak(speech);


但是当我打电话时,我想在一个init中传递音调,音量和速率


  新的SpeechSynthesisUtterance(“”)


有人帮忙吗?

最佳答案

您不需要使用UIWebView。我只是对此进行调查,发现了API文档:https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVSpeechSynthesizer_Ref/Reference/Reference.html#//apple_ref/occ/cl/AVSpeechSynthesizer

09-20 21:51
查看更多