バックグラウンドで実行され、キーボードのキーを押すとサウンドが再生される個人用の Windows アプリケーション (C/C++ を使用) を作成したいと考えています。以下は、作成したいアプリケーションのタイプの例です。
http://www.softpedia.com/get/Desktop-Enhancements/Shell-Replacements/Tiper.shtml
私が独自のバージョンを作成することに興味があるのは、私が見つけた現在の例よりも拡張性を高めたいからです。たとえば、前述の Tiper アプリケーションでは、次のサウンドを設定できます。
- 文字と数字を入力する音 (すべての文字と数字で同じ音)
- 「Enter」キーを打ったときの音
- 「Backspace」キーを打った音
- 「スペース」キーの打鍵音
- 「Tab」、「Home」、「PgUp」などのキーをタイプする音
これで結構です。ただし、次のことを可能にするこのタイプのアプリケーションのバージョンを作成したいと思います。
- キーボードのすべてのキーに異なるサウンドを設定します。つまり、「A」は別の音、「B」は別の音などです。
- キーの組み合わせに異なるサウンドを設定します。たとえば、Ctrl+S を押したときに独自のサウンドを設定します。
どの Windows C/C++ API、ライブラリ、関数などについての情報に興味があります。どの Windows C/C++ API、ライブラリ、関数などを使用すると、サウンドの再生に最適なパフォーマンスが得られますか。つまり、キーボードのキーを押してからサウンドが聞こえるまでの遅延を最小限に抑えます。これらは、最終的なソリューションのプロパティについて考慮すべき考慮事項です。
- アプリケーションには、RAM にロードされた多数のサウンド ファイルがあります。すべてのキーと目的のキーの組み合わせに対して 1 つとしましょう。つまり、約 150 の異なるサウンド ファイルになる可能性があります。私が使用するコンピューターには、少なくとも 8GB の RAM が搭載されています。
- アプリケーションは、Windows 7 以降でのみ実行する必要があります。
- 私は 1 分間に約 60 ワードを入力しているので、サウンドは積み重ねられるはずです。つまり、'A' を押してすぐに 'D' を押すと、'D' が再生されているため、'A' の音が途切れずに再生され続けます。同時に再生するサウンドは 5 つ程度で十分だと思います。
- キーボードの「keydown」イベントを読み取る速度も考慮する必要があるとします。ただし、Windows API を使用してこの種の情報を取得する標準的な方法で十分だと思います。
ありがとう