タスクスケジューラの機能で.pyを実行→音が出ない。

実現したいこと

ある一定時間ごとに判定を行い閾値を超えた時にアラーム(音)を発報できるようにしたいです。

Pythonでプログラムを書いています。
手動によりプログラムを実行した際は判定も行われて音も出るのですが
Windowsのタスクスケジューラの機能を実施した際に音がでません。
Windowsのタスクスケジューラの機能でなくてもよいので一定時間ごとに処理を行えないかと考えています。

発生している問題・分からないこと

・手動によりプログラムを実行した際は判定も行われて音はでる。
・タスクマネージャでプログラムを実行時に音がでない。

該当のソースコード

Python

1with open('output.csv', 'r', encoding='utf-8') as f:2 reader = csv.reader(f)3 for row in reader:4 # アラーム判定時間に一致する行を探す5 if row[0] == parameters["アラーム判定時間"]:6 # アラーム判定項目に基づいて特定の列のデータを取得する7 value = float(row[column_index]) # 値を浮動小数点数に変換8 9 # 取得した値が閾値より大きいかどうかを確認10 if value > float(parameters["閾値"]) and parameters["アラーム起動"] == "ON": # アラーム起動がONの場合のみ11 print("アラームが発生しました")12 # winsound.PlaySound('maou_se_system46.wav', winsound.SND_FILENAME)13 winsound.Beep(1000, 1000) # 1000Hzの音を1000ms(1秒)間鳴らす14 break # 一致する行が見つかったらループを終了

試したこと・調べたこと

上記の詳細・結果

Copilotに相談したところ下記の案を提示され対応しましたが音はならないままです。

タスクスケジューラでPythonスクリプトを実行する際に音が出ない問題は、スクリプトがバックグラウンドで実行されているために発生する可能性があります。バックグラウンドで実行されるプロセスは通常、音を出力する能力がありません。

この問題を解決するためには、タスクスケジューラのタスク設定で「ユーザーがログオンしているかどうかに関係なく実行する」および「最高の権限で実行する」を選択する必要があります。これにより、タスクはバックグラウンドではなく、前景で実行され、音を出力する能力が得られます。

補足

特になし

コメントを投稿

0 コメント