I'm trying to access a gif file from an already loaded source
to read it's meta data
(by using the console in devTools)
The html is as such:
<video>
<source src="https://somesite.com/somegif.gif?format=mp4">
</video>
and I already have a function which reads and prints the meta data but it takes File data type as an argument:
function gifMetadata(file){
let fileReader = new FileReader();
fileReader.readAsArrayBuffer(file);
...
}
so how do I get file
from source
without having to fetch()
the data again?
CodePudding user response:
"I'm trying to access a gif file from an already loaded source to read it's meta data
(by using the console in devTools)"
You cannot access bytes of content loaded in a media element.
You could try reading the .duration
property, if the server is returning data in MP4 format.
<!DOCTYPE html>
<html>
<body>
<video id="myVideo" width="320" height="176" controls>
<source src="https://somesite.com/somegif.gif?format=mp4" type="video/mp4">
</video>
<script>
var duration = -1;
var vid = document.getElementById("myVideo");
vid.onloadedmetadata = function(){ get_Duration() };
function get_Duration()
{
duration = vid.duration;
//alert("duration (secs) : " duration);
console.log("duration (secs) : " duration);
}
</script>
</body>
</html>