jeyseni's diary

「ジェイセニ」と呼んでください。批判ではなく提案をするのが生き甲斐です。

時刻が知りたいニーズに,macrodroidの「振って時報」をベースに,イヤホン接続時に時報を読み上げるマクロを作成

日本の製品から多様性がなくなった--面白くて安く,多様なモノを産み出せる中国のすごさ - jeyseni's diary (2024/12/13)の中で,時計表示のできる指輪スマートリングを紹介した。筆者の希望としては,LED方式ではなく,反射型液晶パネルあるいは電子ペーパーによる表示がベターと評価した。

 将来的には,AR(拡張現実)メガネを着用して,さまざまな情報がリアルタイムで目の前に表示されることが当たり前になり,筆者ならそこに常に時計を表示しておけば満足できるだろう。

 その前に,視覚ではなく「聴覚」で時刻を知る方法を検討してみた。ここに登場するのがAndroidスマートフォンで使えるマクロ言語「macrodroid」である。

 すでに,10秒おきに時報を読み上げるマクロを自作して使っている。時報だけでなく,移動速度,標高は標準で読み上げることができるほか,緯度経度から逆ジオコーディングという方法で住所を読み上げることにも成功した(逆ジオコーディングはYahooで満足のいく出力ができた--求めていた“住所読み上げ耳ナビ”をMacrodroidで完成 - jeyseni's diary 2024/11/24)。この辺りの仕組みは,その後も適宜,便利に使っている。

 macrodroidは,多くの人が自分の作成したマクロを公開している。その中に,スマホを振って時刻を読み上げる,というマクロがあった。これなら,スマホをいちいちオンにしなくても時刻を知ることができると思った。ところが残念なことに,画面がオフの状態ではこのマクロが筆者のスマホではうまく動かないことが分かった。

 スマホを使った「耳ナビ」は,イヤホンを使っていることが前提である。周囲に音を出すのは問題だからである。そこで,スマホを振る代わりに,イヤホンを接続したときにマクロが動くようにしたのである。

 具体的には,イヤホンジャックに有線イヤホンを差し込んだことを感知してアクションを動作させるようにした。これだと画面オフの状態でも検知ができた。

 しかし,イヤホンジャックがスマホの下部にあるため,これも面倒である。そこで,Bluetoothイヤホンを接続したときにも,アクションが動作するようにした。

 いずれも,イヤホンを取り出して準備できた時点の時刻を知ることができる。さらにその状態でスマホの特定の操作をしたときに時刻を読み上げられる方法を探したところ,スマホを裏から表にひっくり返したときにアクションが働くようにできた。

 macrodroidは実にいろいろなことができる。不要と思われるマクロもさまざま公開されているし,スマホの機種によってはそのまま使えないものもある。しかし,macrodroidのプログラマーはいろいろな面白い使い方を教えてくれる。スマホアプリとして公開されていないような細かい操作をプログラムすることもできる。そんなちょっとした“改造”を頭の体操として筆者は楽しんでいる。