Java 在android中启动新活动时将文本转换为语音
我想在安卓系统中使用文本到语音,不用点击按钮就可以阅读文本字段。我真正想要的是,当启动文本到语音转换器时,在文本字段上显示文本,有人能帮我吗?在使用此代码时出现错误,我想替换这行代码“t1.speak(toSpeak,TextToSpeech.QUEUE_FLUSH,null);”请帮助 您可以使用这个,这里有一些关于文本到语音转换的有用信息Java 在android中启动新活动时将文本转换为语音,java,android,android-studio,google-text-to-speech,Java,Android,Android Studio,Google Text To Speech,我想在安卓系统中使用文本到语音,不用点击按钮就可以阅读文本字段。我真正想要的是,当启动文本到语音转换器时,在文本字段上显示文本,有人能帮我吗?在使用此代码时出现错误,我想替换这行代码“t1.speak(toSpeak,TextToSpeech.QUEUE_FLUSH,null);”请帮助 您可以使用这个,这里有一些关于文本到语音转换的有用信息 @Override protected void onCreate(Bundle savedInstanceState) { su
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image_preview);
touch_color = (TextView) findViewById(R.id.touch_color);
picTaken = (ImageView) findViewById(R.id.picTaken);
// bitmap = fixRotation(MainActivity.IMG_FILE);
//picTaken.setImageBitmap(bitmap);
String toSpeak = touch_color.getText().toString();
t1.speak(toSpeak, TextToSpeech.QUEUE_ADD, null);
t1 = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status != TextToSpeech.ERROR) {
t1.setLanguage(Locale.US);
t1.setLanguage(Locale.UK);
}
}
});
}
public void onPause() {
if (t1 != null) {
t1.stop();
t1.shutdown();
}
super.onPause();
}
Run c
您可以使用下面的代码段来实现文本到语音转换器
private void promptSpeechInput() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
getString(R.string.speech_prompt));
try {
startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
} catch (ActivityNotFoundException a) {
Toast.makeText(getApplicationContext(),
getString(R.string.speech_not_supported),
Toast.LENGTH_SHORT).show();
}
}
看这里如何提问:参考这里<代码>运行c??那是什么?!您面临的问题是什么?t1.讲话(toSpeak,TextToSpeech.QUEUE\u FLUSH,null);我必须更改这一行,因为我没有任何队列,我的条目也没有更改
public class MainActivity extends Activity {
TextToSpeech t1;
EditText ed1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed1=(EditText)findViewById(R.id.editText);
t1=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR) {
t1.setLanguage(Locale.UK);
}
}
});
String toSpeak = ed1.getText().toString();
Toast.makeText(getApplicationContext(), toSpeak,Toast.LENGTH_SHORT).show();
t1.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
}
public void onPause(){
if(t1 !=null){
t1.stop();
t1.shutdown();
}
super.onPause();
}
}