Как интегрировать текст в речь для телугу в приложении для Android

Я разрабатываю приложение, чтобы показать некоторые детали на английском языке, и когда я нажимаю кнопку, оно произносит это сообщение на английском языке, текст также содержит цифры. Я хочу озвучить этот текст на языке телугу. Есть ли способ сделать это. Android tts по умолчанию не поддерживает язык телугу, как использовать внешние механизмы tts в приложениях для Android. Пожалуйста, помогите мне в этом, спасибо.


person user2273358    schedule 24.02.2015    source источник
comment
проверьте это: stackoverflow.com/questions/22495332/   -  person Afsar    schedule 24.02.2015


Ответы (1)


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tts = new TextToSpeech(this, this);
    btnSpeak = (Button) findViewById(R.id.btnSpeak);
    txtText = (EditText) findViewById(R.id.txtText);
    // button on click event
    btnSpeak.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View arg0) {
            speakOut();
        }
    });
}

// shutdown tts when activity destroy
@Override
public void onDestroy() {
    // Don't forget to shutdown!
    if (tts != null) {
        tts.stop();
        tts.shutdown();
    }
    super.onDestroy();
}

// It will called before TTS started
@Override
public void onInit(int status) {
    // TODO Auto-generated method stub
    // check status for TTS is initialized or not
    if (status == TextToSpeech.SUCCESS) {
        // if TTS initialized than set language
        result = tts.setLanguage(Locale.US);

        // tts.setPitch(5); // you can set pitch level
        // tts.setSpeechRate(); //you can set speech speed rate

        // check language is supported or not
        // check language data is available or not
        if (result == TextToSpeech.LANG_MISSING_DATA
                || result == TextToSpeech.LANG_NOT_SUPPORTED) {
            Toast.makeText(this, "Missing data", Toast.LENGTH_LONG).show();
            // disable button
            btnSpeak.setEnabled(false);
        } else {
            // if all is good than enable button convert text to speech
            btnSpeak.setEnabled(true);
        }
    } else {
        Log.e("TTS", "Initilization Failed");
    }
}

// call this method to speak text
private void speakOut() {
    String text = txtText.getText().toString();
    if (result != tts.setLanguage(Locale.US)) {
        Toast.makeText(getApplicationContext(), "Enter right Words...... ",
                Toast.LENGTH_LONG).show();
    } else {
        // speak given text
        tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
    }
}

вам нужно установить локаль для этого метода «говорить»

ПРИМЕЧАНИЕ: телефон и eclipse должны поддерживать ваш язык

person Mayur R. Amipara    schedule 24.02.2015
comment
Но Google по умолчанию не поддерживает язык телугу. Как это будет работать для телугу. - person user2273358; 25.02.2015
comment
Я этого не понял и не понимаю, как использовать это в приложении для Android. - person user2273358; 25.02.2015
comment
найдите файл telugu.voice в сети, добавьте его в папку ресурсов и посмотрите в сети, как его использовать... вот и все - person Mayur R. Amipara; 25.02.2015
comment
Я искал в сети, пытался скачать, но я не могу его получить, какие-либо предложения по этому поводу - person user2273358; 26.02.2015