Kotlin текст в речь с html файлом - PullRequest
0 голосов
/ 11 марта 2020

У меня есть файл html, который я загружаю, включая все ресурсы, ресурсы и ccs, которые мне нужны. я могу отобразить его в веб-просмотре, используя: webView.loadUrl("file:///" + path)

Я также знаю, как использовать текст в речь, я реализую TextToSpeech.OnInitListener, добавляю текст в речь ie в свой класс: private var tts: TextToSpeech? = null затем я добавляю функцию init:

@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
    override fun onInit(status: Int) {
        if (status == TextToSpeech.SUCCESS) {
            val result = tts!!.setLanguage(Locale.FRANCE)

            if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
                Log.e("TTS","The Language specified is not supported!")
            } else {
                //buttonSpeak!!.isEnabled = true
            }

        } else {
            Log.e("TTS", "Initilization Failed!")
        }
    }

Затем я получаю метод, который нужно вызвать, когда я хочу использовать свою текстовую речь:

private fun textToSpeech(){
        tts = TextToSpeech(this.context, this)
        tts!!.setSpeechRate(0.5f)

        var text = Html.fromHtml("Bonjour tout le monde")
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            tts!!.speak(text, TextToSpeech.QUEUE_FLUSH, null, "")
        }
    }

Это прекрасно работает, я продолжаю с одной стороны весь мой текст отображается в веб-просмотре, а с другой стороны, мой TTS говорит мой текст.

Проблема в том, что мой TTS хотел бы прочитать мой файл html вместо текста в жестком коде. Так есть ли способ напрямую передать файл в TTS? или каким-то образом получить html, а затем передать его в TTS?

...