packages/docs/docs/media-parser/pause-resume-abort.mdx
:::warning We are phasing out Media Parser and are moving to Mediabunny! :::
You can pause, resume and abort the parsing process.
Create a mediaParserController() and use the following methods:
import {mediaParserController, parseMedia} from '@remotion/media-parser';
const controller = mediaParserController();
parseMedia({
src: 'https://www.w3schools.com/html/mov_bbb.mp4',
controller,
})
.then(() => {
console.log('Finished downloading');
})
.catch((err) => {
console.error('Error downloading', err);
});
// Wait 1 sec, pause, wait 1 sec, resume
await new Promise((resolve) => setTimeout(resolve, 1000));
controller.pause();
await new Promise((resolve) => setTimeout(resolve, 1000));
controller.resume();
import {mediaParserController, parseMedia} from '@remotion/media-parser';
const controller = mediaParserController();
parseMedia({
src: 'https://www.w3schools.com/html/mov_bbb.mp4',
controller,
})
.then(() => {
console.log('Finished parsing');
})
.catch((err) => {
console.error('Error parsing', err);
});
// Cancel after 10 seconds
await new Promise((resolve) => setTimeout(resolve, 10_000));
controller.abort();
Use the hasBeenAborted() function to check if a parse was aborted using the .abort() method.
import {mediaParserController, parseMedia, hasBeenAborted} from '@remotion/media-parser';
const controller = mediaParserController();
const promise = parseMedia({
src: 'https://www.w3schools.com/html/mov_bbb.mp4',
controller,
})
.then(() => {
console.log('Finished downloading');
})
.catch((err) => {
if (hasBeenAborted(err)) {
console.log('Download was cancelled');
} else {
console.error('Error downloading', err);
}
});