Подгрузить данные в буфер через fetch/MediaSource

video.src = URL.createObjectURL(source = new MediaSource);
// Начинаем подгрузку
(buffer = source.addSourceBuffer('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')).onupdateend = _ => {
    // Подгрузка закончена, видео полностью загружено
    source.endOfStream();
    video.muted = true;
    video.play();
};
buffer.appendBuffer(fetch('frag_bunny.mp4').then(r => r.arrayBuffer()))

У меня несколько вопросов

  1. Не удается подгрузить данные видео, в буфер, через fetch, через xhr получается

        (xhr = new XMLHttpRequest).open('get', 'frag_bunny.mp4');
    xhr.responseType = 'arraybuffer';
    xhr.onload = _ => {
        console.log(xhr.response);
        buffer.appendBuffer(xhr.response);
    
    }
    xhr.send();
    

2 Вопрос. Данным способом мы ждем когда видео целиком погрузится в буфер. Затем срабатывает слушатель onupdateend можем запускать. Вопрос как делать так, чтобы запускать видео в том случаи когда видео подгружено не полностью.

3 Вопрос. Возможноли, когда проигрываем видео, ссылка на который приведена в теге к

URL.createObjectURL(source = new MediaSource)

Запускать следующее видео без ее подмены? То есть, возможно ли в этот же самый буфер добавлять следующую дорожку?


Ответы (0 шт):