メディアストリーミングデバイス「Chromecast」用アプリの開発方法を一から解説する連載。今回は、Senderのコマンドを受信してHTML5のvideo要素を使ってメディアを再生したり画面を写したりするReceiverアプリの概要と作り方などを解説します。
Web&モバイル技術のSIを手掛けるオープンストリームでは、Chromecastデバイス国内発売前から、スマートフォンアプリ(iOS版およびAndroid版)の対応について技術検証を行い、詳細な技術ノウハウを獲得してきました。本連載では、その時に得た技術を基にChromecastアプリについて、システム構成、開発環境、開発準備、メディアストリーミングアプリ開発方法について注意点を含めて解説していきます。
前回の「Chromecastで動くHTML5ベースのメディアストリーミングアプリを作るための基礎知識」では、メディアストリーミングデバイスChromecastの概要とシステム構成、開発環境、専用アプリを作るための準備と手順などを解説しました。
今回は、コンテンツ操作や状態管理、Adaptive Bitrate StreamingやDRMを使用した、より高度なReceiverアプリの開発について解説します。
Chromecast上で実行されているReceiverアプリに対して、同じApplication IDのSenderアプリであれば複数のデバイスから接続できます(図1)。
例えば、先にiPhone(端末A)のSenderアプリからコンテンツを再生している状態で、後からAndroid(端末B)のSenderアプリでReceiverアプリに接続した場合、Androidアプリは、現在再生しているコンテンツの情報を取得できます。
また、このAndroidアプリが別のコンテンツ再生をChromecastに対して指示した場合、現在のコンテンツの再生は中断し、新しいコンテンツの再生がスタートし、先行していたiPhone(端末A)のSenderアプリにはこの新しいコンテンツの情報が届きます。
Application IDの異なるアプリBからは、アプリAが再生しているコンテンツの情報を取得できません。
なお上記の説明で、端末Aと端末BのOSの種類には関係ありません。基本的にReceiverアプリは接続中の全てのSenderアプリにブロードキャストで情報を送信しています。
前回記事では、Receiverアプリについて「Styled Media Receiver」「Custom Receiver」の二つを解説しましたが、今回はもう一つの「Default Media Receiver」を含めた三つについて解説したいと思います。
グーグルがホスティングし提供しているReceiverアプリで、メディアストリーミングが可能です。「Google Cast SDK Developer Console」へ登録しなくても使えますが、UIのカスタマイズは一切できません。UIカスタマイズが必要なく単純にコンテンツを再生したいだけの場合に使用するにはよいでしょう。
Senderで使用するApplication IDは、各SDKで以下の定数が定義されています。
Androidアプリ | CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID |
---|---|
Chromeアプリ | chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID |
iOSアプリ | kGCKMediaDefaultReceiverApplicationID |
あらかじめ用意されているメディア再生用のプレーヤー(JavaScriptアプリ)を使用し、CSSを設定することでスキンを変更できるアプリです。変更ができるスキンの要素は以下の通りです。
スキン変更についての詳細は「Styled Media Receiver - Google Cast - Google Developers」を参照してください。CSSの設定例や設定により、どこが変更できるのか詳細に記述されています。
スキンを定義したCSSは自前のWebサーバーでホスティングします。
HTML5やCSS、JavaScriptを用いて独自に開発するReceiverアプリです。HTML5のアプリは自前のWebサーバーでホスティングします。メディアストリーミング、ゲーム、イメージギャラリーなどのさまざまなアプリを開発できます。
メディアストリーミングでは、「Supported Media for Google Cast - Google Cast - Google Developers」に定義されているメディア、Adaptive Bitrate Streamingプロトコル、DRMを使えます。
今回の記事では、このCustom Receiverの開発方法について解説します。
Copyright © ITmedia, Inc. All Rights Reserved.