実現したいこと
PCから音がなる→現在のカーソル位置でクリックを実現したいです。
発生している問題・分からないこと
chat gptを使い、手順通りに2ファイルを作ったが、実行されない。
該当のソースコード
Pythonスクリプト
1import sounddevice as sd 2import numpy as np 3import time 4 5# 音を検知するためのコールバック関数 6def callback(indata, frames, time, status): 7 volume_norm = np.linalg.norm(indata) * 10 8 if volume_norm > 0.5: # しきい値を設定 9 with open("trigger.txt", "w") as f: 10 f.write("sound detected") 11 12# 音の検知を開始 13with sd.InputStream(callback=callback): 14 print("Listening...") 15 while True: 16 time.sleep(1) 17
AutoHotkeyスクリプト
1; 定期的にトリガーファイルをチェック 2SetTimer, CheckTriggerFile, 1000 3return 4 5CheckTriggerFile: 6if FileExist("trigger.txt") 7{ 8 ; ファイルが存在する場合、クリックを実行 9 Click 10 ; トリガーファイルを削除 11 FileDelete, trigger.txt 12} 13return 14
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
chat gptを使い、手順通りに2ファイルを作ったが、実行されない。
※画像添付
詳細情報ーーーーーーーー
こちら、python、Autohotkey ともに今回初めて使います。
プログラミングも、初心者レベルです。
結論からいうと、trigger.txtには書き込まれました。
実行方法含めて、正しいのかわからないので、流れを書きます。
デスクトップに
sound_detect
click_on_sound
この二つのファイルを置いてます。
sound・・・ → click・・・・
の順番で、ダブルクリックで実行
sound・・・を実行するとウインドウが開き、Listeningと表示されます。
click・・・を実行すると、一瞬だけカーソルが砂時計になり、その後はなにも起きません。
この後、音声を流すと(動画を再生)、trigger.txtがデスクトップに表示されます。
開くと、sound detected と記載されてます。
→●訂正です。再確認すると、音声を流す前(click_on_soundのファイルを開いた直後)に
trgger.txtのファイルが表示されてました。
かつ、開くと、sound detectedとすでに表記されてました。
(音声を流す前です)
※動画を、画面クリックで再生し、カーソルは動画の画面上に置いたままにしているので、
クリックされたならば、動画が一時停止するはず。
でも、一時停止しない。だからクリックされてない。
という判断です。
●追加1
ahkファイルを、以下のように変更しました。
if FileExist("C:\Users\ユーザー名\デスクトップ\trigger.txt")
しかし、変化はないようです。
●追加2
ahkファイルを実行すると、タスクバーにHのアイコンがでる。
と、ネット検索でしったのですが、今回、そのHのアイコンは表示されてません。