Uncaught TypeError: невозможно прочитать свойство 'naturalWidth', равное null - Fabri cJs - предварительный просмотр видео в Fabri c. js через loadFromJSON - PullRequest
0 голосов
/ 27 мая 2020

Есть одна проблема, с которой я столкнулся при попытке предварительного просмотра видео на fabri c. js canvas. Выдает ошибку:

Uncaught TypeError: Cannot read property 'naturalWidth' of null                          :fabric.js:20490

Код того, как я добавляю видео на холст:

let objects = slideData.getObjects();
for (var i = 0; i < objects.length; i++) {
    if (objects[i].hasOwnProperty('videoUrl')) {
        var videoElement = createVideoElement(objects[i]['videoUrl']); //this function returns a video element
        var video = new fabric.Image(videoElement, {left: objects[i]['left'], top: objects[i]['top'], isBackgroundVideo: true});
        slideData.add(video);//adding video to canvas.
        video.sendBackwards();//setting video to be on the back so I can show text in front of it
        console.log(slideData);
    }
}

Код того, как я пытаюсь просмотреть видео на холсте:

let jsonData = JSON.stringify(slideData.toObject(propertiesToSave)); //this is an array of properties which we want to save which includes isBackgroundVideo: true
slideData.loadFromJSON(jsonData, slideData.renderAll.bind(slideData), function(o, object) { //loading saved canvas data from JSON
    object.set('selectable', false);
    object.set('cursorHover', 'default');
    let objects = slideData.getObjects();
    for (var i = 0; i < objects.length; i++) {
        if (objects[i].hasOwnProperty('isBackgroundVideo')) {
            objects[i].getElement().play();
            fabric.util.requestAnimFrame(function render() {
                slideData.renderAll();
                fabric.util.requestAnimFrame(render);
            });
        }
    }
});

Но когда я выполняю этот код, fabri c. js выдает ошибку.

Uncaught TypeError: Cannot read property 'naturalWidth' of null                          :fabric.js:20490

Я пробовал большинство решений, но он просто не работает. Я не уверен, что здесь не так. Если я делаю что-то не так или это просто ошибка в fabri c. js

Если вам нужно больше кода, я могу просто прокомментировать то, что вам нужно. Спасибо

...