void 择语音(object sender, EventArgs e) { var __新语音 = E语音.在线; if (this.in无语音.Checked) { __新语音 = E语音.无; } if (this.in离线语音.Checked) { __新语音 = E语音.离线; } if (__新语音 != _当前语音) { 切换语音(_当前语音, __新语音); _当前语音 = __新语音; } }
private void 播放(E语音 __语音, string __内容) { switch (__语音) { case E语音.无: break; case E语音.离线: X离线播放.播放(HINI.Read("配置.ini", "讯飞语音", "离线合成APPID"), __内容); break; case E语音.在线: X在线播放.播放(__内容); break; default: throw new ArgumentOutOfRangeException(); } }
void 切换语音(E语音 __旧语音, E语音 __新语音) { switch (__旧语音) { case E语音.无: break; case E语音.离线: case E语音.在线: _MIC.停止录音(); _IX识别.识别出内容 -= _IX识别_识别出内容; _IX识别.结束(); _IX识别.注销(); break; default: throw new ArgumentOutOfRangeException(); } switch (__新语音) { case E语音.无: break; case E语音.离线: _IX识别 = new X离线识别(); _IX识别.登录(HINI.Read("配置.ini", "讯飞语音", "离线识别APPID")); 开始(); 播放(__新语音, "欢迎使用离线语音服务"); break; case E语音.在线: _IX识别 = new X在线识别(); _IX识别.登录(HINI.Read("配置.ini", "讯飞语音", "在线服务APPID")); 开始(); 播放(__新语音, "欢迎使用在线语音服务"); break; default: throw new ArgumentOutOfRangeException(); } }