O que é DPlayer?
O DPlayer é um reprodutor de vídeo de código aberto, poderoso e flexível. Ele suporta não apenas formatos de vídeo comuns, como MP4, mas também fluxos HLS e FLV, tornando-o ideal para reprodução de vídeo ao vivo. O DPlayer se destaca por sua interface minimalista e personalizável e um recurso integrado de "danmaku"(comentários flutuantes).
Um guia detalhado para usar o DPlayer
Para usar o DPlayer, você precisa incorporar a biblioteca e quaisquer dependências necessárias e, em seguida, configurar o player.
Etapa 1: Obtenha as bibliotecas necessárias
Usar uma CDN é a maneira mais rápida de obter essas bibliotecas. O DPlayer detectará e usará automaticamente as bibliotecas dependentes se você incluí-las na sua página.
Para MP4(padrão):
<script src="https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js"></script>Para HLS(.m3u8):
<script src="https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/hls.js/dist/hls.min.js"></script>Para FLV(.flv):
<script src="https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/flv.js/dist/flv.min.js"></script>
Etapa 2: Crie o HTML e configure o player
Depois de incorporar as bibliotecas, você pode criar um <div>elemento para exibir o vídeo e então configurar o DPlayer com propriedades específicas.
<!DOCTYPE html>
<html>
<head>
<title>Advanced DPlayer Example</title>
<script src="https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/hls.js/dist/hls.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/flv.js/dist/flv.min.js"></script>
</head>
<body>
<h1>How to Use DPlayer</h1>
<div id="dplayer-container-1"></div>
<hr>
<div id="dplayer-container-2"></div>
<hr>
<div id="dplayer-container-3"></div>
<script>
// DPlayer configuration for MP4
const dpMP4 = new DPlayer({
container: document.getElementById('dplayer-container-1'),
autoplay: false,
lang: 'en',
loop: true,
hotkey: true,
preload: 'auto',
screenshot: true,
video: {
url: 'https://example.com/videos/my-video.mp4',
pic: 'https://example.com/images/my-video-thumbnail.jpg',
thumbnails: 'https://example.com/images/video-thumbnails.jpg',
type: 'mp4'
}
});
// DPlayer configuration for HLS
const dpHLS = new DPlayer({
container: document.getElementById('dplayer-container-2'),
autoplay: true,
lang: 'en',
theme: '#ff6666',
loop: false,
hotkey: true,
preload: 'metadata',
video: {
url: 'https://example.com/live/my-stream.m3u8',
type: 'hls',
customType: {
hls: function(video, player) {
const hls = new Hls();
hls.loadSource(video.src);
hls.attachMedia(video);
}
}
}
});
// DPlayer configuration for FLV
const dpFLV = new DPlayer({
container: document.getElementById('dplayer-container-3'),
autoplay: true,
lang: 'en',
theme: '#0077c2',
loop: false,
hotkey: true,
preload: 'auto',
video: {
url: 'https://example.com/live/my-stream.flv',
type: 'flv',
customType: {
flv: function(video, player) {
const flvPlayer = flvjs.createPlayer({
type: 'flv',
url: video.src,
});
flvPlayer.attachMediaElement(video);
flvPlayer.load();
}
}
}
});
</script>
</body>
</html>
Explicação detalhada das propriedades
Propriedades comuns(aplicáveis a todos os tipos de vídeo)
container: O elemento DOM onde o DPlayer será renderizado. Obrigatório.autoplay:trueoufalse. Reproduz o vídeo automaticamente quando a página é carregada.theme: Código de cor hexadecimal(ex.:'#FADFA3'). Define a cor de destaque do player.lang: O idioma da interface do usuário, por exemplo,'en'para inglês.loop:trueoufalse. Repete o vídeo após seu término.hotkey:trueoufalse. Habilita atalhos de teclado(por exemplo, barra de espaço para reproduzir/pausar).preload:'auto','metadata', ou'none'. Como o navegador pré-carrega o vídeo.'auto': Pré-carrega o vídeo inteiro.'metadata': Pré-carrega apenas metadados(duração, dimensões).'none': Não pré-carrega nada.
screenshot:trueoufalse. Permite que os usuários façam capturas de tela do vídeo.video.url: O caminho para seu arquivo de vídeo.video.pic: O caminho para a imagem em miniatura.video.thumbnails: O caminho para um sprite em miniatura para a barra de busca.
Propriedades para HLS e FLV
Esses tipos de vídeo requerem bibliotecas externas para funcionar. O DPlayer os utiliza automaticamente, mas você também pode personalizar seu comportamento por meio da customTypepropriedade .
video.type: Especifica o tipo de vídeo.'mp4': Padrão, pode ser omitido.'hls': Para.m3u8vídeos.'flv': Para.flvvídeos.
video.customType: Um objeto que permite personalizar a lógica de processamento para cada tipo de vídeo.Exemplo com HLS: O código
customType.hlscria umaHlsinstância e a anexa ao elemento do DPlayer<video>. Isso é útil para lidar com casos especiais ou obter mais controle sobre o fluxo HLS.Exemplo com FLV: Da mesma forma, este código cria um
flvPlayere o anexa ao<video>elemento para manipular o fluxo FLV.
Com essas propriedades, você pode criar um player de vídeo poderoso e altamente personalizável para qualquer necessidade, desde vídeos simples até transmissões ao vivo.

