QVideo — это высокоуровневый компонент библиотеки Quasar для отображения видео с поддержкой HTML5 и популярных источников, таких как YouTube и Vimeo. Он обеспечивает простой способ интеграции медиаконтента в приложения на Vue.js с минимальными настройками и максимальной гибкостью.
src (String | Array) — путь к видеофайлу или массив источников. Поддерживаются локальные файлы и URL. При передаче массива компонент выбирает первый доступный источник.
type (String) — тип видео:
'video/mp4', 'video/webm',
'video/ogg' и др. Определяет, как браузер будет
обрабатывать поток.
poster (String) — изображение-заставка, отображаемое до начала воспроизведения видео.
autoplay (Boolean) — автоматически запускает воспроизведение при загрузке компонента.
controls (Boolean) — отображает стандартные элементы управления видео: play/pause, ползунок, громкость.
loop (Boolean) — повторное воспроизведение видео после окончания.
muted (Boolean) — воспроизведение видео без звука по умолчанию.
preload (String) — определяет стратегию
предварительной загрузки видео: 'auto',
'metadata', 'none'.
disable-remote-playback (Boolean) — запрещает потоковое воспроизведение через сторонние устройства (например, Chromecast).
QVideo генерирует события, которые позволяют отслеживать состояние плеера и управлять логикой приложения:
Пример использования событий:
<q-video
src="https://example.com/video.mp4"
controls
@play="onPlay"
@pause="onPause"
/>
<script>
export default {
methods: {
onPlay() {
console.log('Видео запущено');
},
onPause() {
console.log('Видео на паузе');
}
}
}
</script>
YouTube и Vimeo поддерживаются через QVideo без необходимости подключения сторонних библиотек. Для этого достаточно указать URL видео:
<q-video
src="https://www.youtube.com/watch?v=dQw4w9WgXcQ"
controls
autoplay
/>
preload или loop, могут иметь ограниченную
функциональность из-за API плееров YouTube/Vimeo.'16:9',
'4:3', или числовое значение 1.77.Пример адаптивного видео с соотношением сторон 16:9:
<q-video
src="https://example.com/video.mp4"
controls
ratio="16:9"
/>
QVideo предоставляет доступ к методам управления через ссылку на компонент:
<q-video ref="myVideo" src="video.mp4" />
<script>
export default {
mounted() {
this.$refs.myVideo.play(); // запустить видео
this.$refs.myVideo.pause(); // поставить на паузу
}
}
</script>
Методы:
preload="metadata" позволяет загружать
только метаданные видео, что ускоряет рендеринг страницы.lazy-loading видео через v-if или
динамическую подгрузку компонентов уменьшает потребление ресурсов при
множестве видеоплееров на одной странице.<q-video
src="video.mp4"
autoplay
loop
muted
/>
<q-video
src="video.mp4"
poster="poster.jpg"
controls
class="custom-video"
/>
<q-video
:src="['video.webm', 'video.mp4', 'video.ogg']"
controls
/>
QVideo обеспечивает мощный, гибкий и простой способ интеграции видео в проекты на Quasar, позволяя управлять воспроизведением, стилем и источниками без сложной настройки и сторонних библиотек.