android 自带语音播报功能 tts的使用

    在一些项目中,越来越多的涉及到语音播报功能,如果使用三方平台的sdk,很多都是要收费的,且价格不菲。那么这个时候tts的功能就显得尤为重要,而且基本可以满足大部分场景的需求。
    下面我介绍一下tts的使用,现在的手机基本都带有tts功能,其中市场上部分的商业工控机tts功能是被切割掉的。如果想更换语音的引擎,可以从app商店下载安装,以供选择使用。而tts的代码是非常简洁的,如下

private TextToSpeech tts;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tts = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
        @Override
        public void onInit(int status) {
            if (status == TextToSpeech.SUCCESS) {
                int result = tts.setLanguage(Locale.CHINA);
                if (result != TextToSpeech.LANG_COUNTRY_AVAILABLE && result != TextToSpeech.LANG_AVAILABLE) {
                    Toast.makeText(MainActivity.this, "TTS不支持", Toast.LENGTH_SHORT).show();
                }
            }
        }
    });
    findViewById(R.id.tx).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            tts.setPitch(1.5f); 
            tts.speak("中华人民共和国万岁", TextToSpeech.QUEUE_FLUSH, null);
        }
    });
}

相信看了这个demo,大家基本就了解会使用了,非常简单,基本不需要说明。

你可能感兴趣的:(android)