ChatGPTに相談しながらGoogle TVのアプリを作ってみた
最近ChatGPTのPlusを契約して雑談や相談、このブログの校正なんかやってもらってます。
今までGeminiの無料プランを使ってたのであまりやる気にならなかったのですが、せっかく有料プランを契約したので、今まで不便に感じてたことが解消できるか試してみました。
やりたかったこと
私はGoogle TV Streamerを使っていて、この音声出力周りでちょっと不満がありました。
Google Home Speakerを外部スピーカーとして接続し、たまにPixel Buds Pro 2を接続して使っています。
- TVオーディオ(HDMI)
- Google Home Speaker
- Pixel Buds Pro 2
という3つの音声出力があるわけです。
基本的にメインの出力はGoogle Home Speakerにしたいんですが、Pixel Buds Pro 2を切断するとデフォルトのTVオーディオに戻ってしまうんです。
なのでその都度、手動で音声出力を切り替えないといけません。
その音声出力の切り替えも意外と面倒で、リモコンのホームボタンを長押ししてクイック設定を開き、そこから音声出力を選択し、さらにGoogle Home Speakerを選ぶというものです。
たまにやるならいいんですが、毎回となるとちょっと面倒。
かと言ってデフォルトの音声出力をGoogle Home Speakerにするということもできません。
しかも厄介なことに、私はPixel Buds Pro 2をマルチポイントで使ってるのですが、スマホで使うためにイヤホンを取り出すとこのGoogle TV Streamerにも接続されてしまいます。
Google TV Streamerがスリープ状態でも接続されるんですね。
なので次にGoogle TV Streamerを起動すると、音声出力がTVオーディオになってるんです。
これをなんとかしたいんだけどできるか?とChatGPTに聞くと「できる!」と答えてくれたのでやってみました。
やったこと
音声出力自動切り替えアプリ「AudioSwitcher」というアプリを作成します。
準備
準備としてGoogle TV StreamerをPCから操作する設定やadb、Android SDKのインストールなどが必要なのですが、全部詳しく教えてくれたので特に迷うことなく準備ができました。
アプリを作る
まずはアプリを作って、そのアプリを起動すると「リモコンのホームボタンを長押ししてクイック設定を開き、そこから音声出力を選択し、さらにGoogle Home Speakerを選ぶ」という流れを自動で行うようにしました。
ChatGPTから「adbでこういうコマンドを打って、返ってきた値を教えて」みたいな指示をもらいながらやり取りしていき、できることとできないことを判別してアプリの設計を決めてくれました。
その後はAndroid SDKでアプリの作成ですが、これも全部「このファイルの中身をこれにして」とか「ここにこの名前でファイル作って」みたいに指示してくれたので私はそれを実行するだけ。
そしてアプリが出来上がったらAPKファイルをadbでGoogle TV Streamerにインストールして動作確認します。
それを何度か行い、バグを解消してとりあえず目的の動作はできるようになりました。
自動実行
次はGoogle TV Streamerが起動する度にこのアプリを実行できるようにしました。
これもChatGPTがadbで色々確認してくれてました。私には正直全くわからなかった…
で、これもAPKをインストールしてデバッグしながら何度か行い、無事完了。
Bluetooth切断時に実行
これも自動実行と似てますが、Pixel Buds Pro 2の切断を検知してアプリを実行するというものです。
これはなかなか難しかったイメージですね。
今何に接続されてるか、切断した後はどうなるのかなど、調べながらやってましたね。
流れは自動実行と同じです。結局トライ&エラーですね。これも無事完了。
自動実行の改修
今まではGoogle TV Streamer起動時に強制的にアプリを実行していましたが、「Google TV Streamer起動時に音声出力がTVオーディオの場合のみアプリを実行」することにしました。
今回はChatGPTで相談しながらではなく、Codexで一連の流れを自動でやってもらうことにしました。
このCodexを使うのもChatGPTに勧められたんですよね。
私が「こういうアプリ作るのってCodex使えば楽にできるの?」と聞くと「できるよ!今まで相談しながらやってたことをCodexなら全部自動でやってくれる。次、このアプリのバージョンアップする時はCodex使ってみようよ!」って言ってくれたんですよね。賢いなぁ。
というわけでCodexにまかせてみました。
ですが、Codexへの指示は全部ChatGPTに書いてもらいました。AIへの指示をAIに作ってもらう。ああ、未来だ。
で、Codexはすごくてadbコマンドでの検証を自動で行い、途中に機器の操作が必要なら「Bluetooth機器に接続して10秒後に接続したと言ってください」みたいな感じでこっちに指示もくれるんですよね。
それに「こういう事を試したがだめだった。別の方法を探す」みたいなログも見えるんですよね。めっちゃ賢い。
最終的に「仕様ができたのでこれでAPKを作ります。いいですか?」みたいな確認がきてOKして実行すると、その流れでインストールまで行いました。
そこで終わりではなく、ちゃんと実動作のデバッグも行うよう指示をくれるんですよ。すごいね。
デバッグでもちゃんと「こうして、ああして」みたいな指示をくれるので、こっちはなすがままです。
何度かそれを繰り返し、最後は無事に完了しました。動作も問題なし!
実際の動作
ちなみに、音声出力を裏側で直接変更することはできなかったので、リモコンで行っていた操作を自動で実行するアプリになっています。
実際の動作はこんな感じです。
やってみて
実際APKを作ってみましたがめっちゃ楽しい!
今までこういう事ができたらなぁと不満に思いつつも、設定で変更できなかったり、そういうアプリがなかったりしてあきらめてたことも、今後はできるようになるかも?って思いました。
そりゃみんなAI使うわ…って思いましたね。
特にCodexはすごかったな。まじで全部自動。しかもちゃんと要所要所で確認してくれるし、ちゃんと設計書みたいなのをまとめてくれます。
それにCodexオンリーではなく、Codexが出してきた確認事項とかエラーの内容とかはChatGPTに質問してたので、要は使い分けですね。
アプリの仕様はChatGPTと相談しながら決めて、その仕様をもとにアプリを作る指示書もChatGPTに書いてもらう。
Codexにはその指示書をもとにアプリを作ってもらい、開発中に出たエラーの内容とか確認事項があれば都度ChatGPTに相談してどうするか決める。
こんな感じの使い方が良さそうです。というよりみんなこんな感じでやってるの?
とにかくやってて楽しかったので、他にもやりたいこと出てきました。
これまであきらめてたことができるようになるってほんと楽しいですよね!

