私はC#で音声認識プログラムに取り組んでおり、「バッテリーレベル」と言ったときに現在のバッテリーレベルを返す数行のコードをコンパイルしました。
if (e.Result.Text.ToLower() == "battery level")
{
System.Management.ManagementClass wmi = new System.Management.ManagementClass("Win32_Battery");
var allBatteries = wmi.GetInstances();
//String estimatedChargeRemaining = String.Empty;
int batteryLevel = 0;
foreach (var battery in allBatteries)
{
batteryLevel = Convert.ToInt32(battery["EstimatedChargeRemaining"]);
}
if(batteryLevel < 25)
JARVIS.Speak("Warning, Battery level has dropped below 25%");
else //Guessing you want else
JARVIS.Speak("The battery level is at: " + batteryLevel.ToString() + "%");
return;
}
この行は、「バッテリー レベル」と言ったときにのみ発生するのではなく、15 分ごとにバッテリー レベルを自動的にチェックし、バッテリー レベルが 25% を下回った場合に音声で自動的に報告するようにします。
if(batteryLevel < 25)
JARVIS.Speak("Warning, Battery level has dropped below 25%");
タイマーが必要になると思いますが、それ以外はわかりません。
ありがとう。