diff --git a/Shane-Casey-Kate/Jade-HTML Conversion b/Shane-Casey-Kate/Jade-HTML Conversion new file mode 100644 index 0000000..a6e72f1 --- /dev/null +++ b/Shane-Casey-Kate/Jade-HTML Conversion @@ -0,0 +1,47 @@ +!!! 5 +header + h1 Give Us Your Info +main + section.welcome + video(poster='welcome-neon-sign.jpg', controls='') + source(src='https://developers.google.com/web/fundamentals/documentation/introduction-to-media/video/video/chrome.webm', type='video/webm') + source(src='https://developers.google.com/web/fundamentals/documentation/introduction-to-media/video/video/chrome.mp4', type='video/mp4') + p This browser does not support the video element. + form + fieldset + video#video(width='150', height='', autoplay='') + button#snap Add a Profile Picture + canvas#canvas(width='150', height='150') + div + label.mid(for='name') Username or Email: + input#name(type='text', name='name', value='', tabindex='1', placeholder='youremail@email.com') + div + label.mid(for='password') Password: + input#password(type='password', name='password', value='', tabindex='2', placeholder='password') + div + label(for='radio-choice-1') Male: + input#radio-choice-1.radio(type='radio', name='radio-choice', tabindex='5', value='choice-1') + div + label(for='radio-choice-2') Female: + input#radio-choice-2.radio(type='radio', name='radio-choice', tabindex='6', value='choice-2') + div + label.mid(for='select-choice-2') Country: + select#select-choice-2(name='extraoptions') + optgroup(label='1') + option(value='Choice 1') United States + option(value='Choice 2') Canada + option(value='Choice 3') United Kingdome + optgroup(label='2') + option(value='Choice 1') Country 1 + option(value='Choice 2') Country 2 + option(value='Choice 3') Country 3 + div + label(for='textarea') Bio: + textarea#textarea(cols='40', rows='10', name='textarea', placeholder='tell us about yourself!') + div + label(for='check') Click the box if you agree to our termas and conditions: + input#check.checkbox(type='checkbox', name='check') + div + input.submit(type='submit', value='Sign Up') + audio#page_audio(src='Yakety_Sax_-_Benny_Hill.mp3', preload='auto') +script(type='text/javascript', src='media.js') diff --git a/Shane-Casey-Kate/README.md b/Shane-Casey-Kate/README.md new file mode 100644 index 0000000..8ef8440 --- /dev/null +++ b/Shane-Casey-Kate/README.md @@ -0,0 +1,17 @@ ++### A project for Code Fellows B25 by Kate Fleming, Casey Holly, and Shane Kalles. ++ ++Our build of HTML5-as-a-platform. ++ ++Capturing photos with the camera access was pretty simple, but being able to capture video is really difficult, since the new file would need to be stored somewhere and local storage doesn't work for this type of information. ++ ++Our form layout is simple and we made sure to include local storage. Found that you need to write different JavaScript code for local storage of text items vs. radio checkboxes. Another obstical we came across is that if a button is inside a form is takes on "submit" function which if used to trigger an event you need to change its default to not reload the page. ++ ++Adding the video element is very simple and the controls available to you in HTML5 make for an easy addition to any page with the playback results that you want. We didn't add any custom controls but this process seems fairly easy. ++ ++Resources: ++* [UX Design](http://www.anotheruiguy.com/ux-design-dev/_book/html5/audio.html) ++* [Custom Video Control](http://www.creativebloq.com/html5/build-custom-html5-video-player-9134473) ++* ++*[Video & Audio Elements](http://www.sitepoint.com/essential-audio-and-video-events-for-html5/) ++*[Radio Local Storage](http://stackoverflow.com/questions/19451862/localstorage-not-saving-changed-radio-button-values-if-checked-is-used) + diff --git a/Shane-Casey-Kate/Yakety_Sax_-_Benny_Hill.mp3 b/Shane-Casey-Kate/Yakety_Sax_-_Benny_Hill.mp3 new file mode 100644 index 0000000..bf7e83c Binary files /dev/null and b/Shane-Casey-Kate/Yakety_Sax_-_Benny_Hill.mp3 differ diff --git a/Shane-Casey-Kate/camera.js b/Shane-Casey-Kate/camera.js new file mode 100644 index 0000000..11a70f6 --- /dev/null +++ b/Shane-Casey-Kate/camera.js @@ -0,0 +1,36 @@ +// Put event listeners into place +window.addEventListener("DOMContentLoaded", function() { + // Grab elements, create settings, etc. + var canvas = document.getElementById("canvas"), + context = canvas.getContext("2d"), + video = document.getElementById("video"), + videoObj = { "video": true }, + errBack = function(error) { + console.log("Video capture error: ", error.code); + }; + + // Put video listeners into place + if(navigator.getUserMedia) { // Standard + navigator.getUserMedia(videoObj, function(stream) { + video.src = stream; + video.play(); + }, errBack); + } else if(navigator.webkitGetUserMedia) { // WebKit-prefixed + navigator.webkitGetUserMedia(videoObj, function(stream){ + video.src = window.webkitURL.createObjectURL(stream); + video.play(); + }, errBack); + } + else if(navigator.mozGetUserMedia) { // Firefox-prefixed + navigator.mozGetUserMedia(videoObj, function(stream){ + video.src = window.URL.createObjectURL(stream); + video.play(); + }, errBack); + } + +}, false); + +// Trigger photo take +document.getElementById("snap").addEventListener("click", function() { + context.drawImage(video, 0, 0, 640, 480); +}); \ No newline at end of file diff --git a/Shane-Casey-Kate/index.html b/Shane-Casey-Kate/index.html new file mode 100644 index 0000000..63e84c2 --- /dev/null +++ b/Shane-Casey-Kate/index.html @@ -0,0 +1,75 @@ + + +
+ +