El elemento HTML <source>
especifica recursos de medios múltiples para los elementos {{HTMLElement("picture")}}, {{HTMLElement("audio")}}, o {{HTMLElement("video")}}. Es un elemento vacío. Normalmente se utiliza para servir el mismo contenido multimedia en varios formatos soportados por diferentes navegadores.
La fuente de este ejemplo interactivo se almacena en un repositorio de GitHub. Si desea contribuir al proyecto de ejemplos interactivos, por favor clone https://github.com/mdn/interactive-examples y envíenos una solicitud de pull.
Categorías de contenido | Ninguna. | |
---|---|---|
Contenido permitido | Ninguno, esto es un {{Glossary("empty element")}}. | |
Omisión de Etiqueta | Debe tener una etiqueta inicial, pero no debe tener una etiqueta final. | |
Padres permitidos |
Un elemento multimedia—{{HTMLElement("audio")}} o {{HTMLelement("video")}}—y se debe colocar antes que cualquier contenido de flujo o elemento {{HTMLElement("track")}}.
Un elemento {{HTMLElement("picture")}}, y se debe colocar antes del elemento {{HTMLElement("img")}}.
|
|
Roles ARIA permitidos | Ninguno | |
Interfaz DOM | {{domxref("HTMLSourceElement")}} |
Este elemento incluye los atributos globales.
sizes
tiene un efecto solo cuando el elemento {{HTMLElement("source")}} es hijo directo de un elemento {{HTMLElement("picture")}}.<source>
se coloca dentro de un elemento {{HTMLElement("picture")}}.'w'
. El valor predeterminado, si falta, es el infinito.'x'
. El valor predeterminado, si falta, es 1x
.Cada cadena en la lista debe tener al menos un descriptor de ancho o un descriptor de densidad de píxeles para que sea válido. Entre los elementos de la lista, solo debe haber una cadena que contenga la misma tupla de descriptor de ancho y descriptor de densidad de píxeles.
El navegador elige la imagen más adecuada para mostrar en un momento determinado.
El atributo srcset
solo tiene efecto cuando el elemento {{HTMLElement("source")}} es hijo directo de un elemento {{HTMLElement("picture")}}.
codecs
. Consultar RFC 4281 para obtener información sobre cómo especificar los códecs.Si el atributo type
no se especifica, el tipo de medio se recupera del servidor y se verifica para ver si el agente de usuario puede manejarlo; si no se puede procesar, se comprueba el siguiente <source>
. Si se especifica el atributo type
, se compara con los tipos que puede presentar el agente de usuario y, si no se reconoce, el servidor ni siquiera recibe consultas; en su lugar, el siguiente elemento <source>
se comprueba a la vez.
Este ejemplo muestra cómo ofrecer un video en formato Ogg para usuarios cuyos navegadores admiten el formato Ogg, y un video en formato QuickTime para usuarios cuyos navegadores lo admiten. Si el navegador no admite los elementos audio
o video
, se muestra un aviso. Si el navegador admite los elementos pero no admite ninguno de los formatos especificados, se genera un evento error
y los controles de medios predeterminados (si están habilitados) indicarán un error. Consulte también la lista de formatos de medios compatibles con los elementos de audio y video en varios navegadores.
<video controls> <source src="foo.webm" type="video/webm"> <source src="foo.ogg" type="video/ogg"> <source src="foo.mov" type="video/quicktime"> Lo lamento; su navegador no soporta video HTML5. </video>
Para obtener más ejemplos, consulte Uso de audio y video en Firefox.
Especificación | Estado | Comentario |
---|---|---|
{{SpecName('HTML WHATWG', 'embedded-content.html#the-source-element', '<source>')}} | {{Spec2('HTML WHATWG')}} |
{{Compat("html.elements.source")}}
{{HTMLRef}}