Most visited

Recently visited

Added in API level 14

SynthesisCallback

public interface SynthesisCallback

android.speech.tts.SynthesisCallback


回传文本到语音引擎合成的语音数据。 引擎可以通过调用start(int, int, int) ,然后audioAvailable(byte[], int, int)提供流式音频,直到提供了所有音频,然后最终done() 可以在综合过程的任何阶段调用error()以指示发生了错误,但是如果在调用done()之后进行调用,则可能会丢弃它。 必须在综合结束时调用done() ,而不管错误。 所有方法只能在综合线程上调用。

Summary

Public methods

abstract int audioAvailable(byte[] buffer, int offset, int length)

当合成音频准备好消耗时,该服务应该调用此方法。

abstract int done()

当请求的所有合成音频已传递到 audioAvailable(byte[], int, int)时,该服务应调用此方法。

abstract void error(int errorCode)

如果语音合成失败,该服务应该调用此方法。

abstract void error()

如果语音合成失败,该服务应该调用此方法。

abstract int getMaxBufferSize()
abstract boolean hasFinished()

检查是否 done()

abstract boolean hasStarted()

检查是否 start(int, int, int)

abstract int start(int sampleRateInHz, int audioFormat, int channelCount)

当服务开始为这个请求合成音频时,该服务应该调用它。

Public methods

audioAvailable

Added in API level 14
int audioAvailable (byte[] buffer, 
                int offset, 
                int length)

当合成音频准备好消耗时,该服务应该调用此方法。 此方法只应在合成线程上调用,而在onSynthesizeText(SynthesisRequest, SynthesisCallback)

Parameters
buffer byte: The generated audio data. This method will not hold on to buffer, so the caller is free to modify it after this method returns.
offset int: The offset into buffer where the audio data starts.
length int: The number of bytes of audio data in buffer. This must be less than or equal to the return value of getMaxBufferSize().
Returns
int SUCCESS, ERROR or STOPPED.

done

Added in API level 14
int done ()

当请求的所有合成音频已传递到audioAvailable(byte[], int, int)时,该服务应调用此方法。 此方法只应在合成线程上调用,而在onSynthesizeText(SynthesisRequest, SynthesisCallback) 如果调用start(int, int, int)和/或error()则必须调用此方法。

Returns
int SUCCESS, ERROR or STOPPED.

error

Added in API level 21
void error (int errorCode)

如果语音合成失败,该服务应该调用此方法。 此方法只应在合成线程上调用,而在onSynthesizeText(SynthesisRequest, SynthesisCallback)

Parameters
errorCode int: Error code to pass to the client. One of the ERROR_ values from TextToSpeech

error

Added in API level 14
void error ()

如果语音合成失败,该服务应该调用此方法。 该方法只应在合成线程上调用,而在onSynthesizeText(SynthesisRequest, SynthesisCallback)

getMaxBufferSize

Added in API level 14
int getMaxBufferSize ()

Returns
int the maximum number of bytes that the TTS engine can pass in a single call of audioAvailable(byte[], int, int). Calls to audioAvailable(byte[], int, int) with data lengths larger than this value will not succeed.

hasFinished

Added in API level 21
boolean hasFinished ()

检查done()被调用。 此方法只应在合成线程上调用,而在onSynthesizeText(SynthesisRequest, SynthesisCallback) 用于检查是否可以从网络请求回退。

Returns
boolean

hasStarted

Added in API level 21
boolean hasStarted ()

检查是否start(int, int, int) 此方法只应在合成线程上调用,而在onSynthesizeText(SynthesisRequest, SynthesisCallback) 用于检查是否可以从网络请求回退。

Returns
boolean

start

Added in API level 14
int start (int sampleRateInHz, 
                int audioFormat, 
                int channelCount)

当服务开始为这个请求合成音频时,该服务应该调用它。 此方法只应在合成线程上调用,而在onSynthesizeText(SynthesisRequest, SynthesisCallback)

Parameters
sampleRateInHz int: Sample rate in HZ of the generated audio.
audioFormat int: Audio format of the generated audio. Must be one of ENCODING_PCM_8BIT or ENCODING_PCM_16BIT. Can also be ENCODING_PCM_FLOAT when targetting Android N and above.
channelCount int: The number of channels. Must be 1 or 2.
Returns
int SUCCESS, ERROR or STOPPED.

Hooray!