iOSからchromecastへRemote Display #1
iPhoneアプリで、サイネージ系のアプリを作ってるのだが、そのアプリに、ディスプレイとの接続をcastで行う機能を追加したいという要望があった。
その対応で、色々困ったので後ろを歩く方のためにメモメモ。
castの種類と概要
さて、たなやんは、そもそもcastってなんだ?からスタート^^;
以下、いろんなサイト見てかじった情報。
・スマホからディスプレイに、無線接続で画面表示をする規格(or 機器)は、主に以下。
1. chromecast
2. amazon fire TV
3. Apple TV
4. miracast
・1.は、プログラムすることで、任意の画面をディスプレイに映すことができる模様
https://developers.google.com/cast/docs/remote
・2.は、AirPlay前提でのミラーのようなので、アプリとしてプログラムする話ではない模様(間違ってたらご指摘を〜)
・4.は、一般的な規格だがiOSは未対応。
そんなわけで、当該アプリは既に3.には対応しているので、追加で対応できるのはchromecastのみだと悟る^^;
chromecast 購入!
実は、chromecastはよく聞いてはいたけど、実物見たことなかったんです。
流行りに疎いたなやんも、たまには新し物(では全然ないよねもはや・・)にも触れようかなと言うことで、早速購入!
今は、第二世代ってやつらしいです。HDMI接続で、先に丸いのがついてるやつ。ultraじゃない方買いました。
これ、電源別途必要なんだ・・・ネット上の写真にないからよくわからんよ・・ヨドバシ吉祥寺店のおねいさんはきちんと教えてくれたけど。ありがとうヨドバシおねいさん!
さて、早速繋いでみた。
youtubeがテレビで観れる。
とりあえず、芸人のネタ動画を数時間視聴。 「ちょっと何言ってるかわからないんですけど」を数十回聞いてるうちに、気を失って昼寝(笑)
テレビで映すと画像は荒いけど、なぜかテレビだとじっくりみちゃうねーyoutube^^
これで5000円なら全然ありだなー・・・
・・・って、そんなことをするために買ったんじゃない。アプリからchromecastに繋ぎたいんだよぉぉぉぉぉ!(笑)
というわけで、この辺からやっと真面目な話^^;
chromecastには、アプリから操作するためのAPIがある。
でもね、ここを見ても、いまいちピンとこないのです。APIの体系がよくわからない。
なぜって、同じようで微妙に異なる用語が散在していて整理されていないから。
なので、ちゃんと整理。
用語 |
説明 |
スマホやPCと、chromecastやスピーカーなどとを接続するAPI全体の名前。 |
|
SenderとReceiver |
コンテンツ送信元であるスマホなどをSender、コンテンツを受け取って表示、音声出力する機器側をReceiverと呼ぶ。 Sender API / Sender Applicationなどと表現したりする。Receiverも然り。 |
iOS用のSender API。 |
|
CAF |
これが理解に苦しむ。 |
Remote Display API |
通常のSender API、Receiver APIだと、Youtubeなど、chromecastが対応している、ネット上の動画や音声の出力しかできない。 |
ちなみに、Sender / Receiverっていうか、そもそも、スマホなどからテレビにコンテンツを渡すことを「cast」と呼んでるんだから、casterとcasteeでいいんでないの?と思うのは俺だけ・・・?全体的に、Google Cast SDK回りの用語に一貫性がない。。。
そんなわけで、よくわからないけど、Remote Display APIを使用する前提で前に進んでみよう・・・続くっ