[BB10] BlackBerry JavaからBlackBerry 10 Cascadesへのポーティング(その6)

その5は、ユーザーインタフェースに関する情報でした。

その6は、カメラに関する情報です。

BlackBerry Java to BlackBerry 10 Cascades Porting Series – Part 6: Camera (Inside BlackBerry Developer Blog)

BlackBerry OS 7,7.1では、アプリケーションからカメラアプリケーションを起動し撮影したファイルを利用する方法と、 javax.microedition.media API を使ってアプリケーション内部から画像やビデオを撮影する方法がありました。

BlackBerry 10でもOS 7, 7.1と同じようにアプリケーションからカメラアプリケーションを利用する Invocation Framework を使って操作出来ます。

Setup: (カメラアプリケーションの起動準備)

	_invokeManager = new InvokeManager(this);
	QObject::connect(_invokeManager,
			SIGNAL(childCardDone(const bb::system::CardDoneMessage&)), this,
			SLOT(onChildCardDone(const bb::system::CardDoneMessage&)));

Invoking: (カメラアプリケーション起動のためのパラメータ設定と起動)

	InvokeRequest invokeRequest;
	invokeRequest.setTarget("sys.camera.card");
	invokeRequest.setMimeType("image/jpeg");
	invokeRequest.setAction("bb.action.CAPTURE");
	invokeRequest.setData("photo");
	InvokeTargetReply *invokeReply = _invokeManager->invoke(invokeRequest);

Dealing with the result: (撮影したファイル情報の取得)

void CameraInvoker::onChildCardDone(const bb::system::CardDoneMessage
		&message){
	qDebug() << “File URI:” << message.data() << endl;
}

アプリケーション内部からカメラを利用する場合は、Cascades Camera APIを使う方法と、C Camera Libraryを使う方法があります。

Cascades Camera API

バーコードを読み取るためのAPIも用意されています。

C Camera Library

C Libraryを利用する場合には、ローレベルの制御が可能なのですが、制御を細かく設定する必要があるので、Cascades Camera APIを使った方が使い易いと思います。

コメントは受け付けていません。

%d人のブロガーが「いいね」をつけました。