# EchoVoiceDemo **Repository Path**: iltgcl/echo-voice-demo ## Basic Information - **Project Name**: EchoVoiceDemo - **Description**: 演示回声语音库的使用方法 - **Primary Language**: Android - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-10-05 - **Last Updated**: 2022-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EchoVoiceDemo #### 介绍 演示回声语音库的使用方法 #### 安装教程 1. 安卓手机上安装回声语音库 2. 设置回声语音的自启动和关联启动权限 3. 下载安装本演示程序 #### 回声语音库使用方法 1. EchoVoiceClient-release.aar 放入项目的libs目录下 2. build.gradle文件添加 implementation(name: 'EchoVoiceClient-release', ext: 'aar') 3. 创建实例 IEchoVoice createAIDLEchoVoice(Context context, @Nullable TextToSpeech.OnInitListener onInitListener, @Nullable UtteranceProgressListener utteranceProgressListener) 4. 语音合成 /** * * @param text 需要合成的文本 * @param queueMode 排队方式: TextToSpeech.QUEUE_ADD or TextToSpeech.QUEUE_FLUSH * @param usage USAGE_MEDIA 或 USAGE_A11Y 或 USAGE_NOTIFICATION * @param utteranceId ID * @param voiceName 指定发音人, -1:使用默认发音人 * @param speed 语速 0-600, -1:采用默认语速 * @param vol 音量 0-100, -1:采用默认音量 * @param pitch 音调 0-100, -1:采用默认音调 * @return TextToSpeech.SUCCESS 或 TextToSpeech.ERROR */ int speak(@NonNull final CharSequence text, int queueMode, int usage, @NonNull final String utteranceId, int voiceName, int speed, int vol, int pitch); 如果使用默认参数可以使用方法: int speak(@NonNull final CharSequence text, int queueMode, int usage, @NonNull final String utteranceId); 5. 语音控制 /** * 暂停播放 * 注意:系统TTS方式不支持此操作 * @param usage USAGE_MEDIA 或 USAGE_A11Y 或 USAGE_NOTIFICATION * @return TextToSpeech.SUCCESS 或 TextToSpeech.ERROR */ int pause(int usage); /** * 恢复播放 * 注意:系统TTS方式不支持此操作 * @param usage USAGE_MEDIA 或 USAGE_A11Y 或 USAGE_NOTIFICATION * @return TextToSpeech.SUCCESS 或 TextToSpeech.ERROR */ int resume(int usage); /** * 强制停止本应用的所有语音合成 * @return TextToSpeech.SUCCESS 或 TextToSpeech.ERROR */ int stopAll(); 6. 发音资源 /** * 获取所有发音人名称列表 * 注意:系统TTS方式不支持此操作 * @return 发音人名称列表 */ String[] getVoiceNameEntries(); /** * 获取所有发音人值列表,用于{@link IEchoVoice#speak} * 注意:系统TTS方式不支持此操作 * @return 发音人值列表 */ int[] getVoiceNameValues(); /** * 是否拥有注册版证书, 未注册版本限制语速并且会有广告语 * 注意:系统TTS方式不支持此操作 * @return ture(已注册) or false */ boolean hasLicense();