教授に「オンラインミーティング自動で開催できるってホント?」って聞かれたので「ええ、まあ」と答えたのですが、後で考えたらミーティングの終了ができないのはまずいと思ったので機能の追加を行いました。
前回の続きからになります。今回修正していないファイルのコードはこの記事には記載しません。
目次
1.追加する機能
- 終了時刻になったらミーティングを終了する
2.修正後のコード
Zoom操作モジュール
メイン部分
3.機能追加時の不具合
なかなか画像を認識しませんでした。次の画像でボタンを認識しました。
外側の黒い部分が少なかったり、ボタンの内側の画像だけだったりすると見つけてくれませんでした。
できる限り認識してほしいボタンの外側を厚くスクリーンショットを撮る必要があるようです。
4.その他修正
4-1.時計を秒単位まで表示
デバッグのときに便利なのと、秒単位まで表示したほうが時計としての機能を果たしていると思ったので変更しました。
これに伴い、timeoutは1秒の設定になっています。
4-2.Intervalの設定
timeoutを1秒にしたことで、何度もミーティングを開始/終了するようになりました。そのため、intervalを設けて、60秒経過(つまりnow_dateが変わるまで)するまでミーティングの開始/終了を行えないようにしました。
4-3.Stop後Startしたとき予定を再取得する
Stopを押したときにcountを-1に設定することで、再度Startを押した場合に予定を即座に再取得するようにしました。
4-4.Startを押した後にcountが増加するように変更
今まではcountは起動時から常に増加するようにしていました。また、Stopを押した後も増加するようになっていました。そのため、Startを押してRPA_runningがTrueのときだけcountを増加するようにしました。
4-5.ログ出力順番の変更
今まではログ出力後にミーティングを開始/終了していましたが、ミーティングを開始/終了後にログを出力するようにしました。
5.今後
画像認識をしている間に時計が止まるため、時計部分を並列処理し常に動くようにする予定です。
6.願望
ミーティング開始時の画像認識が60秒程度かかるため、画像認識を高速化させたいです。ただ、真面目にやると私の修論テーマになりかねないので考え中です。
または高速に画像認識できる既成のモジュールを用意するなども考えています。