MiRZAライブラリの概要
MiRZA(以降、グラスと称する)本体の各種情報を取得するためのAndroid Libraryです。
グラスと接続しているMiRZAアプリを介してデータ連携を行います。
Spaces AR SDKを組み込んだ「グラス向けアプリ」を開発する際にグラス情報を利用することを目的としたライブラリです。
※グラスとスマートフォン間の接続はMiRZAアプリが担います。
本ライブラリをグラス向けアプリに組み込むことでグラスの状態をグラス向けアプリが取得できたり、グラス向けアプリからMRモードへの切り替え指示ができるようになります。 グラス状態の確認とMRモードへの切り替え指示を組み合わせれば、MiRZAアプリを経由せずに直接グラス向けアプリを起動することができます ※。
※ スマホとグラスのペアリング処理が完了している状態である必要あり
Spaces AR SDK 1.0.1に対応しました。MiRZAアプリとグラスソフトウェアを下記バージョンにアップデートしてご利用ください。
- MiRZAアプリ:v1.00.09以上
- グラスソフトウェア:S240013以上
グラスソフトウェアS240010とMiRZAアプリ1.00.09の組み合わせで、MRモード起動の変更指示を行った際にcallbackが受け取れない事象が発生します。グラスソフトウェアを最新版にアップデートのうえご利用ください。
下記事象はMiRZAアプリv1.00.09にて修正済みです。
- スマホを再起動した場合、MiRZAとスマホが自動で再接続しなくなります。
- スマホ再起動時は一度MiRZAアプリをスマホのホーム画面から起動してください。
- MiRZAアプリのメインラインチャーからグラス向けアプリ起動後にタッチセンサーをトリプルタップした場合、MiRZAアプリに戻ったタイミングでキャプチャ撮影が実行される場合があります。
バージョン
アプリ・ソフトウェア | 推奨バージョン |
---|---|
MiRZAアプリ | 1.00.09 |
グラスソフトウェア | S240013 |
MiRZAライブラリ | 1.1.2 |
SnapdragonSpaces SDK | 1.0.1 |
構成
特徴
対象OS
- Android 13.0(API Level 33)以上を対象とします。
提供形式
- Android Library(aarファイル)
提供機能一覧
機能 | 種別 | 概要 |
---|---|---|
グラス状態 | 取得 | グラス状態には以下のデータが含まれます。 1. グラスとスマホのBluetooth接続状態 2. グラスとスマホのWi-Fi接続状態 3. MRモード利用可否 - Spacesに対応したアプリを表示する「MRモード」が利用できる状態であるかを判断します。 - 現在MRモードであるかを判断するものではありません。 |
グラス状態 | 変化通知 | グラス状態のいずれかが変化した際に最新の状態を通知します。 |
電池残量 | 取得 | グラスの電池残量(パーセンテージ)を返却します。 |
電池残量 | 変化通知 | 残量が変化した際に最新の残量を通知します。 |
充電状態 | 取得 | グラスの充電状態(ON/OFF)を返却します。 |
画面点灯状態 | 変化通知 | 画面の点灯状態が変化した際に、画面の点灯状態(ON/OFF)を通知します。 |
MRモード状態 | 取得 | MRモードであるかの状態(ON/OFF)を返却します。 |
MRモード状態 | 変化通知 | MRモード状態が変化した際に、MRモード状態(ON/OFF)を通知します。 |
MRモード起動 | 変更指示 | ・グラスをMRモードに切り替えます。Spacesに対応したアプリを表示するにはMRモード状態がONである必要があります。 ・すでにMRモード状態がONの場合はエラーメッセージを結果に返します。 |
MRモード停止 | 変更指示 | ・グラスのMRモードを終了します。 ・すでにMRモード状態がOFFの場合はエラーメッセージを結果に返します。 |
グラス電源OFF | 変化通知 | グラスの電源がOFFになった際に通知されます。 |
グラスタッチセンサー ジェスチャー情報 | 変化通知 | グラスのタッチセンサーを操作した際に、操作情報を通知します。 |
マイクモード切替 | 変更指示 | ・グラスのマイクモード切替を行います。 ・切替後のマイクモード切替状態を結果に返します。 |
MiRZAアプリ起動 | 遷移 | ・MRモード状態がONの場合にMiRZAアプリを起動します。 - 遷移先はコントローラ画面です。 - MRモード状態がOFFの場合は遷移しません。 |
MRモードとは
Snapdragon Spaces AR SDKを組み込んだグラス向けアプリを表示するためのモードです。
グラスをMRモードに切り替えてからグラス向けアプリを起動することで、グラス上にコンテンツを表示することが可能になります。
マイクモードとは
グラスでは下記4つのマイクモードを提供しています。

