Android向けワイヤレスディスプレイ



2013年初頭、インテルのニュースフィードで 、新しいバージョンのWiDiテクノロジーを発表しました。これは、とりわけ、関連するMiracast規格との互換性を受け取りました。 その後、ワイヤレスディスプレイの分野の状況が劇的に変化したため、この情報は見過ごされ、私たちの意見では無駄になりました。 変更点の1つは、AndroidでのMiracastの外観です。 MiracastとWiDiが互いにどのように関連しているか、カップルでどのような機能を持っているか、そしてそれらを使用してAndroidアプリケーションを作成する方法を理解してみましょう。



さまざまな機能と機能

私たちはすでにWiDi標準について十分に話していました。ニュースフォロー し、開発者の観点からそれをレビューし 、ライブシリアルアダプターをテストしました 。 まずは、Miracastテクノロジーについて簡単に説明します。





一般的なMiracastコンセプト



Miracastは、WiFiを介してマルチメディア情報(オーディオおよびビデオ)を送信するための技術です。 トランスポートとして、WiFi Direct標準を使用します。これにより、2つのデバイスが追加のネットワークインフラストラクチャの助けを借りずに互いにデータを交換できます。 簡単に言えば、MiracastはワイヤレスHDMIと考えることができます。

Miracastはまだかなり若いです。WiFiAllianceによるMiracastデバイスの公式認証は1年以上前に始まりました。 ビデオ伝送には、H.264コーデックが使用され、サウンドは2チャンネルまたは5チャンネルにすることができます。 Miracastは、どの会社にも所有されていないオープンスタンダードです。 昨年Android 4.2にサポートが追加された後、その魅力はさらに強化されました。 特定のデバイス上のAndroid 4.2では、Miracastの可用性は保証されていません。これをさらに明確にする必要があります。 送信機と受信機の両方の認定デバイスの完全なリストについては、WiFi AllianceのWebサイトを参照してください。





Miracastアーキテクチャ(送信機側)



MiracastとWiDiバージョン3.5の互換性は、両方の標準のデバイスの基本機能の共通性を意味します。 Wicastにはありますが、Miracastにはない追加の特典はありますか? 今日は3つあります。



したがって、WiDiは現在Miracastの機能拡張であると言えます。

WiDiは、ほとんどの既存のIntelモバイルプラットフォームでサポートされています(おそらく、その後のプラットフォームでもサポートされます)。 テストで既に述べたように、この技術は「ワンボタン」のカテゴリーに属します。つまり、ユーザーにとって非常にシンプルです。





Samsung Galaxy S4の例でワイヤレスディスプレイを接続するプロセス



それでは、モードについて説明します。 クローンモードはWiDi / Miracastに固有です-リモートディスプレイには、ローカルディスプレイと同じ解像度で同じ画像が表示されます。

デュアルモードはベーシックにも適用されます。 その中で、コンテンツはリモートディスプレイで再生され、メインのコンテンツはサービス情報の制御と表示に使用されます。 このモードは、AndroidプレゼンテーションAPIを通じてサポートされています。

拡張モードはWiDiでのみ使用可能です(したがって、Intel Atomプラットフォームに基づくデバイスでのみ使用可能です)。 その場合、ユーザーがAndroid Media Playerフレームワークを使用してプレーヤーでマルチメディアコンテンツを起動すると、ビデオモードが自動的にオンになります。 画像の解像度は1080pまで「ネイティブ」のままです。 同時に、ローカルビデオレンダリングをオフにして、電力消費を削減できます。

最後に、最も高度なのはマルチタスクモードです。このモードでは、ビデオプレーヤーが画像をリモートディスプレイに送信し、ローカルでユーザーが望みのことを行います。



デュアルディスプレイモードを使用するためのオプション:



デュアルディスプレイモードは、ビデオの視聴に適しているだけではありません。 重要なアプリケーションのリストを簡単にスケッチできます。









2つのディスプレイ用のAndroidアプリケーションを作成します

Android 4.2(APIレベル17)の2番目のワイヤレスディスプレイのサポートは、 プレゼンテーションクラスを使用して実装されます。



プレゼンテーションは基本クラスであり、拡張する必要があります。

public class DemoPresentation extendsPresentation {
      
      





作成時には、 Displayクラスとの関連付けも必要です。 Presentatio nはDialogを継承し、 Dialogの場合、そのライフサイクルはActivityに関連付けられています。

プレゼンテーションを有効にする前に、ディスプレイを選択する必要があります。これは、次の2つの方法で実行できます。

1. MediaRouter API(API 16)-システム自体が最適なディスプレイを選択します

 // Get the media router service. MediaRouter mMediaRouter = (MediaRouter)getSystemService(Context.MEDIA_ROUTER_SERVICE); // Use the MediaRouter that supports live video MediaRouter.RouteInfomRouteInfo =mMediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO); Display presentationDisplay= mRouteInfo.getPresentationDisplay();
      
      





2. Display Manager API(API 17)-ディスプレイのリスト。

 // Get the display manger service. DisplayManager mDisplayManager = (DisplayManger)getSystemService(Context.DISPLAY_SERVICE); // enumerate the displays Display[] displays =mDisplayManager.getDisplays(DisplayManger.DISPLAY_CATEGORY_PRESENTATION);
      
      





MediaRouteButtonをアプリケーションに追加します。

 //Sets Media Route Button to second screen mode mediaRouteActionProvider.setRouteTypes(MediaRouter.ROUTE_TYPE_LIVE_VIDEO); //Launches the Wireless display setting intent startActivity(newIntent ("android.settings.WIFI_DISPLAY_SETTINGS"));
      
      





res / menu / default.xmlで:

 <item android:title="Media Route Settings" android:actionProviderClass="android.app.MediaRouteActionProvider" android:showAsAction="always" />
      
      





プレゼンテーションAPIを機能させる方法:





次に、 MediaRouter.addCallbackを使用して、監視する必要があります。



そして、プレゼンテーションが所有するアクティビティ内:



WiFiディスプレイを管理するためのAPIはAndroid AOSP内にありますが、Androidフレームワークの一部ではありません。 ワイヤレス表示設定は、 Intent android.settings.WIFI_DISPLAY_SETTINGSを介して呼び出すことができますが、フレームワークには含まれていません。 一部のメーカーは他のオプションを使用しています:Samsung- com.samsung.wfd.LAUNCH_WFD_PICKER_DLG 、HTC- com.htc.wifidisplay.CONFIGURE_MODE_NORMAL

下の図に示されているすべてのAPIは、Android 4.2 / 4.3の内部にあります。 これらはAOSPの一部であり、自由に配布されますが、フレームワークには含まれておらず、動作する必要はありません。





結論として、この機能をサポートする実際のハードウェアと、Android 4.2から開発者オプションで利用可能なエミュレーションの両方で、2つのディスプレイのアプリケーションをテストできることに注意してください。 2番目の仮想ディスプレイの解像度とdpiを選択し、そのディスプレイでオーバーレイを取得できます。







投稿の準備では、IDF 2013の資料が使用されました、著者-Xavier HalladeとCostas Stylianou。



All Articles