Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Can';t设置TTS';s通过按钮_Android_Button_Text To Speech - Fatal编程技术网

Android Can';t设置TTS';s通过按钮

Android Can';t设置TTS';s通过按钮,android,button,text-to-speech,Android,Button,Text To Speech,我试着通过按下一个按钮来设置TTS的段落,如音高和语速,但不知怎的,当我按下它时,一切都没有改变 看到下面的代码,我计划的是,一旦我按下按钮SetPara,\u音高和\u音速将设置为0.5,并且 tts.setPitch(_pitch); tts.setSpeechRate(_rate); 将TTS的音调和语音速率设置为0.5,但现在的问题是,在我按下SetPara按钮后,音调和语音速率没有改变 请帮帮我:)) 您需要为btnSetPara按钮设置单击侦听器 btnSetPara.setOnC

我试着通过按下一个按钮来设置TTS的段落,如音高和语速,但不知怎的,当我按下它时,一切都没有改变

看到下面的代码,我计划的是,一旦我按下按钮SetPara\u音高和\u音速将设置为0.5,并且

tts.setPitch(_pitch);
tts.setSpeechRate(_rate);
将TTS的音调和语音速率设置为0.5,但现在的问题是,在我按下SetPara按钮后,音调和语音速率没有改变

请帮帮我:))


您需要为btnSetPara按钮设置单击侦听器

btnSetPara.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View arg0) {

        SetPara();
    }

});  
您不需要setPara中的param视图

public void SetPara(){

_pitch = (float) 0.5;
_rate = (float) 0.5;
if (tts != null) {
    tts.setPitch(_pitch);
    tts.setSpeechRate(_rate);
    }
}  


private void speakOut() {

String text = txtText.getText().toString();

tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}

您需要在speak方法中设置Speech和setRate。实际上,最好将其设置为SETPARA,哪种错误?可能tts还没有初始化,应该在xml文件中设置btnSetPara disable并在onInit中启用。我很确定,因为当您按下onInit时,尚未调用onInit,所以请按照我的建议禁用该按钮,因为如果您按照您现在的建议将setSpeech和setRate放入speakDoing中,也会发生同样的情况:)这很有意义!
public void SetPara(){

_pitch = (float) 0.5;
_rate = (float) 0.5;
if (tts != null) {
    tts.setPitch(_pitch);
    tts.setSpeechRate(_rate);
    }
}  


private void speakOut() {

String text = txtText.getText().toString();

tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}