que estaba aprendiendo algunos javascript
, para seleccionar un archivo y utilizarlo para crear un ObjectURL que se puede establecer como el de un src
html5 video
.I estoy tratando esto en cromo versión 18.0 .1025.162 en ubuntu lucid
, y utilizando un archivo html local con un archivo javascript y archivos multimedia en la misma carpeta.Javascript window.URL no está definido en función de
Puedo seleccionar un archivo de video usando el elemento de entrada y cuando hago clic en play link
, se ejecuta la función javascript playVideo().
<video id="vid" name='myvid' width="640" height="360" controls="controls">
<source src="test.webm" type="video/webm" />
</video>
<br><a href="#" id="playlnk">Play </a> </li>
<br><input type="file" name="fileselect" id="fselect"> </input>
archivo javascript es
$(document).ready(function(){
player=$('#vid').get(0);
$('#playlink').click(function(){playVideo(player);});
});
function setVideoSrc(player,file){
console.log('winurl='+window.URL);
var fileURL = window.URL.createObjectURL(file);
player.src=fileURL;
player.load();
return;
}
function playVideo(player) {
var file=document.getElementById('fselect').files[0];
console.log('you chose:'+file);
if (file==undefined){
console.log('no file chosen');
}else{
console.log('file='+file);
setVideoSrc(player,file);
}
}
Cuando no selecciona ningún archivo y haga clic en el PlayLink, se reproduce el vídeo por defecto y la consola de registro dice no file chosen
-como esperados.
El error se produce cuando Selecciono un archivo de video y luego hago clic en el enlace de reproducción. Luego, el método playVideo()
llama al setVideoSrc()
en el que el registro de la consola dice window.URL' is
undefined`
¿Por qué sucede esto? ¿Alguien me puede ayudar a corregir esto? Aquí está la salida registro de la consola
you chose:[object File] //from playVideo() function
file=[object File] //from playVideo() function
winurl=undefined //setVideoSrc() function
Uncaught TypeError: Cannot call method 'createObjectURL' of undefined
[window.URL] (https : //developer.mozilla.org/en/DOM/window.URL) es Gecko-specific. ¿Qué navegador estás usando? –
Estoy usando ... chrome, ¿hay una forma independiente de navegador para hacer esto? – damon
Que yo sepa, no existe (IE y Opera no parecen apoyar esto en absoluto). Chrome, sin embargo, tiene un equivalente ('window.webkitURL') [según MDN] (https://developer.mozilla.org/en/DOM/window.URL.createObjectURL). –