Updated Branches: refs/heads/dev cac34ea50 -> d93852dd8
[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/dev Commit: d93852dd8f309abdfc7ad4e6d1f6556bd7a21166 Parents: cac34ea Author: Tim Kim <[email protected]> Authored: Wed Sep 11 14:41:03 2013 -0700 Committer: Tim Kim <[email protected]> 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>
