以前、端末の向きによって別の処理を行うTipsが話題になりました.
今となってはActionsを使うことなくショートカットアプリ側でアクションが追加されましたね.
これと比べると便利さは劣りますが、同じことを音量を変える操作で行うこともできます.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
スポンサーリンク
基本
まずはシンプルなやり方で考えます.
向きと違って今回は相対的な音量の変化を見るので、「実行時の音量」と「変更後の音量」の最低2つが必要です.
現在の音量を取得するには「デバイスの詳細を取得」アクションで「現在の音量」を選べばいいです.
これを適当に"before"とでも名付けておきます.
変更後を見るために「待機」アクションで2秒ほど待った後、再び「デバイスの詳細を取得」で現在の音量を取得し、これを"current"とでも名付けます.
currentを取得したら音量を戻しておきます、「音量を設定」アクションでメディアの音量をbeforeの値にします.
レシピの内容によっては最後にやっても問題ないでしょう.
複数処理するための情報としてのbeforeとcurrentが取得できたので、これを使って場合分けします.
例えば2数が一致する場合.
一致しない場合はどちらが大きいかどうかで2通り増えるので最大3通りの処理に分けられます.
今回は単純に大小関係を結果に表示するだけにします.
実行後の「待機」アクションまで何もしなければ2数は一致します.
「待機」アクションが終わるまでに音量を弄って実行時との音量を変えれば分岐できます.
改良
基本的には基本のやり方を参考に、実際にやりたい処理に改造すればいいですが、次の懸念点があります.
- 丸め処理
取得した音量の値は、まれに0.49999...といった境界値になることがあるため、例えば下4桁で均さないと一致しているはずが一致していない扱いになる恐れがある - コントロールセンターの開閉(必須ではない)
スマホケースを付けている場合、種類によっては音量ボタンを覆うタイプで押しづらいことがあります
その場合コントロールセンターから操作した方が良かったりします
この2つの仕様変更をしてみます.
とはいってもそこまで難しい内容ではありません.
丸め処理の場合は、取得した音量を「端数を処理」アクションで1万分の1にしてから変数に設定します(赤で囲った部分).
コントロールセンターを開閉して音量を操作する場合は「待機」アクションの直前に開き、直後に閉じるよう追加します(青く囲った部分).
他は基本の場合と同じです.
〆
画像では一致する場合と大小の3通りでのみ場合分けしましたが、操作に自身があればもう少し条件を増やすことができますね.
最大(=1)と最小(=0)くらいなら多くの人が扱えるでしょう.
音量の代わりに明るさを使う手もあります.
やることは音量の場合とまったく同じです.