リアルタイム画像生成時における、手元画像の差し替え自動化。


twitterで話していたやつですね。


kcmとkeymapper

touchtaskとmacrodroidを

習得してないと使いこなせないですし

世間様の耳目もある中で

あんましaiの話をするのも

よろしくないかとは思いますが


「自分の作ったマクロに

男はドンと胸を張れ」と

トムさんに言われた気がするので

公開しておこうかと。はい。


ちなみに動作環境は

xiaomi pad 5 (android13 miuiOS)


(xiaomiのシステムファイルマネージャーの

「カメラ」フォルダを使ってるので

違う端末使うなら、★のついた所の

テキストid差し替えてくだせえ)


読み込み可能枚数 70枚ほど

(縦1760×横1600pixel dpi1100

端末フォント・表示サイズ xs条件下)

(差し替え所要時間 4~5秒)


使用ブラウザ berrybrowser


ですね。


それでは以下、マクロです。


──────────────────


トリガー

インテント受信

bluetooth.kara.intent.keiyudeno.hand1

インテント受信

bluetooth.kara.intent.keiyudeno.hand2

インテント受信

bluetooth.kara.intent.keiyudeno.hand3



アクション



変数の値を消去

check, check1, select, touch, touch1, url


条件分岐を開始 [If]

ユーザー補助サービスが無効 ([MacroDroid, MacroDroid UI画面操作])


ユーザー補助サービス

無効 : [MacroDroid, MacroDroid UI画面操作]


ユーザー補助サービス

有効: [MacroDroid, Macro Droid UI画面操作]


条件分岐を終了 [End If]


コンテンツIDから文字を取得

jp.ejimax.berrybrowser:id/center_button_url-> url

↑urlから開いてるサイトを検知してる


UI画面操作

クリック [fileSelect]

↑ タッチが失敗したらSelectにFalseが入る

条件

変数url = akuma.ai/canvas



待機 300 ミリ秒


※条件分岐を開始 [If](ここから)

url=akuma.ai/canvas


UI画面操作

クリック [fileSelect]

条件

変数select = False


アクションブロック

fileselect


アクションブロック

fileselect


アクションブロック

fileselect


アクションブロック

fileselect


アクションブロック

fileselect


アクションブロック

fileselect


待機 300 ミリ秒


UI画面操作

★クリック [アルバム]

↑タッチが失敗したら touchにFalseが入る


アクションブロック

touch


アクションブロック

touch


アクションブロック

touch


アクションブロック

touch


アクションブロック

touch


アクションブロック

touch


アクションブロック

touch


コンテンツIDから文字を取得

★com.google.android.providers.media.module:id/album_name => check

↑画面遷移が行われたかどうか判別してる

(行われた場合、値が 「カメラ」 になる)


アクションブロック

check


アクションブロック

check


アクションブロック

check


アクションブロック

check


UI画面操作

★クリック [com.google.android.providers.media.module:id/album_name]

↑タッチが失敗したらtouch1にFalseが入る


アクションブロック

touch1


アクションブロック

touch1


アクションブロック

touch1


アクションブロック

touch1


アクションブロック

touch1


アクションブロック

touch1


アクションブロック

touch1


待機 300 ミリ秒


画面を確認

2024年11月1日 ->  = check 1

↑「カメラ」フォルダの中に入れているか確認してる

(「カメラ」フォルダ内の画像はすべて

11月1日付のテキストIDにしている)


アクションブロック

check1


アクションブロック

check1


アクションブロック

check1


アクションブロック

check1


条件分岐を開始 [If]

発動したトリガー: インテント受信: bluetooth.kara.intent.keiyudeno.hand1


UI画面操作

★クリック [2024年11月1日 午後11:15:40 に撮影した写真]

↑「画面を読む」 アクションで調べた

画像のテキストidの名前を

「テキスト内容」 で指定する


条件分岐を終了 [End If]



条件分岐を開始 [If]

発動したトリガー: インテント受信: bluetooth.kara.intent.keiyudeno.hand2


UI画面操作

クリック [2024年11月1日 午後11:18:29 に撮影した写真]


条件分岐を終了 [End If]



条件分岐を開始 [I]

発動したトリガー: インテント受信: bluetooth.kara.intent.keiyudeno.hand3


UI画面操作

クリック [2024年11月1日 午後11:20:20 に撮影した写真]


条件分岐を終了[End If]



※条件分岐を終了 [End If](ここまで、ひとくくり)



──────────────────────

で、各アクションブロックはこうです。

──────────────────────



アクションブロック touch


アクション

待機 200 ミリ秒

条件

変数touch = False


UI画面操作

クリック [アルバム]

条件

変数touch = False

──────────────────


アクションブロック touch1


アクション

待機 200ミリ秒

条件

変数touch1 = False


UI画面操作

クリック [com.google.android.providers.media.module:id/album_name]

条件

変数touch1=False

───────────────────


アクションブロック check


アクション

コンテンツIDから文字を取得

'com.google.android.providers.media.module:id/album_name' -> check

条件

変数check != カメラ


待機 200ミリ秒


条件

変数check != カメラ


──────────────────


アクションブロック check1


アクション

待機 200ミリ秒

条件

変数check1 = False


画面を確認

'2024年11月1日 ' -> check1

条件

変数check1 = False



──────────────────


アクションブロック fileselect


アクション


待機 200 ミリ秒

条件

変数select = False


UI画面操作

クリック [fileSelect]

条件

変数select = False

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る