语音转文本 c#

本文关键字:文本 语音 | 更新日期: 2023-09-27 18:33:34

我最近在谷歌搜索中通过C#语音发现了一段很棒的代码,它帮助我了解如何将用户输入转换为程序可以阅读的文本并将其转换为网络搜索。这个我开始工作了。但现在我想看看我能走多远,但在过去的几周里,我已经完全迷失了。我对原版所做的一些调整有一些问题,这些调整不起作用。

            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 中的问题相同。我不知道两者的过程是否相同。

我希望我问好这些问题,并感谢您的帮助!

语音转文本 c#

您应该避免在一个问题中提出多个问题,因为它只会令人困惑。

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

var lower = speech.ToLower();
if (lower.Contains("play song") || lower.Contains("playlist") || lower.Contains("play"))
{ ... }

现在,在这种特定情况下,您应该知道最后一个条件也满足前两个条件,因此您可以将条件缩短为:

if (speech.ToLower().Contains("play"))

这也将涵盖其他两种情况(因为"播放列表"和"播放歌曲"都包含字符串"play"(。

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

2a( 这不是一个真正的问题。SO旨在帮助解决有关编程的特定问题。你应该首先尝试弄清楚你想做什么,然后尝试实现它,并提出关于它的具体问题。

2b( 见 1b(