0

私は最近、C# の音声による Google 検索で素晴らしいコードを見つけました。これは、ユーザー入力を変換し、それをプログラムが読み取って 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) ("play song", "playlist", "play") で、"メソッド 'Contains' のオーバーロードは 3 つの引数を取らない" というエラーが発生しました。このコードまたは将来の音声テキスト変換コードに対して、3 つ以上の引数を作成するにはどうすればよいでしょうか?

b) 私の知る限り、System.Diagnostics.Process.Start の使用は明らかに機能しません。この状況でどのシステムを使用すればよいかわかりません。

2: アクティブなウィンドウで直接タイプを入力するには:

a) C# の知識が不足しているため、このアイデアを進めることができません。私が最初に考えたのは、コマンド プロンプトで音声をテキストに入力しているかのように扱うことでした。しかし、コマンド プロンプトの代わりに、アクティブなウィンドウ内のアクティブな点滅テキスト カーソル (Word または任意の検索エンジン) に移動する必要があります。また、これは上記のリンクの元の URL バージョンと同様のプロセスを持つ可能性があると思います。

b) 私の知る限り、System.Diagnostics.Process.Start の使用は明らかに機能しません。この状況でどのシステムを使用すればよいかわかりません。はい、質問 1b と同じ質問です。両方で同じプロセスになるかどうかはわかりませんでした。

これらの質問がうまくいったことを願っています。助けてくれてありがとう!

4

1 に答える 1

2

混乱を招くだけなので、一度に複数の質問をすることは避けてください。

1a)Contains文字列が別の文字列に含まれているかどうかを確認します。複数の文字列をチェックしたい場合は、次のように複数回呼び出す必要があります。

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

この特定のケースでは、最後の条件も最初の 2 つを満たすため、条件を次のように短縮できることに注意してください。

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

これは他の 2 つのケースもカバーします ("playlist" と "play song" の両方に "play" という文字列が含まれているため)。

1b) 音楽プレーヤーを起動し、曲名を引数として渡す必要があります。エクスプローラーを起動して、曲名を引数として渡すことができます。エクスプローラーは、拡張機能に関連付けられたプログラムを自動的に起動すると思います(そのような関連付けが存在する場合)。

2a) それは実際には問題ではありません。SO は、プログラミングに関する特定の問題を解決するためのものです。まず自分が何をしたいのかを理解しようとし、次にそれを実装してみて、それについて具体的な質問をする必要があります。

2b) 1b) 参照

于 2013-10-01T03:22:30.717 に答える