enes

Media Player

Un reproductor multimedia reproduce un video con los controles de transporte de Fluent: una barra de búsqueda con el tiempo, volumen, subtítulos, botones para saltar, velocidad de reproducción, imagen en imagen y pantalla completa. Video.js se encarga de la reproducción, los atajos de teclado y los gestos.

Uso

<script>
	import { MediaPlayer } from 'fluentui-svelte';
</script>

<MediaPlayer src="video.mp4" poster="poster.jpg" />

Carga diferida

deferred muestra el póster con un botón de reproducir grande y retiene el reproductor, Video.js y el medio hasta pulsarlo: una página llena de videos que nadie reproduce no descarga ninguno. Con click la carga empieza al pulsar, con intent cuando el puntero o el foco llegan al botón, y con visible en cuanto el reproductor entra en pantalla.

Diseño compacto

layout="compact" reúne el botón de reproducir, la barra de búsqueda y los botones esenciales en una sola fila, ideal para tarjetas e incrustaciones pequeñas.

Reproductores estrechos

Por debajo de 26rem de ancho, el diseño estándar se reduce a los botones de volumen, reproducir, imagen en imagen y pantalla completa.

Volumen vertical

volumeOrientation="vertical" coloca el slider de volumen en vertical sobre su botón, útil cuando la fila tiene poco espacio.

Video vertical

Un video vertical crece tanto como su ancho permite. Dale un ancho al reproductor y ajusta aspectRatio a la forma del medio, aquí 9 / 16, para reservar su espacio mientras carga. Con ese ancho quedan solo los botones esenciales.

Subtítulos

Pasa archivos WebVTT en tracks. Una sola pista muestra un botón para activarla, y varias, un menú para elegir.

Apariencia de los subtítulos

subtitlesAppearance="translucent" cambia el panel acrílico por texto claro sobre un velo oscuro, parecido a los subtítulos nativos. subtitlesSize elige entre small, medium o large.

Botones para saltar y velocidad de reproducción

skipBackward acepta 10 o 15 segundos y skipForward 10, 15 o 30, mientras que 0 oculta cualquiera de los dos. playbackRates lista las velocidades del menú de más opciones; una lista vacía las quita.

Anterior y siguiente

onPrevious y onNext agregan los botones de anterior y siguiente junto a los de reproducción. Los controles multimedia del sistema, incluida la imagen en imagen, también los activan.

1 / 4 · Mux sample

Controles y elementos de menú personalizados

showRepeat agrega el botón de repetir integrado, enlazado a loop. startContent, centerContent y endContent ubican tus propios controles en cada grupo de la fila, mientras que moreContent amplía el menú de más opciones; todos reciben el store de Video.js. MediaPlayerButton le da a un control el aspecto y el tooltip de los integrados, y la clase optional lo oculta en reproductores estrechos.

Repetir: desactivado · Me gusta: desactivado · Capítulos: desactivado · Compartido: 0

Controlar el reproductor desde código

Enlaza playerRef para acceder al store de Video.js y manejar el reproductor con su estado y sus acciones, como seek, play, pause o setPlaybackRate.

Textos y traducciones

labels define los nombres y tooltips de los controles, menús y mensajes. Los textos que faltan vuelven al inglés, y los controles personalizados reciben el conjunto final para nombrarse de forma coherente. Cada reproductor de esta página sigue el idioma del sitio.

Propiedades del componente

NameTypeDefaultDescription
srcstringLa URL del medio a reproducir.
posterstringLa imagen que se muestra hasta que se reproduce el medio.
tracksMediaPlayerTrack[]Las pistas de texto del medio: subtítulos, subtítulos para sordos o capítulos.
layout'standard' | 'compact''standard'Cómo se distribuyen los controles de transporte.
deferred'click' | 'intent' | 'visible'Muestra un splash ligero en lugar del reproductor, con el póster y un botón de reproducir, y carga el reproductor, sus scripts y el medio solo al pulsar ese botón. Video.js y el medio no descargan nada antes.
aspectRatiostring'16 / 9'La forma del reproductor hasta que carga su medio, y del splash de un reproductor diferido, como un aspect-ratio de CSS. Ajústala al medio y nada se mueve cuando llega el video.
volumeOrientation'horizontal' | 'vertical''horizontal'La dirección del slider de volumen en su ventana emergente.
autoHideControlsbooleantrueOculta los controles de transporte mientras el medio se reproduce y el usuario no interactúa, y los vuelve a mostrar con cualquier actividad. false los mantiene en pantalla.
autoHideWhenPausedbooleanOculta también los controles de transporte de un medio en pausa, cuando el usuario deja de interactuar. Sin ella, una pausa los mantiene en pantalla.
subtitlesAppearance'acrylic' | 'translucent''acrylic'Cómo se ven los subtítulos.
subtitlesSize'small' | 'medium' | 'large''medium'El tamaño del texto de los subtítulos. Un reproductor estrecho baja un tamaño.
loop bindablebooleanReproduce el medio otra vez desde el inicio cuando termina. El botón de repetir lo activa y desactiva.
showRepeatbooleanMuestra un botón de repetir, que activa y desactiva loop.
skipBackward0 | 10 | 1510Cuántos segundos retrocede el botón de retroceso. 0 oculta el botón.
skipForward0 | 10 | 15 | 3030Cuántos segundos avanza el botón de avance. 0 oculta el botón.
playbackRatesnumber[][0.5, 0.75, 1, 1.25, 1.5, 1.75, 2]Las velocidades del menú de más opciones. Una lista vacía quita el grupo de velocidad de reproducción.
onPrevious() => voidMuestra un botón anterior y se llama al pulsarlo, o cuando los controles multimedia del sistema piden la pista anterior.
onNext() => voidMuestra un botón siguiente y se llama al pulsarlo, o cuando los controles multimedia del sistema piden la pista siguiente.
startContentSnippet | ComponentControles personalizados al inicio de la fila de botones, después de los botones de volumen y subtítulos.
centerContentSnippet | ComponentControles personalizados en el centro de la fila de botones, después del botón siguiente.
endContentSnippet | ComponentControles personalizados al final de la fila de botones, antes del botón de imagen en imagen.
moreContentSnippet | ComponentElementos personalizados para el menú de más opciones, después del grupo de velocidad de reproducción. Usa los elementos de Menu.
labelstring'Media player'El nombre accesible del reproductor.
labelsPartial<MediaPlayerLabels>Los textos de los controles, sus tooltips y menús. Los que se omiten usan el inglés.
ref bindableHTMLVideoElement | nullLa referencia DOM del elemento de video nativo. Los demás atributos del reproductor se aplican a él.
playerRef bindableVideoPlayerElementEl elemento <video-player> de Video.js. Su store guarda el estado y las acciones del reproductor.
wrapperAttributesHTMLAttributesLos atributos que se aplican al elemento que dibuja el reproductor.
childrenSnippetElementos <source> o <track> adicionales para el video.
HTMLVideoAttributes without src, poster, controls, children, loop

MediaPlayerButton

NameTypeDefaultDescription
labelstringEl nombre accesible del botón, que también se muestra en su tooltip.
tooltipPlacementPlacement'top'Dónde se coloca el tooltip respecto al botón.
hideTooltipbooleanMantiene el tooltip cerrado, para un botón cuya ventana emergente está abierta.
ref bindableHTMLButtonElement | nullLa referencia DOM del elemento botón.
childrenSnippetEl icono del botón.
ButtonProps<'button'> without ref, children, appearance
Editar este documento Ver como Markdown