2015/03/03
AndroidTV Nexus Player と Chromecast API
NexusPlayer は Chromecast と同様の使い方もできます。
PC (Chrome) やスマートフォン・タブレットからストリーム系アプリの
コントロールをしたり、画面を転送することが可能です。
Chromecast に関しての以前の記事はこちら
・Chromecast で C++ アプリを走らせる。Emscripten のゲームを動かす
Chromecast と違い Android TV は Wi-Fi 設定など本体で操作可能で
IP アドレスの確認も自分でできます。
そのためか Chromecast のようなセットアップアプリは不要で、
ネットに繋がればすぐに cast 可能な状態になっているようです。
USB で直接 PC と接続できるため、Cast アプリのデバッグもしやすくなっています。
自前の Custom Receiver を走らせるための手順は下記の通り。
1. Google Cast SDK の Developer 登録を行う。
・Google Cast SDK Developer Console
2. Nexus Player のシリアルナンバーを Developer Console に登録
・設定→端末情報→シリアル番号 で確認可能
・登録後 15分待つ必要あり
3. Google Cast の Developer Mode を有効にする
・設定→Google Cast→デベロッパーサポート を「はい」に変更
・ここで一旦再起動する
4. Developer Console で Application ID を作成
・任意のアプリケーション URL を登録して Application ID と関連付ける
5. Application ID を自分の sender App に埋め込む
Android Application 同様 adb 接続で logcat の確認ができますし、
Chromecast 同様 PC の Chrome Browser で Inspect の表示ができます。
Chromcast よりもずっとプロセッサのパワーがあるため、
以前作成した ChiRaKS も十分な速度で動くようになっています。
Chromecast と互換性がなくなってしまうので仕方ないのかもしれませんが
WebGL は動きませんでした。
関連エントリ
・Nexus Player を GamePad&Mouse で使う、他
・Chromecast で C++ アプリを走らせる。Emscripten のゲームを動かす
PC (Chrome) やスマートフォン・タブレットからストリーム系アプリの
コントロールをしたり、画面を転送することが可能です。
Chromecast に関しての以前の記事はこちら
・Chromecast で C++ アプリを走らせる。Emscripten のゲームを動かす
Chromecast と違い Android TV は Wi-Fi 設定など本体で操作可能で
IP アドレスの確認も自分でできます。
そのためか Chromecast のようなセットアップアプリは不要で、
ネットに繋がればすぐに cast 可能な状態になっているようです。
USB で直接 PC と接続できるため、Cast アプリのデバッグもしやすくなっています。
自前の Custom Receiver を走らせるための手順は下記の通り。
1. Google Cast SDK の Developer 登録を行う。
・Google Cast SDK Developer Console
2. Nexus Player のシリアルナンバーを Developer Console に登録
・設定→端末情報→シリアル番号 で確認可能
・登録後 15分待つ必要あり
3. Google Cast の Developer Mode を有効にする
・設定→Google Cast→デベロッパーサポート を「はい」に変更
・ここで一旦再起動する
4. Developer Console で Application ID を作成
・任意のアプリケーション URL を登録して Application ID と関連付ける
5. Application ID を自分の sender App に埋め込む
Android Application 同様 adb 接続で logcat の確認ができますし、
Chromecast 同様 PC の Chrome Browser で Inspect の表示ができます。
Chromcast よりもずっとプロセッサのパワーがあるため、
以前作成した ChiRaKS も十分な速度で動くようになっています。
Chromecast と互換性がなくなってしまうので仕方ないのかもしれませんが
WebGL は動きませんでした。
関連エントリ
・Nexus Player を GamePad&Mouse で使う、他
・Chromecast で C++ アプリを走らせる。Emscripten のゲームを動かす
2015/03/01
Nexus Player を GamePad&Mouse で使う、他
Google の Android TV 端末、Nexus Player を使ってみました。
UI は一般の Android とは大きく異なり TV を意識したもの。
操作は付属のリモコンを使うので Apple TV に似ています。
・Google Nexus Player
大きく異なっているのは単体でアプリが動作することで、Google Play Store からダウンロードできます。
ただし専用&対応アプリしか出てこないらしく検索してもタイトルは多くありません。
HOME に並んでるものもゲームとムービー等のコンテンツのみで実用系アプリは無し。
Chrome や GMail なども無く、検索でもこの辺りのアプリが見当たりませんでした。
micro USB 端子があるので PC につなげば adb 接続できます。
開発者メニューを有効にするには設定の端末情報から「 ビルド 」を何度も選択する必要あり。
USB 経由で install した場合は普通の Android アプリも動くようです。
ただし HOME 画面にはアイコンが表示されないため、実行には少々手間がかかります。
1. 設定 → アプリ → ダウンロードしたアプリ
2. 一覧から選択してから「開く」
HOME画面に表示させる場合は intent-filter の設定が必要です。
application に isGame="true" があるとアプリではなくゲーム側に分類されます。
通常の Android アプリを走らせた場合タッチ操作はできませんが、
vfpbenchmark のように標準の UI を使ったものはリモコンだけで操作できました。
(vfp benchmark の結果はこちら)
また USB Host が有効なので、タッチ操作が必要なアプリでもマウスを繋げばそれなりに使用することが出来ます。
BACK や HOME ボタンはないので、マウスの場合もリモコンは必要になります。
同様に USB を使った接続では PS3 や Xbox360 (USB版) のゲームコントローラも使うことが出来ました。
この辺りも通常の Android 端末と同様です。
専用のゲームパッドがなくてもひと通りゲーム操作できます。
ただし USB 接続は adb と併用できないので、ゲーム開発にはワイヤレスのコントローラが欲しくなります。
下記追加しました
・VFP Benchmark Log
・CPU/GPU OpenGL ES Extension (Mobile GPU)
GPU は Intel HD Graphics ではなく Apple A7 世代と同じ PowerVR G6430 です。
関連エントリ
・Android 5.0 Nexus Player x86 と対応 ABI
・iOS7 対応 SteelSeries Stratus ワイヤレスゲームコントローラー
・Android 用ゲームパッド BUFFALO Zeemote JS1 H
・Android 3.1 と GamePad のイベントの詳細 (2)
・Android 3.1 と GamePad のイベントコード
UI は一般の Android とは大きく異なり TV を意識したもの。
操作は付属のリモコンを使うので Apple TV に似ています。
・Google Nexus Player
大きく異なっているのは単体でアプリが動作することで、Google Play Store からダウンロードできます。
ただし専用&対応アプリしか出てこないらしく検索してもタイトルは多くありません。
HOME に並んでるものもゲームとムービー等のコンテンツのみで実用系アプリは無し。
Chrome や GMail なども無く、検索でもこの辺りのアプリが見当たりませんでした。
micro USB 端子があるので PC につなげば adb 接続できます。
開発者メニューを有効にするには設定の端末情報から「 ビルド 」を何度も選択する必要あり。
USB 経由で install した場合は普通の Android アプリも動くようです。
ただし HOME 画面にはアイコンが表示されないため、実行には少々手間がかかります。
1. 設定 → アプリ → ダウンロードしたアプリ
2. 一覧から選択してから「開く」
HOME画面に表示させる場合は intent-filter の設定が必要です。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
application に isGame="true" があるとアプリではなくゲーム側に分類されます。
<application android:isGame="true">
通常の Android アプリを走らせた場合タッチ操作はできませんが、
vfpbenchmark のように標準の UI を使ったものはリモコンだけで操作できました。
(vfp benchmark の結果はこちら)
また USB Host が有効なので、タッチ操作が必要なアプリでもマウスを繋げばそれなりに使用することが出来ます。
BACK や HOME ボタンはないので、マウスの場合もリモコンは必要になります。
同様に USB を使った接続では PS3 や Xbox360 (USB版) のゲームコントローラも使うことが出来ました。
この辺りも通常の Android 端末と同様です。
専用のゲームパッドがなくてもひと通りゲーム操作できます。
ただし USB 接続は adb と併用できないので、ゲーム開発にはワイヤレスのコントローラが欲しくなります。
下記追加しました
・VFP Benchmark Log
・CPU/GPU OpenGL ES Extension (Mobile GPU)
GPU は Intel HD Graphics ではなく Apple A7 世代と同じ PowerVR G6430 です。
関連エントリ
・Android 5.0 Nexus Player x86 と対応 ABI
・iOS7 対応 SteelSeries Stratus ワイヤレスゲームコントローラー
・Android 用ゲームパッド BUFFALO Zeemote JS1 H
・Android 3.1 と GamePad のイベントの詳細 (2)
・Android 3.1 と GamePad のイベントコード