Skip to content

Instantly share code, notes, and snippets.

@barsbek
Created April 11, 2025 07:10
Show Gist options
  • Save barsbek/97472e6978b0100cb1d84442043453ca to your computer and use it in GitHub Desktop.
Save barsbek/97472e6978b0100cb1d84442043453ca to your computer and use it in GitHub Desktop.
Get media duration
const getMediaDuration = async (file, type) => {
// type either video or audio
return new Promise((resolve, reject) => {
const element = document.createElement(type);
element.preload = "metadata";
element.onloadedmetadata = () => {
window.URL.revokeObjectURL(element.src);
resolve(element.duration);
};
element.onerror = (error) => {
reject(error);
};
element.src = URL.createObjectURL(file);
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment