草庐IT

AVSpeechSynthesizer

全部标签

iphone - iOS 中的语音输出

是否可以访问用于辅助功能的iOS语音合成功能? 最佳答案 这是一个在iOS7上使用AVSpeechSynthesizer的例子:AVSpeechSynthesizer*synthesizer=[[AVSpeechSynthesizeralloc]init];AVSpeechUtterance*utterance=[AVSpeechUtterancespeechUtteranceWithString:@"HeyGuys"];[synthesizerspeakUtterance:utterance];要更改语音,请使用:utteranc

ios - 嗨,有没有办法让 AVSpeech 合成器在使用耳机播放音频的同时使用任一 channel 播放音频?

我需要的是单独使用左声道或右声道播放音频。我知道AVAudioPlayer可以使用pan属性使用任一channel播放音频。如果AVSpeechSynthesizer没有办法做到这一点,是否可以使用AVAudioPlayer播放语音以便控制channel?如果我能以某种方式获取AVSpeechUtterance的NSURL并使用AVAudioPlayer播放它?只有以前的类似问题:AnywaytocontrolwhichaudiochannelAVSpeechSynthesizeroutputsto?我发现没有得到回答,我在试图找到解决方案时一无所获。 最佳

ios - 使用 Text-To-Speech postUtteranceDelay 时回避背景音乐不会取消回避

问题:使用文本转语音时,我希望背景音频变暗(或“闪避”),说出一句话,然后取消闪避背景音频。它主要工作,但是当尝试取消闪避时,它会保持闪避状态而不会在停用时抛出错误。上下文和代码:说出话语的方法://CreatespeechutteranceAVSpeechUtterance*speechUtterance=[[AVSpeechUtterancealloc]initWithString:textToSpeak];speechUtterance.rate=instance.speechRate;speechUtterance.pitchMultiplier=instance.speech

ios - AVSpeechSynthesizer 高质量语音

是否可以将增强/高质量语音(美国的Alex)与语音合成器一起使用?我已经下载了声音,但找不到告诉合成器使用它而不是默认声音的方法。由于语音一般是通过BCP-47编码选择的,而且只有美式英语才有,看来没有办法进一步区分语音。我错过了什么吗?(有人会认为Apple可能考虑过对不同方言的需求,但我没有看到)。TIA。 最佳答案 是的,可以从我的系统上似乎可用的2个中进行选择,如下所示:classSpeak{letvoices=AVSpeechSynthesisVoice.speechVoices()letvoiceSynth=AVSpee

ios - AVSpeechSynthesizer 错误 : An AVSpeechUtterance shall not be enqueued twice

我有点卡住了。这是我的代码:letspeaker=AVSpeechSynthesizer()varplayQueue=[AVSpeechUtterance]()//currentqueuevarbackedQueue=[AVSpeechUtterance]()//queuebackup...funcmoveBackward(_currentUtterance:AVSpeechUtterance){speaker.stopSpeaking(at:.immediate)letcurrentIndex=getCurrentIndexOfText(currentUtterance)//outo

iOS - AVSpeechSynthesizer 暂停和继续说话问题

macOS:Mojave10.14.4betaiOS:12.2betaXcode:10.2beta我正在使用AVSpeechSynthesizer但下面的代码没有从暂停的地方恢复。//Thepausefunctionalityworksfineif(synth.isSpeaking){synth.pauseSpeaking(at:AVSpeechBoundary.word)}//ButcontinueSpeakingalwaysstartingfromthebeginning.if(synth.isPaused){synth.continueSpeaking();}如何从我离开的地方继

ios - 在 Swift 的 AVSpeech 和 AVSpeechUtterance 中强制自定义单词发音

为了使用AVSpeechUtterance说出数字,我希望Siri以符合数字类型约定的方式说出数字。对于日期,我希望它把1492读成十四九十二,而不是一千、四百、九十二。对于电话号码650-412-3456,我想说六五哦,四一二三四五六,而不是六百五十四百一十二三四百五十六。是否有使用AVSpeech和AVUtterance指定发音的方法?thedocs中似乎没有任何明显的东西。 最佳答案 虽然不是AV设置,但为说话者解析短语会得到预期的结果。例如,使用下面的扩展:letnumber="1492"letphrase=number.s

ios - AVSpeechSynthesizer 需要在重新开始之前完成

如果我有一个按钮,每次按下它时AVSpeechSynthesizer都会说“HelloWorld”,那么在完成第一个文本到语音字符串之前,声音不会再次开始说话。我如何选择以下两个选项?当我点击按钮时,让它打断之前的语音字符串并重新开始让它在前一个之上说话(即多个声音同时说话)这就是我现在正在做的事情。使用这个,按钮不会再次开始说话,直到前一个按钮按下结束说话:@IBActionfunchelloButton(sender:AnyObject){letutterance=AVSpeechUtterance(string:"HelloWorld")letsynthesizer=AVSpee

ios - 应用程序运行时将 iPhone 的音量控制转移到应用程序

我正在使用AVSpeechSynthesizer在我的应用程序中将文本转换为语音。此应用程序会在一定时间间隔后读取文本。每当应用程序说话时,如果我按下设备的音量按钮,它会改变当前语音的音量以及设备的媒体音量。(即,如果正在播放任何音乐并且AVSpeechSynthesizer开始说话,音乐会暂停并在语音结束后立即恢复。所以同时如果我改变音量,它也会应用于音乐播放器的音量。)那么是否可以强制音量控制按钮在应用程序运行时单独更改应用程序音量?附言。该应用适用于iOS8.0+。如有任何帮助,我们将不胜感激。谢谢。 最佳答案 不,您不能拦截

swift - 在 macOS Mojave 上,在 cocoa 应用程序中,如何使用 AVSpeechSynthesizer?

AVSpeechSynthesizerismarkedasavailableonmacOSMojavebeta.以前它仅适用于iOS、tvOS和watchOS。但是如果我在Xcode10中准备一个小的macOS测试项目,它会给我一个错误“使用未解析的标识符‘AVSpeechSynthesizer’”。在顶部,我有:importCocoaimportNaturalLanguageimportAVFoundation我的代码是:letstring="Mickeymousewenttotown"letrecognizer=NLLanguageRecognizer()recognizer.pr