0

こんにちは、以前に iPhone アプリを作成したことがありますが、ハイブリッド アプリは初めてで、cordova を介してカメラ機能にアクセスする方法を知りたいですか? 私はいくつかのチュートリアルのみを試しましたが、xcodeでボタンを押しても何も起こらないようで、メモリ警告を受け取ったと表示されます。誰でも助けることができますか?

これが私がこれまでに試したことです

<!DOCTYPE html>
<html>
    <head>
        <title>Capture Photo</title>

        <script type="text/javascript" charset="utf-8" src="cordova-1.7.0.js"></script>
        <script type="text/javascript" charset="utf-8">

            var pictureSource,
                destinationType

            document.addEventListener("deviceready",loaded,false);

            function loaded() {
                pictureSource=navigator.camera.PictureSourceType;
                destinationType=navigator.camera.DestinationType;
            }

            function getPhoto(imageData) {
                var smallImage = document.getElementById('smallImage');

                smallImage.style.display = 'block';

                smallImage.src = "data:image/jpeg;base64," + imageData;
            }

            function capturePhoto() {
                navigator.camera.getPicture(getPhoto, onFail, { quality: 50 });
            }

            function onFail(message) {
                alert('Failed because: ' + message);
            }

            </script>
    </head>
    <body>
        <button onclick="capturePhoto();">Capture Photo</button> <br>
        <img style="display:none;width:60px;height:60px;" id="smallImage" src="" />
    </body>
</html>
4

1 に答える 1

1

あまりにも多くのメモリを使用するデータ URL リターンにデフォルト設定しています。ファイル uri に切り替えます。

function getPhoto(imageData) {
    var smallImage = document.getElementById('smallImage');

    smallImage.style.display = 'block';

    smallImage.src = imageData;
}

function capturePhoto() {
    navigator.camera.getPicture(getPhoto, onFail, { quality: 50,
        destinationType: destinationType.FILE_URI });
}
于 2012-07-05T17:21:55.213 に答える