| #endif | #endif | ||||
| out_samplerate = voice_samplerate; | out_samplerate = voice_samplerate; | ||||
| #ifdef HAVE_PCAUDIOLIB_AUDIO_H | #ifdef HAVE_PCAUDIOLIB_AUDIO_H | ||||
| audio_object_open(my_audio, AUDIO_OBJECT_FORMAT_S16LE, voice_samplerate, 1); | |||||
| if (!my_audio) { | |||||
| int error = audio_object_open(my_audio, AUDIO_OBJECT_FORMAT_S16LE, voice_samplerate, 1); | |||||
| if (error != 0) { | |||||
| fprintf(stderr, "error: %s\n", audio_object_strerror(my_audio, error)); | |||||
| err = ENS_AUDIO_ERROR; | err = ENS_AUDIO_ERROR; | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| } | } | ||||
| #ifdef HAVE_PCAUDIOLIB_AUDIO_H | #ifdef HAVE_PCAUDIOLIB_AUDIO_H | ||||
| if (outbuf && length && a_wave_can_be_played) | |||||
| audio_object_write(my_audio, (char *)outbuf, 2*length); | |||||
| if (outbuf && length && a_wave_can_be_played) { | |||||
| int error = audio_object_write(my_audio, (char *)outbuf, 2*length); | |||||
| if (error != 0) | |||||
| fprintf(stderr, "error: %s\n", audio_object_strerror(my_audio, error)); | |||||
| } | |||||
| #endif | #endif | ||||
| #ifdef USE_ASYNC | #ifdef USE_ASYNC | ||||
| espeak_ng_STATUS aStatus = Synthesize(unique_identifier, text, flags); | espeak_ng_STATUS aStatus = Synthesize(unique_identifier, text, flags); | ||||
| #ifdef HAVE_PCAUDIOLIB_AUDIO_H | #ifdef HAVE_PCAUDIOLIB_AUDIO_H | ||||
| if ((my_mode & ENOUTPUT_MODE_SPEAK_AUDIO) == ENOUTPUT_MODE_SPEAK_AUDIO) | |||||
| audio_object_drain(my_audio); | |||||
| if ((my_mode & ENOUTPUT_MODE_SPEAK_AUDIO) == ENOUTPUT_MODE_SPEAK_AUDIO) { | |||||
| int error = audio_object_drain(my_audio); | |||||
| if (error != 0) | |||||
| fprintf(stderr, "error: %s\n", audio_object_strerror(my_audio, error)); | |||||
| } | |||||
| #endif | #endif | ||||
| return aStatus; | return aStatus; |