C# 语篇转换#

C# 语篇转换#,c#,speech-recognition,C#,Speech Recognition,我最近发现了一段很棒的代码,它帮助我了解了如何将用户输入转换为程序可以阅读的文本,并将其转换为web搜索。这是我开始工作的地方。但现在我想看看我能走多远,但在过去的几周里,我完全迷失了方向。我有一些问题是关于我对原始版本所做的一些调整,这些调整不起作用 default; if (speech.ToLower().Contains("play song", "playlist", "play")) {

我最近发现了一段很棒的代码,它帮助我了解了如何将用户输入转换为程序可以阅读的文本,并将其转换为web搜索。这是我开始工作的地方。但现在我想看看我能走多远,但在过去的几周里,我完全迷失了方向。我有一些问题是关于我对原始版本所做的一些调整,这些调整不起作用

            default;
            if (speech.ToLower().Contains("play song", "playlist", "play"))
            {
                string songName = speech.Replace(' ', ' ');
                songName = speech.Replace(' ', ' ');
                songName = System.Diagnostics.Process.Start(songName);
                string song = @"C:file location of song" + songName;
                System.Diagnostics.Process.Start(songName);
            }
            if (speech.ToLower().Contains("type"))
            {
                string wantedText = speech.Replace(' ', ' ');
                wantedText = speech.Replace(' ', ' ');
                wantedText = System.Diagnostics.Process.Start(wantedText);
                string song = wantedText;
                System.Diagnostics.Process.Start(wantedText);
            }
            break;
1:为了播放歌曲:

a) “播放歌曲”、“播放列表”、“播放”)出错,表示“方法‘包含’没有重载,需要3个参数”。我如何能够为这个或任何未来的语音到文本代码提出三个或更多的论点

b) 据我所知,使用System.Diagnostics.Process.Start显然不起作用。我不知道在这种情况下使用什么系统

2:要在活动窗口中输入直接类型:

a) 我对c#知识的缺乏阻碍了我继续这个想法的能力。我的第一个想法是将其视为在命令提示符下将语音输入到文本,我可以这样做。但是我希望它转到活动窗口中的活动闪烁文本光标,而不是命令提示符,它可以是Word或任何搜索引擎。我还认为这个过程可能与上面链接中的原始URL版本类似

b) 据我所知,使用System.Diagnostics.Process.Start显然不起作用。我不知道在这种情况下使用什么系统。是,与问题1b中的问题相同。我不知道这两个过程是否相同


我希望我把这些问题问得很好,谢谢你的帮助

你应该避免一次问多个问题,因为这会让人困惑

1a)
包含
检查一个字符串是否包含在另一个字符串中。如果要检查多个字符串,需要多次调用,如下所示:

var lower = speech.ToLower();
if (lower.Contains("play song") || lower.Contains("playlist") || lower.Contains("play"))
{ ... }
在这种情况下,您应该知道最后一个条件也满足前两个条件,因此您可以将条件缩短为:

if (speech.ToLower().Contains("play"))
这也将涵盖其他两种情况(因为“playlist”和“play song”都包含字符串“play”)

1b)您需要启动音乐播放器并将songname作为参数传递。您可以尝试启动资源管理器并将songname作为参数传递。我认为explorer会自动启动与扩展相关联的程序(如果存在这样的关联)

这不是一个真正的问题。因此,它旨在帮助解决有关编程的特定问题。您应该首先尝试并弄清楚您想要做什么,然后尝试实施它,然后再提出有关它的具体问题


2b)参见1b)

您的第一个问题至少在这里得到了回答。至于其他问题,您应该为您遇到问题的每个领域创建一个仅限于实际问题的问题()。在本例中,我建议在继续下一个案例之前先处理一个案例,这里的代码片段存在一些基本问题,对于您提出的问题,任何答案都可能不完整。注意!你对第一部分的回答也很有帮助!非常感谢。