Skip to main content

getAudioDurationInSeconds()

Part of the @remotion/media-utils package of helper functions.

Previously called getAudioDuration().

Gets the duration in seconds of an audio source. Remotion will create an invisible <audio> tag, load the audio and return the duration.

Arguments

src

A string pointing to an audio asset

Return value

Promise<number> - the duration of the audio file.

Example

tsx
import { getAudioDurationInSeconds } from "@remotion/media-utils";
import music from "./music.mp3";
 
const MyComp: React.FC = () => {
const getDuration = useCallback(async () => {
const publicFile = await getAudioDurationInSeconds(
staticFile("voiceover.wav"),
); // 33.221
const imported = await getAudioDurationInSeconds(music); // 127.452
const remote = await getAudioDurationInSeconds(
"https://example.com/remote-audio.aac",
); // 50.24
}, []);
 
useEffect(() => {
getDuration();
}, []);
 
return null;
};
tsx
import { getAudioDurationInSeconds } from "@remotion/media-utils";
import music from "./music.mp3";
 
const MyComp: React.FC = () => {
const getDuration = useCallback(async () => {
const publicFile = await getAudioDurationInSeconds(
staticFile("voiceover.wav"),
); // 33.221
const imported = await getAudioDurationInSeconds(music); // 127.452
const remote = await getAudioDurationInSeconds(
"https://example.com/remote-audio.aac",
); // 50.24
}, []);
 
useEffect(() => {
getDuration();
}, []);
 
return null;
};

See also