DPlayer icon indicating copy to clipboard operation
DPlayer copied to clipboard

import flvjs error

Open 690797590 opened this issue 6 years ago • 4 comments

i use Vue component.

import 'dplayer/dist/DPlayer.min.css';
import DPlayer from 'dplayer';
import flvjs from 'flv.js'

...

new DPlayer({
                    container: document.getElementById('dplayer'),
                    preload: 'none',
                    video: {
                        url: 'https://moeplayer.b0.upaiyun.com/dplayer/hikarunara.flv',
                        type: 'flv'
                    }
                });

console error

ReferenceError: flvjs is not defined

690797590 avatar Nov 05 '19 08:11 690797590

try import flvjs first

kn007 avatar Nov 05 '19 12:11 kn007

try import flvjs first

Yes, i try move that to top of script , but i failed again..

import flvjs from 'flv.js'
import 'dplayer/dist/DPlayer.min.css';
import DPlayer from 'dplayer';

...

this.dp = new DPlayer({
                    container: this.$refs.dplayer,
                    video: {
                        url: 'http://cyberplayerplay.kaywang.cn/cyberplayer/demo201711-L1.flv',
                    },
                    pluginOptions: {
                        flv: {
                            // flv config
                        },
                    },
                });

690797590 avatar Nov 06 '19 01:11 690797590

Please try the second way, I have the same issue and the second way works for me

import flvjs from 'flv.js'
import 'dplayer/dist/DPlayer.min.css';
import DPlayer from 'dplayer';


const dp: DPlayer = new DPlayer({
            container: document.getElementById('dplayer'),
            video: {
                url: 'demo.flv',
                type: 'customFlv',
                customType: {
                    customFlv: function(video: any, player: any) {
                        const flvPlayer = flvjs.createPlayer({
                            type: 'flv',
                            url: video.src,
                        });
                        flvPlayer.attachMediaElement(video);
                        flvPlayer.load();
                    },
                },
            },
        });

matrix14159 avatar Feb 27 '20 13:02 matrix14159

I have a API proposal. Hope the author can consider about it:

import flvjs from 'flv.js';

new Dplayer({
  video: {
    url: 'xxx',
    type: 'flv',
    flvjs: flvjs, // send flv.js to dplayer in case of user can not import 'flv.js' first (like Component lazy load and chunk split)
  }
})

xialvjun avatar Jul 27 '22 08:07 xialvjun