Невозможно загрузить плагины 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);
но он говорит, что запись не определена. Если у кого-то есть представление об этом, было бы очень приятно!
Спасибо