Meta Ray-Ban グラスでカメラアプリを実機で動かしてみた(0.7.0)

使用SDK: Meta Wearables Device Access Toolkit (DAT) 0.7.0

Meta Ray-Ban / Oakley Meta のスマートグラス向けに、Meta公式の Wearables Device Access Toolkit (DAT) を使って Android アプリを作り、実機で試した記録です。今回はディスプレイ非搭載モデルを前提に、グラスを POVカメラ として使う「Camera Access」パスに絞っています。

DAT は2025年12月4日に Developer Preview として一般公開された、AIグラス向けのクロスプラットフォームSDKです[1][8]。まだ 1.0 前のプレビュー段階で、一般ユーザー向けの公開(publishing)は未開放です[6]


試した構成

項目 内容
グラス RayBan Meta Scriber Optics (Gen 2)(ディスプレイなし)
スマホ Pixel 7a(Android、USB接続)
SDK mwdat-core / mwdat-camera / mwdat-mockdevice 0.7.0
題材 公式サンプル samples/CameraAccess[7] をそのまま実機ビルド
ツールチェーン AGP 8.6 / Gradle 8.14.1 / Kotlin 2.1.20 / compileSdk 35 / minSdk 31

スマホ側に UI とロジックを全部持たせ、グラスは「視点カメラ」として映像と写真を送ってくる、という役割分担になります。


どんなことを試したか(スクショ付き)

1. 公式サンプルをビルドして実機へインストール

facebook/meta-wearables-dat-android の CameraAccess サンプル[7]を取り込み、assembleDebugadb install でPixel 7aに入れて起動しました。

ハマりどころは2つだけでした。

  • JDK 17+ が必須(AGP 8.6 の要件)。PATH上の java が古いと失敗する。
  • GitHub Packages トークンが必要。com.meta.wearable:mwdat-* は GitHub Packages から解決されるため、read:packages スコープの classic PAT を local.properties に置く。

2. アプリ起動 — ストリーム開始前の画面

起動するとこの画面。グラスを接続(登録)してから「Start streaming」でストリームを開始します。実機グラスを使うには Meta AI アプリの Developer Mode を ON にする必要があります(Settings → App info → バージョン番号を5回タップ)。登録自体は Meta AI アプリ側に委譲され、アプリは登録状態を StateFlow で監視します。

ストリーム開始前の画面

3. グラス視点のカメラ映像をストリーミング

「Start streaming」でグラスのカメラ映像がスマホに流れてきます。中身は生の I420 フレームで、アプリ側で ARGB の Bitmap に変換して表示しています。

グラス視点のライブ映像

4. 写真撮影&共有

ストリーミング中に静止画キャプチャ(capturePhoto())が可能。撮った写真はそのまま共有シートに渡せます。

撮影&共有ダイアログ

補足:実機がなくても試せる Mock Device Kit

DAT には Mock Device Kit が付属し、実機グラスなしで「ペアリング → 電源/装着/展開 → カメラフィード設定 → ストリーム → 撮影」の一連をシミュレートできます[5]。下は疑似 Ray-Ban Meta を1台ペアリングし、Power / Donned / Unfolded を ON にした状態です。

Mock Device Kit 画面


SDK 0.7.0 で「今」できること

ディスプレイ非搭載グラス+Camera Access パスで実際に触れる範囲は次のとおりです(公開APIを実際に展開して確認)。

できること

カテゴリ 内容
グラス接続・登録 Meta AI アプリ経由で登録・接続、状態を StateFlow で監視
カメラ映像ストリーミング グラス視点の動画フレーム(I420)を受信。0.6.0 で HEVC 圧縮ストリームに対応[3]
写真撮影 Stream.capturePhoto()(Bitmap / HEIC)
写真共有 FileProvider 経由で共有シートへ
状態管理 接続・登録・セッション・ストリーム状態、エラー、発熱(0.7.0 で ThermalLevel 追加[3]
音声入出力(BT経由) グラスは標準 Bluetooth オーディオ機器としても動作。スピーカー出力は A2DP、マイク入力は HFP(双方向)。Android は AudioManager.setCommunicationDevice() で経路指定[4]
Mock Device 実機なしで接続・ストリーム・撮影を検証[5]

今はできないこと

項目 理由
グラス内表示(テキスト/画像) ディスプレイ非搭載モデルでは対象外(描画APIは 0.7.0 で Ray-Ban Display 機向けに追加[3]
物理ボタン/タッチのカスタム割り当て 公式に「タップ/スワイプ等の独自ジェスチャーは提供しない」と明記。できるのは pause / resume / stop の標準イベントの観測のみ[5]
物理シャッターで撮った写真の横取り グラス本体のギャラリーに保存され、アプリには渡らない
DATのデータストリームに音声を含める StreamConfiguration に音声項目なし(音声は前述の BT 経路を使う)[4]
Meta AI 音声コマンドの拡張 DAT は Meta AI 自体を拡張するSDKではない[1]

物理ボタンについて補足:グラスのテンプル(つる)のタッチ操作は、ストリーム中は「タップ=一時停止/再開、長押し=停止」に固定されています。アプリ側はその結果(pause/resume/stop)を状態として読めるだけで、ボタンを自分の機能(例:撮影トリガー)に上書きすることはできません[5]。撮影は必ずアプリ起点の capturePhoto() になります。


今後できそうなこと

DAT は 月次ペースで更新されており(Android は 2025/10/30 の 0.1.0 が初版)[3]、プレビュー段階ゆえ機能はこれから広がっていく見込みです。公式が言及している主なものは次のとおり。

予定 状況 出典
音声起動(voice invocation) 「開発中」と明言 [2]
WiFi Direct 「開発中」と明言。実現すれば現行の BT 経路より高帯域・低遅延のストリームが期待できる [2]
一般公開(publishing)の解放 現在はプレビューで不可、2026年中の一般提供を目標 [6][8]
マイクアレイの raw access 高度な音声処理向けに提案/検討中 [8]
ディスプレイ対応の拡張 0.7.0 で Display 機向け描画(Text/Button/Image/MP4)に着手済み、今後拡充 [3]

逆に、ボタン/ジェスチャーのカスタム開放はロードマップ上に明記されていません(「custom gestures は提供しない」というスタンス[5])。SDK内部には GestureType.DOUBLE_TAP などの配管が存在するため将来公開の余地はありますが、現時点で約束された予定ではありません。


まとめ

  • ディスプレイ非搭載グラス+ DAT 0.7.0 で実際にできるのは、映像ストリーム+写真+(BT経由の)音声入出力まで。
  • 「物理ボタンを自分の機能に割り当てる」は、公式方針としても今後の明示予定としても無し。設計はアプリ起点の capturePhoto() が前提。
  • まだプレビューだが更新は速く、WiFi Direct / voice invocation / 2026年の一般公開あたりが次の大きな一手になりそう。
  • 今の構成でも、グラスを POV カメラとして「撮影 → クラウド/チャットへ自動アップロード」「現場記録・点検」「視覚支援」「QR/書類読み取り」といったアプリは十分作れる。

出典


この記事は、サンプルアプリのビルド・実機検証・スクリーンショット取得から原稿の執筆・WordPress への下書き投稿まで、Claude Code を使って作成しました。

コメントを残す