2011-10-18 12 views
2

私は一種の初心者のwebOS開発者です。私は現在、 の写真を撮る必要があるアプリケーションを開発している です。Enyo(webOS)でMediaCaptureで写真を撮るには?

私は多くのリソースとサイトを インターネットで探していましたが、私の問題の解決策が見つかりません。

私はここで一覧表示の指示に従ってください:

How to take a picture using command line on webOS on HP touchpad?

私はコマンドラインから写真を撮るにしたくないことは明らかようにしたいです。

私は次のことを試してみました:

A.私のシーンのonCreateインサイド

enyo.kind({ 
name: "MyComponent", 
kind: "Pane", 
components: [ 
    { 
     kind: "enyo.MediaCapture", 
     name: "mediaCapture", 
     onInitialized: "onImageCaptureInitialized", 
     onError: "onImageCaptureError", 
     onImageCaptureComplete: "onImageCaptureComplete" 
    } 
], 
... 
.. 
. 
}); 

C.で

"$enyo/../lib/mediacapture/" 

B.私depends.jsに含めます機能

onInitializedイベントインサイド
create: function() { 
    this.inherited(arguments); 
    this.$.mediaCapture.initialize(this.$.ViewPort); 
}, 

D.

onImageCaptureInitialized: function() { 
    var keyString;        
    for(var i = 0; i < this.pb.deviceKeys.length; i++) { 
     if(this.pb.deviceKeys[i].description.indexOf("Camera/Camcorder") >= 0) { 
       keyString = this.pb.deviceKeys[i].deviceUri; 
       break; 
     } 
    } 

    if(keyString) { 
     var formatObj = {imageCaptureFormat: this.pb[keyString].supportedImageFormats[0]}; 
     this.$.mediaCapture.load(keyString, formatObj); 
    } 
}, 

D.特定のボタンのonclickイベントインサイド

takePhotoClickEvent: function (inSender) {  

    this.$.mediaCapture.startImageCapture("/media/internal/CanalCocina/recipe_photo.jpg", 
     { 
      "bitrate":128000, 
      "samplerate":8000, 
      "width":480, 
      "height":320, 
      "mimetype":"image/jpeg", 
      "codecs":"jpeg"} 
     ); 
}, 

私はHPのタッチパッドI上のアプリケーションを実行します私のコンソールの次のログを入手してください:

info: MediaCapture::ServiceProxy ===== MediaCapture::_initializeMediaServerInstanceSuccess() ...palm://com.palm.mediad.MediaCaptureV3_1814440/, /usr/palm/frameworks/enyo/1.0/framework/lib/mediacapture/helper/MediaCaptureProxyHelper.js:83 [20111017-16:52:32.906482] info: MediaCapture::ServiceProxy @@@@@@----------- FIRST PROPERTY GRAB [email protected]@@@@@, /usr/palm/frameworks/enyo/1.0/framework/lib/mediacapture/helper/MediaCaptureProxyHelper.js:106 [20111017-16:52:32.913991] info: MediaCapture::ServiceProxy inResponse: {"propertyValues":[{"name":"ready","value":false},{"name":"supportedAudioFormats","value":[{"bitrate":128000,"samplerate":8000,"width":0,"height":0,"mimetype":"audio/vnd.wave","codecs":"1"},{"bitrate":256000,"samplerate":16000,"width":0,"height":0,"mimetype":"audio/vnd.wave","codecs":"1"},{"bitrate":705600,"samplerate":44100,"width":0,"height":0,"mimetype":"audio/vnd.wave","codecs":"1"},{"bitrate":128000,"samplerate":8000,"width":0,"height":0,"mimetype":"audio/vnd.wave","codecs":"1"},{"bitrate":256000,"samplerate":16000,"width":0,"height":0,"mimetype":"audio/vnd.wave","codecs":"1"},{"bitrate":705600,"samplerate":44100,"width":0,"height":0,"mimetype":"audio/vnd.wave","codecs":"1"},{"bitrate":128000,"samplerate":8000,"width":0,"height":0,"mimetype":"audio/vnd.wave","codecs":"1"},{"bitrate":256000,"samplerate":16000,"width":0,"height":0,"mimetype":"audio/vnd.wave","codecs":"1"},{"bitrate":705600,"sampl

アプリは私が手mediaCaptureオブジェクトをロードしようとするしかし

Uncaught TypeError: Cannot read property 'deviceKeys' of undefined, source/CCRecipesStep1View.js:186

私が知っていると私はアプリケーションが存在しないプロパティにアクセスしようとするため、このエラーがあることを理解しています。この 場合、特定の行は次のとおりです。

onImageCaptureInitialized: function() { 
    var keyString;        
    for(var i = 0; i < this.pb.deviceKeys.length; i++) <<------------ Here 
    ... 
    .. 
    . 
} 

ファイルMediaCapture.jsと私は「プロパティバッグ」についての話に続く命令が、私はあなたがプロパティを宣言するところ、これがあることを理解し、しかし、私はドン私がMediaCaptureObjectをロードするために必要なデバイスキーを取得するには、どのように を知っていますか?

ボタンは私が手に押されて:

MediaCapture::ServiceProxy #######----------- CHANGE PROPERTIES EVENT -----------######vuData , /usr/palm/frameworks/enyo/1.0/framework/lib/mediacapture/helper/MediaCaptureProxyHelper.js:140 [20111017-17:07:35.401836] info: MediaCapture::ServiceProxy

#----------- CHANGE PROPERTIES EVENT -----------######vuData ,

/usr/palm/frameworks/enyo/1.0/framework/lib/mediacapture/helper/MediaCaptureProxyHelper.js:140 [20111017-17:07:35.653586] info: MediaCapture::ServiceProxy

#----------- CHANGE PROPERTIES EVENT -----------######vuData ,

/usr/palm/frameworks/enyo/1.0/framework/lib/mediacapture/helper/MediaCaptureProxyHelper.js:140 [20111017-17:07:35.885940] info: MediaCapture::ServiceProxy

#----------- CHANGE PROPERTIES EVENT -----------######vuData ,

/usr/palm/frameworks/enyo/1.0/framework/lib/mediacapture/helper/MediaCaptureProxyHelper.js:140

そして無限ループを開始:S

を私はあなたが私を助けてCALを願っています。 このアプリは非常に重要です。

ありがとうございます。

答えて

0

3.0.4 SDKのサンプルを見ましたか?

写真を撮るMediaCaptureサンプルアプリが付属しています。 deviceUriを取得するメソッドは、実行しているものとはまったく異なり、initializeメソッドは引数としてフォーマットリストを取得します。

+0

はい、実際のリリースは3日か4日前です。 webOS 3.0.2では、カメラは利用できませんでした。早く私の質問を編集します。ありがとう。 – vicsonic

関連する問題