- 全方位集音:グラス装着者の音声と全方位の音を集音します。
- 装着者集音:グラス装着者の音声のみを集音します。
- 周囲集音:グラス周辺の音のみを集音します。装着者の音声は集音されません。
- 前方集音:グラス前方の音のみを集音します。装着者の音声は集音されません。
本ライブラリをグラス向けアプリに組み込むことで、アプリからマイクモードを指定できるようになります。
グラスのマイクから録音する場合はグラスマイクの録音サンプルを使用してください。本ライブラリのマイクモード設定だけでは録音はできません。
プロジェクトへの組み込み
外部ライブラリとしてaarファイルをプロジェクトに取り込みます。
-
build.gradle
libs
ディレクトリにaarファイルを配置した例
dependencies {
implementation files('libs/mirzalibrary-1.1.2-release.aar')
}
動作前提
データ連携を行うにはスマートフォンにv1.00.05以上のMiRZAアプリがインストールされている必要があります。
v1.00.05未満の場合、不整合のエラーが返却されるため、利用者に対してMiRZAアプリを最新バージョンにアップデートすることを促してください。
インストールされていない場合はAPI実行 時にエラーが返却されます。
また、
- グラスがペアリングされていないまたは接続が完了していない場合もエラーが返却されます。
- BluetoothとWi-Fiの両方がつながっているときにのみ動作します。どちらかがつながっていない場合はエラーとなります。
詳細はResult.Stateをご確認ください。
グラス向けアプリ対応
本ライブラリを組み込むことでAndroidManifest.xmlに専用タグを自動設定します。
MiRZAアプリのメインランチャー上のアプリ一覧に「グラス向けアプリ」として表示されるようになります。
- Spaces AR SDK for Unityの利用が必要です。
利用方法
基本的な利用手順
-
MirzaLibrary
クラスを初期化 -
本ライブラリのLogcat出力設定(デフォルトは出力なし)
-
MiRZAアプリとの接続状態を監視
-
モニタリング開始(MiRZAアプリと連携開始)
-
各種状態取得機能を実行
-
モニタリング停止(MiRZAアプリと連携終了)
コード例
// ライブラリ初期化
val mirza = MirzaLibrary()
// Logcatを出力
mirza.setLogEnable(true)
// MiRZAアプリとの接続状態を監視
mirza.setServiceStateCallback { state ->
// 接続状態
}
// モニタリング開始
mirza.startMonitoring(this)
// 各種取得処理
....
// モニタリング停止
mirza.stopMonitoring(this)
取得
状態取得APIには同期取得と非同期取得があります。どちらも取得できるデータはResult
クラスです。
コード例
// (1) グラス状態を取得
val result: Result<GlassStatus> = mirza.glassStatus
// (2) グラス状態を取得(非同期)
mirza.getGlassStatusAsync(object : GlassStatusCallback {
override fun onGlassStatus(result: Result<GlassStatus>) {
// グラス状態結果
}
})
変化通知
状態の変化を通知を受け取るには各データ毎にコールバック登録を行います。通知されるデータはそれぞれのデータクラスです。
コード例
// グラス状態の変化通知
mirza.setGlassStatusCallback(object : GlassStatusCallback {
override fun onGlassStatusChanged(status: GlassStatus) {
// 変化したグラス状態
}
})
// 電池残量の変化通知
mirza.setBatteryLevelCallback(object : BatteryLevelCallback {
override fun onBatteryLevelChanged(level: Int) {
// 変化した電池残量
}
})
ドキュメント
パッケージを参照してください。
ライブラリの内容
-
ライブラリ
mirzalibrary-1.1.2.zip
- ZIPを解凍するとJavaで実装された連携ライブラリ本体(AAR形式)が格納されています。
-
サンプル
mirza_library.tgz
にサンプルプロジェクトが含まれます。- Package Managerから取り込んでください。
その他
- 本ライブラリ、サンプルコードの取り扱いは利用規約に記載の通りです。