2011-10-01 9 views
0

なぜこれが動作しないのか分かりません。 カメラをシミュレートしていないため、ノキアシミュレータでこれを確認できません。 と電話アプリいずれかのクラッシュやただの絵 を持っていないが、私はこれが(カメラの重複JSの理由は異なるがしようとしているjavascriptのである(htmlページ上の別のボタンで)シンビアンのphonegapでカメラのAPIを使用して

をBase64でメソッドとimageURI方法の両方を試してみましたメソッド):

function camera(){ 

    $('#showpic').css('display','block').html("getting an image"); 
    navigator.camera.getPicture(camerasuccess,camerafail,null); 
};   
function camerasuccess(imageBASE) { 

    $('#showpic').css('display','block').html("we have an image"); 
    var imgsrc = "data:image/jpeg;base64,"+imageBASE[0]; 
    $('#imageplace').html('<img src ="'+imgsrc+'"/>'); 
    //var useimg = document.getElementById('useimage'); 
    // 
    //useimg.style.display = 'block'; 
    //useimg.src = "data:image/jpeg;base64,"+imageBASE; 

} 

function camerafail(error) { 
    $('#showpic').css('display','block').html("some error:"+error); 
}; 

function camera2(){ 
    $('#showpic').css('display','block').html("getting an image"); 
    navigator.camera.getPicture(camera2success,camerafail,null); 

}; 

function camera2success (imageURI){ 
    $('#showpic').css('display','block').html("we have an image"); 
    $('#debug').html(imageURI[0]); 
    if (!imageURI[0]) { 
     $('#debug').html("no imageURI here"); 
    } 
    $('#imageplace').html('<img src ="'+imageURI[0]+'"/>'); 

これはマークアップです(ここでもdif ferentは)私が取ったアプローチ:

<div id = "camera"> 
     <input type = "button" id = "camera" value = "base"> 
     <input type = "button" id = "camera2" value = "imageURi"></br> 
     <span id = "showpic" style = "display:none;">showpic</span><br/> 
     <span id = "debug"></span></br> 
     <div id = "imageplace"></div></br> 
     <img id = "useimage" style = "display:none; width:60px; height:60px " src = ''/> 
    </div> 

別の通知を:それはどんな意味を持っている場合、あなたは、私は、wgzファイルを閉じるように作るだけのwwwフォルダを圧縮しwgzにエンディングを変更、ほとんど使用しないでください知っている必要がありますjs関数(geolocationを含む)は正常に動作します。

答えて

0

私も同様の問題があります。私はNokia N8を使用しています。それはgetPictureメソッドを起動し、私は写真を撮ることができます。しかし、「写真を撮る」アプリを終了する唯一の方法は「戻る」をクリックすることです。これは成功関数を起動しますが、イメージデータは返されません。

PhoneGapのためのAPIドキュメントを見てみると、それはこれらがカメラのAPIでサポートされるプラットフォームであることを述べている:

  • アンドロイド
  • ブラックベリーWebWorks(OS 5.0以上)
  • iPhone
  • Windows Phone 7(マンゴー)

多くの試行錯誤が終わった後、これは明らかにカメラが必要な場合にのみ機能しますURI(実際の画像データではない)として画像を返すAPI、およびeditableをtrueに設定します。次のように試してみてください:

navigator.camera.getPicture(camerasuccess, onFail, { quality: 20, allowEdit: true }); 

$('#imageplace').html('<img src ="'+imageBASE+'"/>'); 
関連する問題