After updating Chrome to release 53 this week, my web application was no longer able to use the media API to capture video with a webcam. This is the third time that I am forced to update my code due to changes in Chrome... this is getting a little annoying!
The error message I was getting in my javascript console is:
DOMException: Failed to load because no supported source was found
I'll keep it short. The problem was the way I set the source of my media element.
I was setting the source like this:
navigator.getUserMedia(videoObj, function(stream) {
CaptureImageStream = stream;
CaptureImageVideo.src = stream;
CaptureImageVideo.play();
}, errBack);
It seems like this is no longer supported. I changed it to this and it now works again:
navigator.getUserMedia(videoObj, function(stream) {
CaptureImageStream = stream;
CaptureImageVideo.src = window.URL.createObjectURL(stream);
CaptureImageVideo.play();
}, errBack);
I hope this helps!
Clement
The error message I was getting in my javascript console is:
DOMException: Failed to load because no supported source was found
I'll keep it short. The problem was the way I set the source of my media element.
I was setting the source like this:
navigator.getUserMedia(videoObj, function(stream) {
CaptureImageStream = stream;
CaptureImageVideo.src = stream;
CaptureImageVideo.play();
}, errBack);
It seems like this is no longer supported. I changed it to this and it now works again:
navigator.getUserMedia(videoObj, function(stream) {
CaptureImageStream = stream;
CaptureImageVideo.src = window.URL.createObjectURL(stream);
CaptureImageVideo.play();
}, errBack);
I hope this helps!
Clement