首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得当前的TTS引擎?

如何获得当前的TTS引擎?
EN

Stack Overflow用户
提问于 2017-12-04 16:20:27
回答 1查看 292关注 0票数 1

在具有多个TTS引擎的设备中,用户可以在以下代码之后选择要使用的引擎。

代码语言:javascript
复制
Intent checkIntent = new Intent();
checkIntent.setAction( TextToSpeech.Engine.ACTION_CHECK_TTS_DATA );
startActivityForResult( checkIntent, CHECK_TTS_DATA );

有没有办法知道用户选择哪个引擎?

EN

回答 1

Stack Overflow用户

发布于 2022-04-08 09:07:47

我在这里找到了一个解决方案,https://www.programcreek.com/java-api-examples/?code=google%2Fbrailleback%2Fbrailleback-master%2Fbraille%2Flibraries%2Futils%2Fsrc%2Fcom%2Fgooglecode%2Feyesfree%2Futils%2FTtsEngineUtils.java#

可以使用类getDefaultEngine中的方法TtsEngineUtils。

代码语言:javascript
复制
    public static String getDefaultEngine(Context context) {
        final ContentResolver resolver = context.getContentResolver();
        final String defaultEngine = Settings.Secure.getString(
                resolver, Settings.Secure.TTS_DEFAULT_SYNTH);
        if (isEngineInstalled(context, defaultEngine)) {
            return defaultEngine;
        }

        // Fall back on the highest-ranked system engine.
        final TtsEngineInfo engine = getHighestRankedEngine(context);
        if (engine != null) {
            return engine.name;
        }

        return null;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47637635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档