Невозможно загрузить плагины videojs при использовании Requirejs

Я работаю с elgg, который использует RequireJS для загрузки скриптов и зависимостей.

Я пытаюсь добавить плагин videojs-record, но кажется, что плагин записи не доступен для videojs. Каждый раз я получаю сообщение об ошибке: "Неперехваченная ошибка:" запись "плагина не существует". Проверяем сеть, плагин и все зависимости загружаются правильно.

Думая, что проблема может быть связана с системой загрузки сценариев elgg, я провел небольшой тест снаружи, используя только следующий сценарий, который просто загружается в index.html. Ошибка осталась прежней.

    requirejs.config ({
    baseUrl: 'node_modules',
    paths: {
        jquery: "jquery/dist/jquery",
        videojs: 'video.js/dist/video',
        RecordRTC: 'recordrtc/RecordRTC',
        adapter: 'webrtc-adapter/out/adapter',
        record: [
            'videojs-record/dist/videojs.record',
        ],
    },
    shim: {
        videojs: {
            deps: ['global/window',"global/document"],
            exports: 'videojs',
        },
        RecordRTC: {
            deps: ['videojs'],
            exports: 'RecordRTC',
        },
        adapter: {
            deps: ['videojs'],
            exports: 'adapter',
        },
        record: {
            deps: ['videojs','adapter','RecordRTC'],
            exports: 'record',
        },
        dovideo: {
            deps: ['videojs','record','RecordRTC','adapter'],
            exports: 'dovideo',
        },
    },
    waitSeconds: 0,
});

require(["jquery","videojs","RecordRTC","adapter","record"],function($,videojs,RecordRTC,adapter,record){

    var videoMaxLengthInSeconds = 120;

    // Inialize the video player
    var player = videojs("myVideo", {
        controls: true,
        width: 720,
        height: 480,
        fluid: false,
        plugins: {
            record: {
                audio: true,
                video: true,
                maxLength: videoMaxLengthInSeconds,
                debug: true,
                videoMimeType: "video/webm;codecs=H264"
            }
        }
    }, function(){
        // print version information at startup
        videojs.log(
            'Using video.js', videojs.VERSION,
            'and this videojs-record', record.VERSION,
            'with videojs-record', videojs.getPluginVersion('record'),
            'and recordrtc', RecordRTC.version
        );
    });
});

В поисках похожих вопросов кто-то предположил, что проблема может заключаться в том, что, загружая VideoJS как модуль RequireJS, он не находится в глобальной области, но плагин ищет его там. Предлагаемый ответ заключался в использовании прокладки в requirejs.config. Тем не менее, это ничего не решает, ошибка остается

Я также пробовал инициализировать скрипт разными способами, например

player.record()

или

videojs.registerPlugin('record', record);

но он говорит, что запись не определена. Если у кого-то есть представление об этом, было бы очень приятно!

Спасибо

0 ответов

Другие вопросы по тегам