Androidスマホ自体のMiracastレシーバ化例
(副題:Miracastスクリーンショット取得用スマホの構築例)
Miracastレシーバとの接続機能(Smart View等)を標準装備するAndroidスマホは多くなっています。
しかし、Androidスマホ自体をMiracastレシーバとして動作させる機能を標準装備させたAndroidスマホはあるのでしょうか?
そういうスマホ自体はあまりないようですが、Smart View機能を装備していないAndroidスマホ自体をMiracastレシーバ化することもできるのでここでご紹介致します。
ここでの例を簡単に言うと、Smart View機能を装備していないAndroidスマホに「AirScreen」アプリと「Miracast - Wifi Display」アプリをインストールすることによってMiracastレシーバ化が可能となります。
- 「AirScreen」アプリについて
「AirScreen」アプリは元々は「AirPlay、Cast、Miracast及びDLNA向けのストリーミングレシーバ」機能を提供していました(DLNAについてはDLNAレシーバにできない機種もあるようです)。
しかし、Playストアでの機能説明にもあるように、「Android 8.0以降、Miracast機能が無効」となっています。
AirScreenの設定で[Miracast]が「オフ」になっているのを「常にオン」に変更するとSmart ViewではMiracastデバイスとして表示はされますが、Miracast接続はできません。
そのため、下記の「Miracast - Wifi Display」アプリの力を借りることになります。
尚、AirScreenはAirReceiver同様に常駐するアプリになっています。
- 「Miracast - Wifi Display」アプリについて
「Miracast - Wifi Display」アプリの主たる機能はワイヤレスディスプレイデバイスにMiracast接続して画面伝送する機能です。
Microsoft Wireless Display Adapterとの接続開始時の様子;
実は、「Miracast - Wifi Display」アプリにはAndroidスマホ自体をMiracastレシーバとして動作させるオプション機能も内蔵されています。
しかし、Playストアでの機能説明にはMiracastレシーバとして動作させるオプション機能があることは記載されていません。
Androidスマホ自体をMiracastレシーバとして動作させる手順を以下にご紹介致します。
- Miracastレシーバ化環境
- Miracastレシーバ化するAndroidスマホ
今回Miracastレシーバ化してみたAndroidスマホは、Galaxy版S22 Ultraに外観が似た海外向けの「S22 Ultra」(別名:S22 Ultra Pro)というちょっと紛らわしい名前のAndroidスマホです(Galaxyではないようです)。
(1)このスマホの特徴は以下の通りです。
- Smart Viewの標準装備:なし
- 日本語入力キーボードの搭載:なし
→ 「Desh Japanese Keyboard」アプリで日本語入力キーボードが英語モードの環境でも使用できるようにしました。
- 言語選択一覧の中にJapaneseとか日本語がありません。
→ adb/adbLink環境で「Morelocale 2」アプリを実行させる権限を設定して「Morelocale 2」アプリで日本語化しました。
・日本語化された設定画面の例
(2)このスマホには、「AirScreen」アプリと「Miracast - Wifi Display」アプリをインストールしておきます。
(3)「AirScreen」アプリはここではMiracastレシーバデバイスとして初期化(Miracastレシーバデバイス名の付与等)するために使用します。
(4)「AirScreen」アプリによって初期化されたMiracastレシーバのデバイス名は「AS-S22UltraPro[Miracast]」となりました(ASはAirScreenの頭文字でしょうか?)。
- Miracastレシーバに接続するAndroidスマホ
Smart View機能を標準装備したGalaxy S8を使用してみました。
「S22 Ultra」とGalaxy S8は同じWi-Fiネットワークに接続させておく必要は特にありません。
Miracastレシーバとの接続及び画面伝送はWi-Fi Direct接続経由となりますが、Galaxy S8はWi-Fi Direct接続中でも通常のインターネットアクセスを並行して行えます。
- 「S22 Ultra」のMiracastレシーバ化手順
(1)「AirScreen」アプリの起動
「AirScreen」アプリを起動するとインターネット経由でAirScreenの認証サーバに接続されてAirScreen用デバイスとしての初期化が行われます(これは一度だけ起動すれば常駐されます)。
初期化された直後に「AS-S22UltraPro」というデバイス名が出て、「あなたのコンテンツを共有してください」と表示されて待機状態になりますが、これに対するMiracast接続はできませんので放置してホーム画面に戻ります。
(2)「Miracast - Wifi Display」アプリを起動し、以下の操作をします。
- 「Miracast - Wifi Display」アプリ側に表示される[CONNECT]タップで「Cast screen」画面が表示されます。
この時点の「Cast screen」画面にはMiracastレシーバにするためのオプションは表示されません。
仮に「Miracast - Wifi Display」アプリを起動したスマホにSmart Viewが装備されていたとすれば、この[CONNECT]タップでSmart Viewが開いてしまい、やはりMiracastレシーバとして動作させるオプションは表示されなくなります。
- 「Cast screen」画面の右側の縦三点リーダーでの[Enable wireless display]オプションにチェックを入れると、[Discoverable by others]オプションが表示されるようになります。
この[Discoverable by others]オプションがAndroidスマホをMiracastレシーバとして動作させるオプションとなります。
- [Discoverable by others]オプションにチェックを入れます。
【留意事項】
遅くともこの時点では、Miracastレシーバ化するスマホのWi-FiオプションはOnのままで、アクセスポイントとのWi-Fi接続は切っておくことがMiracastレシーバの安定動作の要件となるようです。
(Connected/接続済み状態を解除しておきます)
- [Discoverable by others]オプションにチェックを入れた瞬間に「Waiting for connection invitations from other devices.」と出てMiracast接続の待機状態になります。
- Galaxy S8からのMiracast接続
- クイックメニューからSmart Viewを開きます。
Smart ViewオプションがOffになっていればOnにします。
- 接続先一覧の中に現れる「AS-S22UltraPro[Miracast]」をタップします。
この時、Miracastレシーバとなった「S22 Ultra」側には以下のダイアログが表示されます。
ダイアログ:「[Phone] Galaxy S8 wants to build connection with you.」
このダイアログに対して[ACCEPT]をタップします。
[ACCEPT]をタップした後に、「Building connection.」と表示されます。
【補足】
Microsoft Wireless Display AdapterやAnyCast等のハードウェアMiracastレシーバデバイスでは接続要求に対して拒否する術がありません。
しかし、「Miracast - Wifi Display」アプリによるソフトウェアMiracastレシーバデバイスでは接続要求に対して接続拒否(Decline)できる点がMiracast運用の安全性を高めているとも言えます。
- やがて、Miracastレシーバ化された「S22 Ultra」側にGalaxy S8のホーム画面が表示されます。
- Galaxy S8のChromeでWebアクセスするとそのChrome画面が「S22 Ultra」側にそのまま伝送されて表示されます。
- 下記はGalaxy S8側の設定画面が「S22 Ultra」側に伝送された例です。
- Galaxy S8の「フォト」アプリの横長動画の映像・音声の再生のされ方(Galaxy S8本体を横向きにした場合);
| Galaxy S8 | Miracastレシーバとなった「S22 Ultra」側 |
映像 | 映像再生される | 映像再生される |
音声 | 音声再生なし | 音声再生される |
- Miracast接続の解除操作
Miracast接続の解除方法としては次の二つがあります。
(1)Galaxy S8側でのクイックメニューの「AS-S22UltraPro[Miracast]」をタップして[Smart View接続を終了]で接続を解除します。
(2)「S22 Ultra」側でホーム画面表示等の画面操作をすると自動的に接続解除されます。
- 補足
- Wi-Fi設定について
Miracast接続はWi-Fi Directによって画面伝送が行われます。
このため、Miracastレシーバに接続するデバイス及びMiracastレシーバデバイスは共にWi-Fi設定がオンになっている必要がありますが、Wi-Fiアクセスポイントに接続されている必要はありません。
これがMiracast接続の最大の利点で、フリーWi-Fi等の無い場所でも画面伝送が可能となります。
(Wi-Fi Direct以外での画面伝送では二つのデバイスが同じWi-Fiネットワーク上になければならないという大きな制限を受けてしまいます)
Galaxy S8のWi-Fi状態 | Miracastレシーバとなった「S22 Ultra」側のWi-Fi状態 |
Wi-Fi Direct表示;
| 同左 |
- Miracastレシーバ化されたスマホの主たる用途
Miracastレシーバ化されたスマホの主たる用途の一つは店頭に展示されている新機種(スマホ)のリモート画面キャプチャとも言えます。
通常、新機種の画面キャプチャ画像はその新機種自体の中に格納されてしまい、それを自分のスマホにコピーすることは困難です。
と言って、新機種の画面を自分のスマホのカメラで撮影してもそのキレイさはスクリーンショットには及びません。
カメラで撮影した画面例;
しかし、その新機種からこのMiracastレシーバにMiracast接続して、Miracastレシーバ側でその新機種の画面をキャプチャすれば問題ありません。
下記は、Galaxy S23の展示場所でスタッフの了解を得てこのMiracastレシーバにMiracast接続してMiracastレシーバ側で新機種の画面をキャプチャ(リモートキャプチャ)したものです。
- その他
- Windows 11 デスクトップPCからのMiracast接続
Windows 11(22H2)のデスクトップPCにELECOMの無線LANアダプタ(WDC-867DU3S)を接続して「AS-S22UltraPro[Miracast]」に接続してみました。
- まずは、Win+Kでのデバイス表示
ここで、「AS-S22UltraPro[Miracast]」を選択します。
- 「S22 Ultra」側での操作等
- [ACCEPT]をタップ
- Windows側の表示
Miracast接続前のWindows側の解像度は1920x1080でしたが、Miracast接続後のWindows側の解像度は1024x768になりました(プロジェクションモード:複製)。
・Miracast接続後のWindows画面(1024x768)
- 「S22 Ultra」側での表示(複製モード)
Windows側の1024x768の画面が1200x540の解像度に変換されて「S22 Ultra」側に表示されました。
(「S22 Ultra」側でのWindows 11デスクトップの表示は横方向にかなり引き延ばされたイメージです)
【補足】
同じWindows11のデスクトップを別のMiracastレシーバ(Microsoft Wireless Display Adapter)に接続してみました。
複製モードではWindows11のデスクトップ解像度は1024x768となりました(拡張モードでは1920x1080のままです)。
その際のMiracastレシーバ側での表示ではデスクトップ画像の両端に黒帯が付きました。
- DeX環境
(1)DeX環境でも「AirScreen」アプリは起動できます(アプリ画面例)。
(2)DeX環境でSmart Viewを起動すると、「HDMIケーブルの取り外し」指示が表示されます(つまり、DeX環境でのSmart View利用はできないということになります)。
- ワイヤレスDeX接続の試み(スマホ画面自体をDeX画面として操作する試み)
(1)Galaxy S23のクイック設定メニューの[DeX]をタップします。
(2)Samsung DeXの「ワイヤレスで接続」という部分にMiracastレシーバデバイス一覧が表示されます。
ここで、AS-S22UltraPro[Miracast]を選択します。
(3)DeX開始の確認ダイアログで[今すぐ開始]をタップします。
(4)Miracastレシーバ側に「Samsung DeXへようそこ」画面が表示されます(初回限定表示?)。
(5)「Samsung DeXへようそこ」画面の一番下には「開始するには、端末で[開始]をタップしてください。」と表示されています。
この時点で、Galaxy S23側の「Samsung DeX」画面にはSamsung DeXの注意事項等が表示され、その一番下の「開始」という赤いボタンをタップします。
(6)Miracastレシーバ側にDeXデスクトップ画面が表示されます。
タッチパネル式モニタを使用した場合にはモニタ側でのタッチパネル操作が可能です。
今回のMiracastレシーバ側スマホはタッチパネル式モニタとして認識されないためDeXデスクトップ画面に表示されたアイコンをタップしても何の反応もありません。
尚、Galaxy S23側には端末をタッチパッドとして使用するためのガイドが表示され、そのガイドに従って画面一番左下の長方形のDeX画面アイコンをタップするとGalaxy S23側の画面がブラックスクリーンのタッチパッドに早変わりします。
その結果、Galaxy S23側のタッチパッドを使ってDeXデスクトップをマウス操作と同様なポインタ操作ができるようになります。
【補足】
ApowerMirrorアプリをWindowsとAndroidスマホの両方にインストールすると、Androidスマホ側にWindowsデスクトップを表示して、Androidスマホ側のタッチパネルを利用してWindowsを直接ポインタ操作できるようになります。
ApowerMirrorを使用してGalaxy S8からWindowsを操作している画面例;
- S23デモ機のアプリ一覧の画面例;
- S23デモ機の「フォト」アプリの画面例;
(7)今回気になった事項(Excelモバイルアプリの動作)
今回は店頭のS23デモ機には何も影響を与えないという条件を守るために店頭スタッフさんのご厚意の下でDeX操作を実施させて戴きました。
しかし、デモ機利用の制約等からExcelモバイルアプリの動作検証は実施できませんでした。
今回の気がかり事項は10.1インチ未満(Miracastレシーバ:10.1インチ未満のS22UltraPro)のデバイスに接続する場合のExcelモバイルがどうなるかということでした(Microsoft 365 サブスク要否)。
Microsoftサポート情報によれば、10.1インチより大きいサイズのモニター接続ではMicrosoft 365 サブスクリプションが必須となっています。
そのため、モバイルデバイス(モニタ)が10.1インチより大きい場合は、「編集と保存を行うには、Microsoft 365 サブスクリプションが必要です。 」と表示されます。
しかし、今回はS23のDeXに接続されているモニターは10.1インチ未満のスマホ自体という特例になっており、Microsoft 365 サブスク要否がどうなるかが気になっています。
S23のDeXモードで表示された「接続されたテレビは、ワイヤレスDeX用に最適化されていません。」という警告メッセージ(DeX画面にも表示)がどのように影響するのかが気になりました。
・ご参考:Galaxy S8のDeX(13インチモニタ)上でのExcel実行例(Microsoft 365 サブスクリプション適用済)
(8)おまけ:Galaxy Z Fold5でのワイヤレスDeX利用例
Galaxy Z Fold5はそれを開いたメインディスプレイ上で最大3つのアプリを同時利用することができたりしてミニタブレットの代替えデバイスとしても使用可能かと思います。
もちろん、Galaxy Z Fold5においてアプリを既存のアプリ画面の上にポップアップ表示することもできるのですが、PCライクな自由度の高いアプリ表示位置にすることは困難です。
そこで、今回構築したMiracastレシーバ(AS-S22UltraPro[Miracast])にGalaxy Z Fold5からワイヤレス接続してDeX操作を試してみました。
- Galaxy Z Fold5のアプリ一覧画面
- 「設定」画面例;
端末のメイン画面に表示される設定画面同様にDeXデスクトップ画面に見開き表示される「設定」画面はやはり操作がしやすいです。
上記の設定画面の画像が小さすぎて設定変更内容が分かりずらいですが、[ポインターを端末の画面に移動]オプションをOnに変更してみました。
これによって、Galaxy Z Fold5に接続したBluetoothマウスやモニターのOTG USBポートに接続した無線マウスのポインターがモニターと端末を行き来できるようになってそれぞれのデバイスでのポインター操作ができるようになります。
先にGalaxy Z Fold5のDeX環境を紹介してしまいましたが、Galaxy Z Fold5のメインディスプレイからのSmart ViewでS22UltraProに接続した画面が下記画像です。
- デバイス名について
今回はAirScreenを正常動作させたことがあるため、Miracastレシーバとしてのデバイス名が「AS-S22UltraPro[Miracast]」になったようです。
そこでAirScreenが正常動作しないWi-Fi環境にするためにWi-Fi接続したことのあるSSID情報をすべて削除してみました。
すると、Miracastレシーバとしてのデバイス名が「S22UltraPro-000」に変化しました。
デバイス名が「S22UltraPro-000」に変化してもGalaxy S23等からのSmart ViewやDeXは「S22UltraPro-000」への接続にすれば問題なく利用可能です。