USBホストを表すクラスです。
USBデバイスにアクセスする手順は次のとおりです。
- getUsbHost() で UsbOwliftHost を取得します。
- openDev() を呼びます。
- UsbOwliftHost.Callback を実装したクラスの selectDev() が呼ばれるので、その中でアクセスしたいデバイスの UsbOwliftDev を返します。
- openDev() で取得した UsbOwliftDev から、 目的のUSBファンクションを表す UsbOwliftFunc を取得します。 UsbOwliftFunc クラスは UvcOwliftFunc クラスの継承元クラスです。
- UsbOwliftFunc を UvcOwliftFunc にキャストし、それらに対して操作することで USBデバイスとの通信を行います。例えば UvcFunc.startStream() でカメラ再生を開始します。
- アプリケーションを終了する前に UsbOwliftHost.close() を呼びます。
[制限事項]
-
デバイスでストリーミングを一旦開始すると、close() により全てのデバイスを閉じるまで、 ストリーミングを停止することができません。
-
ストリーミングを停止した後、再開するには getUsbHost() から再び実行する必要があります。
-
close() を実行すると、USBデバイスがソフトウェア的に接続し直され、 USBデバイスのパーミッションがリセットされます。また、close() から制御が戻るまで数秒以上の時間を要します。
◆ close()
◆ getDevs()
UsbOwliftDev.Collection getDevs |
( |
| ) |
|
ホストに接続されているデバイスのリストを取得します。
- 戻り値
- ホストに接続されているデバイスのリスト。
◆ getUsbHost()
◆ onCreate()
Activity.onCreate() で呼ぶ必要のあるメソッドです。
USBホスト端末に応じて必要な処理が実行されます。
◆ onDestroy()
Activity.onDestroy() で呼ぶ必要のあるメソッドです。
USBホスト端末に応じて必要な処理が実行されます。 ネイティブな処理のリソースを完全に解放するために、端末によってはプロセスを終了します。 プロセスを終了したくない場合は呼ばないでください。
◆ openDev()
デバイスをオープンします。
デバイスに対してパーミッションがない場合、 USBデバイスへアクセス許可を求めるダイアログが表示されます。
- 引数
-
contextWrapper |
BroadcastReceiver を登録する先のContextWrapper。通常 Activity を渡します。 USBデバイスへアクセス許可を求めるダイアログを表示するために利用されます。 |
timeoutMSecWaitUntilDeviceFound | デバイスが見つかるまで待機する時間。ミリ秒単位。 |
cb | コールバック用インターフェース。 |
- 戻り値
- コールバック用インターフェースから返された UsbDev に対してオープンが成功したとき、 UsbDev を返します。失敗した場合は例外を発生し、null は返しません。
- 例外
-