Search in sources :

Example 1 with Player

use of javazoom.jl.player.Player in project openhab1-addons by openhab.

the class TTSServiceGoogleTTS method say.

/**
     * {@inheritDoc}
     */
public void say(String text, String voiceName, String outputDevice) {
    logger.info("Executing GoogleTTS for text '{}' in language {}", text, ttsLanguage);
    BufferedInputStream stream = null;
    try {
        List<String> sentences = textProcessor.splitIntoChunks(text);
        InputStream completeStream = getSpeechForText(sentences);
        Player playMP3 = new Player(completeStream);
        playMP3.play();
    } catch (IOException e) {
        logger.warn("Error while connecting to Google translate service", e);
        if (e instanceof FileNotFoundException) {
            logger.warn("Possibly unsupported language '{}'?", ttsLanguage);
        }
    } catch (JavaLayerException e) {
        logger.warn("Unable to play InputStream for text " + text, e);
    } finally {
        IOUtils.closeQuietly(stream);
    }
}
Also used : Player(javazoom.jl.player.Player) BufferedInputStream(java.io.BufferedInputStream) BufferedInputStream(java.io.BufferedInputStream) SequenceInputStream(java.io.SequenceInputStream) InputStream(java.io.InputStream) FileNotFoundException(java.io.FileNotFoundException) IOException(java.io.IOException) JavaLayerException(javazoom.jl.decoder.JavaLayerException)

Aggregations

BufferedInputStream (java.io.BufferedInputStream)1 FileNotFoundException (java.io.FileNotFoundException)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 SequenceInputStream (java.io.SequenceInputStream)1 JavaLayerException (javazoom.jl.decoder.JavaLayerException)1 Player (javazoom.jl.player.Player)1