Pular navegação
Atualizado: 12.08.2026
Abrir como Markdown

Este componente incorpora o Kinescope Player em aplicações Vue 3 e está disponível desde a versão 2.0.0 do pacote. Ele usa um iframe e a IFrame API internamente. Repositório: kinescope/vue-kinescope-player .

Instalação

npm install @kinescope/vue-kinescope-player --save

Início rápido

Registre o componente globalmente:

import { createApp } from 'vue'
import KinescopePlayer from '@kinescope/vue-kinescope-player'
import App from './App.vue'

const app = createApp(App)
app.use(KinescopePlayer)
app.mount('#app')

Registre-o localmente em um componente:

<script setup>
import { KinescopePlayer } from '@kinescope/vue-kinescope-player'
</script>

<template>
  <kinescope-player video-id="VIDEO_ID" />
</template>

Eventos

<template>
  <kinescope-player
    video-id="VIDEO_ID"
    @ready="handleReady"
    @play="handlePlay"
  />
</template>

Métodos

Os métodos ficam disponíveis por refplayer:

<template>
  <div>
    <kinescope-player
      ref="kinescope"
      video-id="VIDEO_ID"
      @ready="ready = true"
    />
    <button :disabled="!ready" @click="kinescope.player.play()">Reproduzir</button>
  </div>
</template>

<script setup>
import { ref } from 'vue'
import { KinescopePlayer } from '@kinescope/vue-kinescope-player'

const ready = ref(false)
const kinescope = ref(null)
</script>

Props

Use kebab-case nos templates (video-id) e camelCase nos scripts.

Props principais

PropTipoPadrãoDescrição
video-idnumber | stringID do vídeo (obrigatória)
widthnumber | string100%Largura
heightnumber | string100%Altura
external-idstringID externo para análise de dados

Comportamento

PropTipoPadrãoDescrição
auto-playboolean | stringfalseReprodução automática. 'viewable' inicia a reprodução quando o player entra na área visível; 'hover' inicia ao passar o cursor
mutedbooleanfalseInicia sem som
loopbooleanfalseRepete a reprodução
plays-inlinebooleantrueReproduz em linha em dispositivos móveis, sem entrar automaticamente no modo de tela cheia
volumenumberVolume de 0 a 1. Atualizado de forma reativa, sem recarregar o player
playback-ratenumberVelocidade de reprodução. 1 é a velocidade normal. Atualizada de forma reativa
text-trackboolean | stringLegendas ao carregar: true ou um código de idioma, como 'en'

Interface

PropTipoPadrãoDescrição
languagestringenIdioma da interface
controlsbooleantrueTodos os controles. false oculta o título e a barra de controle
titlebooleantrueTítulo exibido sobre o vídeo
control-barboolean | stringtrueBarra de controle inferior. Use 'always' para mantê-la visível
progress-barbooleantrueBarra de progresso
main-play-buttonbooleantrueBotão grande de reprodução no centro
play-buttonbooleantrueBotão Reproduzir/Pausar na barra de controle
volume-buttonbooleantrueBotão de volume
playback-rate-buttonbooleanfalseBotão de velocidade de reprodução
playback-ratesarray | booleanLista de velocidades, por exemplo, [0.5, 1, 1.5, 2]. Use false para ocultar o botão
subtitles-buttonbooleantrueBotão de legendas
settings-buttonbooleantrueBotão de configurações
pip-buttonbooleantrueBotão Picture-in-Picture
fullscreen-buttonboolean | stringtrueBotão de tela cheia. Use 'force' para exibi-lo sempre
video-fitstringcontaincontain | cover | fill
watermarkstring | objectMarca d’água como string ou objeto. Atualizada de forma reativa

Objeto da marca d’água:

{
  text: string
  mode?: 'random' | 'stripes'
  scale?: number
  displayTimeout?: number | { visible: number; hidden: number }
}

Eventos

EventoDados
js-load
js-load-error
ready{ currentTime, duration, quality, qualityLevels }
quality-changed{ quality }
auto-quality-changed{ quality }
seek-chapter{ position }
size-changed{ width, height }
play
playing
waiting
pause
ended
time-update{ currentTime }
progress{ bufferedTime }
duration-change{ duration }
volume-change{ muted, volume }
playback-rate-change{ playbackRate }
seeking
seeked
fullscreen-change{ isFullscreen, video }
call-action{ id, title?, type }
call-bookmark{ id, time, title? }
error{ error }
destroy

Métodos

Chame um método com kinescope.value.player.play().

MétodoParâmetrosResultado
isPausedPromise<boolean>
isEndedPromise<boolean>
playPromise<void>
pausePromise<boolean>
stopPromise<void>
getCurrentTimePromise<number>
getDurationPromise<number>
seekTo(time: number)Promise<void>
isMutedPromise<boolean>
mutePromise<void>
unmutePromise<void>
getVolumePromise<number>
setVolume(value: number)Promise<void>
getPlaybackRatePromise<number>
setPlaybackRate(value: number)Promise<void>
getVideoQualityListPromise<VideoQuality[]>
getCurrentVideoQualityPromise<VideoQuality>
setVideoQuality(quality: VideoQuality)Promise<void>
enableTextTrack(lang: string)Promise<void>
disableTextTrackPromise<void>
closeCTAPromise<void>
isFullscreenPromise<boolean>
setFullscreen(fullscreen: boolean)Promise<void>
isPipPromise<boolean>
setPip(pip: boolean)Promise<void>
getPlaylistItemPromise<object>
switchTo(id: string)Promise<void>
nextPromise<void>
previousPromise<void>

Próximos passos