OWLIFT Library for Android: UsbOwliftHost クラス
OWLIFT Library for Android  1.8.0.0
Top Page
全て クラス 関数 変数 グループ ページ
全メンバ一覧 | クラス | 公開メンバ関数 | 静的公開メンバ関数
UsbOwliftHost クラス

クラス

interface  Callback
 

公開メンバ関数

void onCreate ()
 
void onDestroy ()
 
UsbOwliftDev.Collection getDevs ()
 
void close ()
 
UsbOwliftDev openDev (ContextWrapper contextWrapper, long timeoutMSecWaitUntilDeviceFound, Callback cb) throws OwliftException
 

静的公開メンバ関数

static UsbOwliftHost getUsbHost (Context c) throws OwliftException
 

詳解

USBホストを表すクラスです。

USBデバイスにアクセスする手順は次のとおりです。

  1. getUsbHost()UsbOwliftHost を取得します。

  2. openDev() を呼びます。

  3. UsbOwliftHost.Callback を実装したクラスの selectDev() が呼ばれるので、その中でアクセスしたいデバイスの UsbOwliftDev を返します。

  4. openDev() で取得した UsbOwliftDev から、 目的のUSBファンクションを表す UsbOwliftFunc を取得します。 UsbOwliftFunc クラスは UvcOwliftFunc クラスの継承元クラスです。

  5. UsbOwliftFuncUvcOwliftFunc にキャストし、それらに対して操作することで USBデバイスとの通信を行います。例えば UvcFunc.startStream() でカメラ再生を開始します。

  6. アプリケーションを終了する前に UsbOwliftHost.close() を呼びます。


    [制限事項]
    • デバイスでストリーミングを一旦開始すると、close() により全てのデバイスを閉じるまで、 ストリーミングを停止することができません。
    • ストリーミングを停止した後、再開するには getUsbHost() から再び実行する必要があります。
    • close() を実行すると、USBデバイスがソフトウェア的に接続し直され、 USBデバイスのパーミッションがリセットされます。また、close() から制御が戻るまで数秒以上の時間を要します。

メソッド詳解

◆ close()

void close ( )

このオブジェクトを破棄します。

◆ getDevs()

UsbOwliftDev.Collection getDevs ( )

ホストに接続されているデバイスのリストを取得します。

戻り値
ホストに接続されているデバイスのリスト。

◆ getUsbHost()

static UsbOwliftHost getUsbHost ( Context  c) throws OwliftException
static

UsbOwliftHostオブジェクトを取得します。

引数
cContextオブジェクト。通常 Activity を渡します。
戻り値
UsbOwliftHostオブジェクト。
例外
OwliftException

◆ onCreate()

void onCreate ( )

Activity.onCreate() で呼ぶ必要のあるメソッドです。

USBホスト端末に応じて必要な処理が実行されます。

◆ onDestroy()

void onDestroy ( )

Activity.onDestroy() で呼ぶ必要のあるメソッドです。

USBホスト端末に応じて必要な処理が実行されます。 ネイティブな処理のリソースを完全に解放するために、端末によってはプロセスを終了します。 プロセスを終了したくない場合は呼ばないでください。

◆ openDev()

UsbOwliftDev openDev ( ContextWrapper  contextWrapper,
long  timeoutMSecWaitUntilDeviceFound,
Callback  cb 
) throws OwliftException

デバイスをオープンします。

デバイスに対してパーミッションがない場合、 USBデバイスへアクセス許可を求めるダイアログが表示されます。

引数
contextWrapper
BroadcastReceiver を登録する先のContextWrapper。通常 Activity を渡します。 USBデバイスへアクセス許可を求めるダイアログを表示するために利用されます。
timeoutMSecWaitUntilDeviceFoundデバイスが見つかるまで待機する時間。ミリ秒単位。
cbコールバック用インターフェース。
戻り値
コールバック用インターフェースから返された UsbDev に対してオープンが成功したとき、 UsbDev を返します。失敗した場合は例外を発生し、null は返しません。
例外
OwliftExceptionUsbOwliftExceptionCode.NO_DEVICE_FOUND : 接続されたデバイスが見つからなかったとき。
UsbOwliftExceptionCode.NO_DEVICE_SELECTED : cb.selectDev() が nullを返したとき。
UsbOwliftExceptionCode.FAILED_OPEN_DEVICE : パーミッション不足でデバイスをオープンできなかったとき。