Воспроизведение выхода TTS через медиаплеер - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь воспроизвести звук вывода TextToSpeech с помощью mediaPlayer. Иногда это работает, но я получаю эти ошибки в основном. В чем основная проблема этого метода? - Подготовка не удалась .: статус = 0x1 - setDataSourceFD не удалось: статус = 0x80000000

private void speak(String message)
{
    MediaPlayer mediaPlayer = new MediaPlayer();
    File root = android.os.Environment.getExternalStorageDirectory();
    File dir = new File(root.getAbsolutePath() + "/download");
    File soundFile = new File(dir, "myData.mp3");

    try
    {
        int test = myTTS.synthesizeToFile(message, null, soundFile, "tts");
        System.out.println("TEST   : "+test);

        mediaPlayer.stop();
        mediaPlayer.reset();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mediaPlayer.setDataSource(soundFile.getPath());
        mediaPlayer.prepare();
        mediaPlayer.start();
        System.out.println("DURATION  :          "+ mediaPlayer.getDuration() );
    }
    catch (IOException ioe)
    {
        System.out.println("ERROR:    " +ioe.getLocalizedMessage());
        soundFile.deleteOnExit();
    }        
}
...