Android TextToSpeech从系统获取语音速率
我有一个Android电视应用程序,运行在Fire电视棒上。我已经初始化了一个Android TextToSpeech从系统获取语音速率,android,text-to-speech,android-accessibility,amazon-fire-tv,android-tts,Android,Text To Speech,Android Accessibility,Amazon Fire Tv,Android Tts,我有一个Android电视应用程序,运行在Fire电视棒上。我已经初始化了一个TextToSpeech引擎,并通过speak函数调用它。我的问题是,当我在设置中更改语音速率时,语音速率(对讲速度)不会改变。我知道我可以使用setSpeechRate(rate)将语音速率设置为我喜欢的浮动,但我想知道如何从系统中获取速率 到目前为止,我已尝试使用: Settings.Secure.getString(contentResolver,Settings.Secure.TTS\u DEFAULT\u R
TextToSpeech
引擎,并通过speak
函数调用它。我的问题是,当我在设置中更改语音速率时,语音速率(对讲速度)不会改变。我知道我可以使用setSpeechRate(rate)
将语音速率设置为我喜欢的浮动,但我想知道如何从系统中获取速率
到目前为止,我已尝试使用:
Settings.Secure.getString(contentResolver,Settings.Secure.TTS\u DEFAULT\u RATE)返回null
和Settings.Secure.getInt(contentResolver,Settings.Secure.TTS\u DEFAULT\u RATE)
抛出一个SettingNotFound
错误。如果我给它一个回退值,无论我如何更改系统VoiceView设置,它都将始终使用该值。我的代码大致执行以下操作:
TextToSpeech引擎=新的TextToSpeech(上下文,此);
ContentResolver ContentResolver=context.getContentResolver();
int speechRate=Settings.Secure.getInt(contentResolver,Settings.Secure.TTS\u DEFAULT\u RATE,100);
发动机。设定转速((浮动)(speechRate/100));
speak(“这是一个示例句子”,QUEUE_FLUSH,null,outtanceid);
我对写入设置犹豫不决,因为1)我不想要求额外的写入权限;2) 即使我写信给它,似乎更改系统设置也不会更改此设置,这是我的最终目标
是否有其他方法可以获得Android中的辅助功能设置,如VoiceView速度?您的代码似乎正确:mdefaultte=Android.provider.settings.Secure.getInt(解析程序,TTS默认速率);这是谷歌如何提取默认利率根据感谢回应!FireTV的功能似乎与其他Android电视设备稍有不同,如果确实使用了这些设置,则不会使用相同的安全设置。