Red de conocimiento informático - Computadora portátil - Cómo convertir voz a texto en Android

Cómo convertir voz a texto en Android

Si bien la retroalimentación visual suele ser la forma más rápida de proporcionar información al usuario, requiere que el usuario se concentre en el dispositivo.

Android proporciona una potente API de conversión de texto a voz que permite a los desarrolladores agregar notificaciones de voz y otras funciones de respuesta de voz a sus aplicaciones sin necesidad de que los usuarios miren la pantalla.

OnInitListener {

TextToSpeech final privado mTextToSpeech; //objeto TTS

ConcurrentLinkedQueue final privado mBufferedMessages //MessageQueue

Contexto privado mContext;

privado booleano mIsReady; //identificador

public TextToSpeechDemo(Contexto contexto){

this.mContext=context; //obtener contexto

esto. p>

//Inicializar motor TTS

@Override

public void onInit(int status) {

Log.i("TextToSpeechDemo" , String .valueOf(status));

if(status==TextToSpeech.SUCCESS){

int resultado = this.mTextToSpeech.setLanguage(Locale.mBufferedMessages.clear(); // Limpiar la cola después de leer

}

}

}

Liberar recursos

liberación pública vacía () {

sincronizado (este){

this.mTextToSpeech.shutdown();

this.mTextToSpeech.shutdown();

this.mTextToSpeech.shutdown();

this.mTextToSpeech.shutdown()shutdown();

this.mIsReady=false;

}

//Actualiza la cola de mensajes o lee la voz

public void notifyNewMessage(String lanaugh){

String message=lanaugh;

sincronizado (esto){

if(este .mIsReady){

speakText(mensaje);

}else{

esto .mBufferedMessages. add(mensaje);

}

}

}

}

/leyendo el Procesamiento de voz

private void SpeakText(String message){

Log.QUEUE_ADD, params //¿Cuánto dura el intervalo<

}

}

Por supuesto, los teléfonos móviles que generalmente no admiten chino se pueden probar después de descargar el motor iFlytek TTS de Baidu.

Dado que la inicialización del motor TTS es asíncrona, los mensajes deben ponerse en cola antes de que se implemente realmente la conversión de texto a voz.

Se pueden enviar múltiples parámetros al motor TTS.

La sección anterior describió cómo determinar el flujo de audio que se utilizará para la información hablada. En este ejemplo, se utilizará la misma secuencia de audio para el sonido de notificación.

Finalmente, si está procesando varios mensajes seguidos, es mejor hacer una pausa al final de cada mensaje antes de reproducir el siguiente. Al hacerlo, le indicará claramente al usuario dónde termina y comienza el mensaje.