0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Fire TV StickをPCのスピーカーにしてリビングを乗っ取る方法。

0
Posted at

PCの音楽をFire TV Stickへ低遅延転送する:SoundWireでリビングを無線スピーカー化した方法

はじめに

「PCで流してる音楽を、リビングのテレビ(Fire TV Stick)から大音量で流したいなぁ」

そんなノリです。

画面ごとミラーリングするアプリ(spacedeskとか)も試したんですけど、やっぱり映像まで送るとPCへの負荷が重いし、動画の遅延(ラグ)も気になりますよね。

「音声だけを低遅延でリビングに飛ばしたい!」

ということで、音声専用の転送ソフト SoundWire を使って、リビングの無線スピーカー化をする方法です。

PC側に入れるSoundWire Serverは、公式サイトからダウンロードできます。

完全無料で構築するまでに、Fire OS特有の仕様やネットワークの罠にいくつかブチ当たったので、その回避策もセットで置いておきますね。


1. Fire TV Stick側の「下準備」

まずはFire TV Stickをハックするための下準備から進めます。

開発者モード(デベロッパーモード)の解放

Fire OS 7以降、開発者オプションはデフォルトで隠されちゃっています。

  1. 設定 > マイ Fire TV > バージョン情報 を開きます。
  2. 一番上の Fire TV Stick... という項目を、リモコンの決定ボタンで 7回連続で連打 します。
  3. 「これでデベロッパーになりました」と出ればOKです。

一つ戻ると、開発者オプション が出現しています。


2. APKの転送環境を作る(完全無料)

SoundWireはFire TVの公式ストアにないので、Android用のAPK(アプリの生データ)をPCから送り込む必要があります。

ファイル共有(FTP)の起動

アプリストアで ES File Explorer をインストールします。

アプリ内の ネットワーク > リモートマネージャー(Remote Manager) を選択して、オンにする をクリックします。
S__103997442_0.jpg

画面に次のようなアドレスが表示されます。

ftp://192.168.x.x:3721

このアドレスをPCのエクスプローラーのアドレスバーに入力すれば、Wi-Fi経由でFire TV内部の Download フォルダなどにアクセスできるようになります。


【罠1】XAPKを掴むな、APKを掴め

PCでSoundWireのAndroid用ファイルを落とすとき、拡張子が .xapk になっているものを送ってしまうと、Fire TV側で「解析エラー」が起きてインストールできません。

必ず、通常の .apk 形式のファイルをダウンロードして転送してください。

OK: .apk
NG: .xapk

ここでちょっと首を傾げました。


【罠2】ES File Explorerではインストールできない

最近のES File Explorerはなかなかに強気で、無料版だとAPKのインストール機能に制限をかけてきます。

というわけで、APKの転送にはES File Explorerを使い、インストールには別アプリを使います。

解決策:X-Plore File ManagerでAPKを開く

今回は X-Plore File Manager を使いました。

Fire TVのアプリストアから X-Plore File Manager をインストールしておきます。
S__103997444_0.jpg

その後、ES File Explorer経由で転送したSoundWireのAPKを、X-Plore File Managerから開きます。

  1. X-Plore File Managerを起動します。
  2. Fire TV内部ストレージの Download フォルダを開きます。
  3. 転送しておいたSoundWireの .apk ファイルを選択します。
  4. インストール確認画面が出たら、そのまま進めます。

これで、お金を払わずにサクッとインストールが完了します。

もしX-Plore File Managerが使いにくい場合は、次のアプリでも代替できます。

  • File Manager +(ファイルマネージャープラス)
  • Downloader

3. リモコンじゃ文字が打てない問題

無事にインストールできたSoundWireを起動して、PCのIPアドレスを入力しようとした瞬間に、次の絶望が訪れます。
S__103997445_0.jpg

入力欄をタップしても、画面に仮想キーボードが出てこない……

モバイル用のAPKを無理やり入れている弊害ですね。

Fire TVのリモコンを、アプリ側がうまく認識してくれません。

解決策:スマホをリモコン化して流し込む

この文字入力制限は、公式アプリを使って力技で突破します。

  1. スマホに公式アプリ Amazon Fire TV を入れて、同じWi-Fi内のFire TVとペアリングします。
  2. スマホアプリの右上にある キーボードアイコン をタップします。
  3. スマホのキーボードからPCのIPアドレスを打ち込んで送信します。

すると、Fire TV側の入力欄に文字が直接流し込まれます。

これで最初の1回だけの難所をクリアです。


4. 最後の関門:複数ネットワーク(仮想IP)の競合

PC側でSoundWire Serverを立ち上げると、画面に Server Address が表示されます。

ただ、ここに表示されたIPをそのまま打ち込んでも繋がらないケースがあります。

原因:WSL2やVMwareの仮想アダプター

PCで WSL2VMware などの仮想環境を運用している場合、SoundWire Serverがそちらの仮想ネットワークのIPを「PCの代表IP」として画面に表示してしまうことがあります。

たとえば、次のようなIPです。

172.28.x.x
192.168.187.x

当然、Fire TVはそんなローカルな仮想空間にはアクセスできないので、接続エラーになります。

対策:本物のIPをipconfigで見つけ出す

PCのターミナル(コマンドプロンプトやPowerShell)を開いて、ipconfig を実行します。

ipconfig

出力の中から、無線 LAN アダプター Wi-Fi の項目を探します。

無線 LAN アダプター Wi-Fi:

   IPv4 アドレス . . . . . . . . . . . . : 192.168.0.31

見るべきなのはここです。

192.168.0.31

仮想ネットワーク群は無視して、無線 LAN アダプター Wi-Fi にある、ルーターから割り当てられた本物のプライベートIPを見つけ出します。

例としては、次のようなIPです。

192.168.0.x
192.168.1.x

この本物のIPを、先ほどのスマホアプリ経由でFire TVのSoundWireに入力します。

そして、接続ボタンを押すと……


5. リビング、乗っ取り完了

いけましたぁぁぁ!!!

PCで再生したYouTubeの音や音楽が、超低遅延でリビングのテレビスピーカーから爆音で流れ始めます。

画面キャプチャを伴わない、つまり音声パケットだけを投げる構成なので、PCのCPUやWi-Fi帯域への負荷はほぼありません。


仕組みの考察

SoundWireは、PCのサウンドカードに流れるデジタル信号をリアルタイムに「コピー(キャプチャ)」して、ネットワーク上のFire TVに送っています。

通信にはUDPが使われており、ポートは 59010 です。

横取りではなく「コピー」なので、PC本体からもテレビからも同時に音が出せるのが面白いところです。

PC側をミュートにすれば、テレビだけから鳴らせます。


まとめ

ネットワーク内に複数のNIC(仮想ネットワークカード)が存在する環境でのIPバインドの挙動や、Androidの入力ストリームの仕様など、エンジニア的にもかなり学びのある「リビング乗っ取り計画」になりました。

今回のポイントは以下です。

  • SoundWireはFire TV公式ストアにはないため、APKを転送してインストールする
  • .xapk ではなく .apk を使う
  • ES File Explorerは転送用、インストールはX-Plore File Managerを使う
  • File Manager +やDownloaderも代替候補になる
  • Fire TVのリモコンで文字入力できない場合は、Amazon Fire TVスマホアプリを使う
  • SoundWire Serverに表示されたIPではなく、ipconfig でWi-Fiの本物のIPv4アドレスを確認する
  • WSL2やVMwareなどの仮想アダプターのIPを入力しても接続できない

デスクの作業用BGMを部屋全体に響かせたい方は、ぜひお試しあれ!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?