C# 根据文本到语音的输出突出显示文本。在Asp.NETC中#

C# 根据文本到语音的输出突出显示文本。在Asp.NETC中#,c#,asp.net,C#,Asp.net,我试图突出文本所读的单词,但它不起作用。到目前为止,我提出: string startSpan = "<span style=" + "background-color:Yellow" + ">"; string endSpan = "</span>"; //button onclick protected void speak_Hope(object sender, EventArgs e) { speaker.Rat

我试图突出文本所读的单词,但它不起作用。到目前为止,我提出:

    string startSpan = "<span style=" + "background-color:Yellow" + ">";
    string endSpan = "</span>";

 //button onclick
protected void speak_Hope(object sender, EventArgs e)
    {
            speaker.Rate = -4;
            speaker.SpeakAsync(announce.InnerText);
            speaker.SpeakProgress += new EventHandler<SpeakProgressEventArgs>    (speaker_SpeakProgress);
            System.Diagnostics.Debug.WriteLine("processing");

    }


void speaker_SpeakProgress(object sender, SpeakProgressEventArgs  e)
    {
        counter2 = e.CharacterPosition - 10;
        counter3 = e.Text.Length;
        counter4 = counter2 + counter3;
        System.Diagnostics.Debug.WriteLine(e.CharacterPosition - 10 + " next one" + e.Text);
        announce.InnerHtml = announce.InnerText.Substring(0, counter2) + startSpan + announce.InnerText.Substring(counter2, counter3) + endSpan + announce.InnerText.Substring( announce.InnerText.Length - 1);


    }
string startSpan=“”;
字符串endSpan=“”;
//按钮点击
受保护的void speak_Hope(对象发送方,事件参数e)
{
扬声器频率=-4;
SpeakAsync(annound.InnerText);
speaker.SpeakProgress+=新事件处理程序(speaker_SpeakProgress);
系统。诊断。调试。写入线(“处理”);
}
无效演讲者_SpeakProgress(对象发送者,SpeakProgressEventArgs e)
{
计数器2=e.字符位置-10;
计数器3=e.Text.Length;
计数器4=计数器2+计数器3;
系统.诊断.调试.写线(e.CharacterPosition-10+“下一个”+e.Text);
announce.InnerHtml=announce.InnerText.Substring(0,counter2)+startSpan+announce.InnerText.Substring(counter2,counter3)+endSpan+announce.InnerText.Substring(announce.InnerText.Length-1);
}
我做得对吗,或者有其他方法,可以用javascript的方式吗?
非常感谢

如果您正在寻找文本到语音,这可能是此的一个副本。这个问题提供了使用的建议,它提供了语音到文本的转换,无需任何额外下载或特殊软件。很酷

然而,看起来您实际上是在寻求实现语音识别。根据你的代码,你正朝着错误的方向前进。您将无法使用Microsoft语音库来实现这一目标(简而言之,就是将它们嵌入XBAP),这是它们在服务器上而不是客户端上运行的结果

有一些基于Flash和Java的解决方案确实允许客户端语音识别。我建议你去探索它们,因为我相信它们实现了你想要的

1) -开源,他们的网站包括一系列演示,我发现效果很好。
2) -也是开源的

如果您正在寻找文本到语音,这可能是此的重复。这个问题提供了使用的建议,它提供了语音到文本的转换,无需任何额外下载或特殊软件。很酷

然而,看起来您实际上是在寻求实现语音识别。根据你的代码,你正朝着错误的方向前进。您将无法使用Microsoft语音库来实现这一目标(简而言之,就是将它们嵌入XBAP),这是它们在服务器上而不是客户端上运行的结果

有一些基于Flash和Java的解决方案确实允许客户端语音识别。我建议你去探索它们,因为我相信它们实现了你想要的

1) -开源,他们的网站包括一系列演示,我发现效果很好。
2) -也是开源的

什么不起作用?您是否收到错误消息或没有输出,或者事件没有被触发,或者?注释“”中没有突出显示文本,但偏移量会写入调试器控制台,变量会发生更改。您显示服务器端代码,但随后提及
,除非页面针对读取的每个单词发回,或者您正在使用,您将无法更新HTML。您的
似乎正在试图避开双引号。它的实际结局是
。我想你想要的是
,它产生
。我怀疑这与你的问题有关,只是指出了另一个问题。@TimS。谢谢,不过我也会解决的:)什么不起作用?您是否收到错误消息或没有输出,或者事件没有被触发,或者?注释“”中没有突出显示文本,但偏移量会写入调试器控制台,变量会发生更改。您显示服务器端代码,但随后提及
,除非页面针对读取的每个单词发回,或者您正在使用,您将无法更新HTML。您的
似乎正在试图避开双引号。它的实际结局是
。我想你想要的是
,它产生
。我怀疑这与你的问题有关,只是指出了另一个问题。@TimS。谢谢,不过我也会解决:)我不是在做语音识别,而是在做文本到语音转换,但我想我也会有同样的问题。但今天早上,我在谷歌上搜索了其他选择,发现了语音API,它都是用javascript编写的,你告诉我它工作得很好。因此,我想我会以这种方式实现它,非常感谢你的时间和耐心:)@AdrianDeBarro太好了,我很高兴你想出了一些办法!你介意发布并接受你自己的答案还是接受这个答案?这样,如果有人有一个类似的问题,他们可以快速破解你的问题是如何解决的。你知道我如何从语音api中获得当前正在读取的单词的偏移量吗?我不是在做语音识别,而是在做文本到语音,但我想我也会有同样的问题。但今天早上,我在谷歌上搜索了其他选择,发现了语音API,它都是用javascript编写的,你告诉我它工作得很好。因此,我想我会以这种方式实现它,非常感谢你的时间和耐心:)@AdrianDeBarro太好了,我很高兴你想出了一些办法!你介意发布并接受你自己的答案还是接受这个答案?这样,如果有人有一个类似的问题,他们可以很快破译出你的问题是如何解决的。你知道如何从语音api中获得当前正在读取单词的偏移量吗?