made success & error global to allow firefox to find them, also remove audio support as Firefox borks altogether
This commit is contained in:
parent
c66d23be42
commit
1b0b0f9c23
|
@ -85,24 +85,26 @@ slider.oninput = slider.onchange = function () {
|
||||||
tb = rgb[2];
|
tb = rgb[2];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function successCallback(stream) {
|
||||||
|
window.stream = stream;
|
||||||
|
if (window.webkitURL) {
|
||||||
|
video.src = window.webkitURL.createObjectURL(stream);
|
||||||
|
} else {
|
||||||
|
video.src = stream;
|
||||||
|
}
|
||||||
|
video.play();
|
||||||
|
}
|
||||||
|
|
||||||
|
function errorCallback(error) {
|
||||||
|
console.error('An error occurred: [CODE ' + error.code + ']');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
// from HTML5 Doctor article: http://html5doctor.com/getusermedia/
|
// from HTML5 Doctor article: http://html5doctor.com/getusermedia/
|
||||||
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia;
|
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia;
|
||||||
if (navigator.getUserMedia) {
|
if (navigator.getUserMedia) {
|
||||||
navigator.getUserMedia({ video: true }, successCallback, errorCallback);
|
navigator.getUserMedia({ video: true }, successCallback, errorCallback);
|
||||||
function successCallback(stream) {
|
|
||||||
window.stream = stream;
|
|
||||||
if (window.webkitURL) {
|
|
||||||
video.src = window.webkitURL.createObjectURL(stream);
|
|
||||||
} else {
|
|
||||||
video.src = stream;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function errorCallback(error) {
|
|
||||||
console.error('An error occurred: [CODE ' + error.code + ']');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
.supported video,
|
.supported video,
|
||||||
.supported audio {
|
.supported audio {
|
||||||
|
width: 100%;
|
||||||
/* I'm using CSS3 to translate the video on the X axis to give it a mirror effect */
|
/* I'm using CSS3 to translate the video on the X axis to give it a mirror effect */
|
||||||
-webkit-transform: rotateY(180deg) rotate3d(1, 0, 0, 0deg);
|
-webkit-transform: rotateY(180deg) rotate3d(1, 0, 0, 0deg);
|
||||||
-o-transform: rotateY(180deg) rotate3d(1, 0, 0, 0deg);
|
-o-transform: rotateY(180deg) rotate3d(1, 0, 0, 0deg);
|
||||||
|
@ -32,28 +33,29 @@ var video = document.getElementById('video'),
|
||||||
article = video.parentNode,
|
article = video.parentNode,
|
||||||
gum = document.getElementById('gum');
|
gum = document.getElementById('gum');
|
||||||
|
|
||||||
|
function successCallback(stream) {
|
||||||
|
window.stream = stream;
|
||||||
|
if ('mozSrcObject' in video) {
|
||||||
|
video.mozSrcObject = stream;
|
||||||
|
} else if (window.webkitURL) {
|
||||||
|
video.src = window.webkitURL.createObjectURL(stream);
|
||||||
|
// document.querySelector('audio').src = window.webkitURL.createObjectURL(stream);
|
||||||
|
} else {
|
||||||
|
video.src = stream;
|
||||||
|
}
|
||||||
|
video.play();
|
||||||
|
}
|
||||||
|
|
||||||
|
function errorCallback(error) {
|
||||||
|
console.error('An error occurred: [CODE ' + error.code + ']', error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
|
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
|
||||||
|
|
||||||
if (navigator.getUserMedia) {
|
if (navigator.getUserMedia) {
|
||||||
// NOTE: at time of writing March 26, 2012, audio isn't working in Chrome
|
navigator.getUserMedia({video: true }, successCallback, errorCallback);
|
||||||
// navigator.getUserMedia('audio,video', successCallback, errorCallback);
|
|
||||||
// Below is the latest syntax. Using the old syntax for the time being for backwards compatibility.
|
|
||||||
navigator.getUserMedia({video: true, audio: true }, successCallback, errorCallback);
|
|
||||||
function successCallback(stream) {
|
|
||||||
window.stream = stream;
|
|
||||||
if ('mozSrcObject' in video)
|
|
||||||
video.mozSrcObject = stream;
|
|
||||||
} else if (window.webkitURL) {
|
|
||||||
video.src = window.webkitURL.createObjectURL(stream);
|
|
||||||
// document.querySelector('audio').src = window.webkitURL.createObjectURL(stream);
|
|
||||||
} else {
|
|
||||||
video.src = stream;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function errorCallback(error) {
|
|
||||||
console.error('An error occurred: [CODE ' + error.code + ']');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue