You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2013/09/27 00:27:27 UTC

[04/16] git commit: [CB-4488] - added manual capture test

[CB-4488] - added manual capture test


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture/commit/d93852dd
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture/tree/d93852dd
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture/diff/d93852dd

Branch: refs/heads/master
Commit: d93852dd8f309abdfc7ad4e6d1f6556bd7a21166
Parents: cac34ea
Author: Tim Kim <ti...@adobe.com>
Authored: Wed Sep 11 14:41:03 2013 -0700
Committer: Tim Kim <ti...@adobe.com>
Committed: Wed Sep 11 14:41:03 2013 -0700

----------------------------------------------------------------------
 test/capture/index.html | 150 +++++++++++++++++++++++++++++++++++++++++++
 test/index.html         |   1 +
 2 files changed, 151 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture/blob/d93852dd/test/capture/index.html
----------------------------------------------------------------------
diff --git a/test/capture/index.html b/test/capture/index.html
new file mode 100644
index 0000000..ef4b0e2
--- /dev/null
+++ b/test/capture/index.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+
+<html>
+  <head>
+    <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
+    <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
+    <title>Cordova Mobile Spec</title>
+    <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
+    <script type="text/javascript" charset="utf-8" src="../cordova-incl.js"></script>
+
+
+<script type="text/javascript" charset="utf-8">
+
+    var deviceReady = false;
+    var platformId = cordova.require('cordova/platform').id;
+    var pageStartTime = +new Date();
+
+    //-------------------------------------------------------------------------
+    // Camera
+    //-------------------------------------------------------------------------
+
+    function log(value) {
+        console.log(value);
+        document.getElementById('camera_status').textContent += (new Date() - pageStartTime) / 1000 + ': ' + value + '\n';
+    }
+
+    function captureAudioWin(mediaFiles){
+        var path = mediaFiles[0].fullPath;
+        log('Audio captured: ' + path);
+        var m = new Media(path);
+        m.play(); 
+    }
+    
+    function captureAudioFail(e){
+        log('Error getting audio: ' + e.code);
+    }
+    
+    function getAudio(){
+        clearStatus();
+        var options = { limit: 1, duration: 10};
+        navigator.device.capture.captureAudio(captureAudioWin, captureAudioFail, options);
+    }
+    
+    function captureImageWin(mediaFiles){
+        var path = mediaFiles[0].fullPath;
+        log('Image captured: ' + path);    
+        document.getElementById('camera_image').src = path;    
+    }
+    
+    function captureImageFail(e){
+        log('Error getting image: ' + e.code);
+    }
+    
+    function getImage(){
+        clearStatus();
+        var options = { limit: 1 };
+        navigator.device.capture.captureImage(captureImageWin, captureImageFail, options);    
+    }    
+    
+    function captureVideoWin(mediaFiles){
+        var path = mediaFiles[0].fullPath;
+        log('Video captured: ' + path);
+        
+        // need to inject the video element into the html
+        // doesn't seem to work if you have a pre-existing video element and
+        // add in a source tag
+        var vid = document.createElement('video');
+        vid.id="theVideo";
+        vid.width = "320";
+        vid.height= "240";
+        var source_vid = document.createElement('source');
+        source_vid.id = "theSource";
+        source_vid.src = path;
+        vid.appendChild(source_vid);
+        document.getElementById('video_container').appendChild(vid);    
+    }
+    
+    function captureVideoFail(e){
+        log('Error getting video: ' + e.code);
+    }
+    
+    function getVideo(){
+        clearStatus();
+        var options = { limit: 1, duration: 10 };
+        navigator.device.capture.captureVideo(captureVideoWin, captureVideoFail, options);      
+    }
+    
+    function clearStatus() {
+        document.getElementById('camera_status').innerHTML = '';
+        document.getElementById('camera_image').src = 'about:blank';
+    }
+
+    /**
+     * Function called when page has finished loading.
+     */
+    function init() {
+        document.addEventListener("deviceready", function() {
+            deviceReady = true;
+            console.log("Device="+device.platform+" "+device.version);
+        }, false);
+        window.setTimeout(function() {
+            if (!deviceReady) {
+                alert("Error: Apache Cordova did not initialize.  Demo will not run correctly.");
+            }
+        },1000);
+    };
+    
+</script>
+
+  </head>
+  <body onload="init();" id="stage" class="theme">
+
+    <h1>Capture</h1>
+    <div id="info" style="white-space: pre-wrap">
+        <b>Status:</b> <div id="camera_status"></div>
+        img: <img width="100" id="camera_image">
+        video: <div id="video_container"></div>
+    </div>
+    
+    <h2>Cordova Capture API</h2>
+    <div id="image-options"></div>
+
+    <h2>Actions</h2>
+    <div class="btn large" onclick="getAudio();">Capture 10 secs of audio and play</div>
+    <div class="btn large" onclick="getImage();">Capture 1 image</div>
+    <div class="btn large" onclick="getVideo();">Capture 10 secs of video</div>
+    <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture/blob/d93852dd/test/index.html
----------------------------------------------------------------------
diff --git a/test/index.html b/test/index.html
index 727c504..568d94f 100644
--- a/test/index.html
+++ b/test/index.html
@@ -47,6 +47,7 @@
     <a href="audio/index.html" class="btn large">Audio Play/Record</a>
     <a href="battery/index.html" class="btn large">Battery</a>
     <a href="camera/index.html" class="btn large">Camera</a>
+    <a href="capture/index.html" class="btn large">Capture</a>    
     <a href="compass/index.html" class="btn large">Compass</a>
     <a href="contacts/index.html" class="btn large">Contacts</a>
     <a href="events/index.html" class="btn large">Events</a>