in nlsCsharpSdk/nlsCsharpSdkDemo/nlsCsharpSdkDemo.cs [923:996]
private void button10_Click(object sender, EventArgs e)
{
int ret = -1;
if (syList == null)
{
nlsResult.Text = "synthesizer list is null, create first...";
return;
}
else
{
LinkedListNode<DemoSpeechSynthesizerStruct> syStruct = syList.First;
int sy_count = syList.Count;
for (int i = 0; i < sy_count; i++)
{
DemoSpeechSynthesizerStruct sy = syStruct.Value;
if (sy.syPtr.native_request != IntPtr.Zero)
{
if (appKey == null || appKey.Length == 0)
{
appKey = tAppKey.Text;
}
if (token == null || token.Length == 0)
{
token = tToken.Text;
}
if (appKey == null || token == null ||
appKey.Length == 0 || token.Length == 0)
{
nlsResult.Text = "Start failed, token or appkey is empty";
return;
}
string text = "今天天气真不错,我想去操场踢足球。";
sy.syPtr.SetAppKey(sy.syPtr, appKey);
sy.syPtr.SetToken(sy.syPtr, token);
sy.syPtr.SetUrl(sy.syPtr, url);
sy.syPtr.SetText(sy.syPtr, text);
sy.syPtr.SetVoice(sy.syPtr, "siqi");
sy.syPtr.SetVolume(sy.syPtr, 50);
sy.syPtr.SetFormat(sy.syPtr, "wav");
sy.syPtr.SetSampleRate(sy.syPtr, 16000);
sy.syPtr.SetSpeechRate(sy.syPtr, 0);
sy.syPtr.SetPitchRate(sy.syPtr, 0);
sy.syPtr.SetEnableSubtitle(sy.syPtr, true);
sy.syPtr.SetOnSynthesisCompleted(sy.syPtr, DemoOnSynthesisCompleted, sy.uuid);
sy.syPtr.SetOnBinaryDataReceived(sy.syPtr, DemoOnBinaryDataReceived, sy.uuid);
sy.syPtr.SetOnTaskFailed(sy.syPtr, DemoOnSynthesisTaskFailed, sy.uuid);
sy.syPtr.SetOnChannelClosed(sy.syPtr, DemoOnSynthesisClosed, sy.uuid);
sy.syPtr.SetOnMetaInfo(sy.syPtr, DemoOnMetaInfo, sy.uuid);
ret = sy.syPtr.Start(sy.syPtr);
if (ret != 0)
{
nlsResult.Text = "Synthesizer Start failed.";
}
else
{
nlsResult.Text = "Transcriber Start success.";
btnSYstart.Enabled = false;
btnSYcancel.Enabled = true;
}
}
else
{
}
syStruct = syStruct.Next;
if (syStruct == null)
{
break;
}
}
}
}