Cómo integrarse con teclas de medios de MatérielEn informática, el término hardware se refiere a cualquier componente de un sistema informático que sea un objeto físico real, al contrario que el software que existe en forma digital. Esto incluye el disco duro y las unidades incorporadas, es decir, todos los componentes que son "duros", de ahí su nombre. Desarrollo El desarrollo del hardware informático comienza con la creación de los primeros ordenadores y tiene su verdadero origen Suite, personalizar notificaciones de medios y más.


Mise à jour

Para que los usuarios sepan lo que se está reproduciendo actualmente en su le navigateurUn navegador (además: browser) es una herramienta informática que te permite ver documentos y datos y navegar por la red. Los navegadores pueden mostrar distintos tipos de recursos de información; principalmente documentos HTML, a pesar de todo, además son posibles otros tipos de archivos y contenido multimedia, como PDF, JPEG, MPEG, GIF o el lenguaje de meta marcado. A través el uso de complementos especiales y la configuración respectivo, los Suite y lo controlen sin volver a la página que lo inició, se ha introducido la APIConcepto de API¿Qué es una API?Una API, siglas de Application Programming Interface o Interfaz de Programación de Apps, es un recopilatorio de código que se puede emplear para que varias apps se comuniquen entre ellas. Es algo que realiza una tarea equivalente a la interfaz de usuario al momento de promover la interacción entre persona y programa, solo que aplicado única y exclusivamente dentro del entorno del software.Aún cuando suene Suite de sesión multimedia. Permite a los desarrolladores web personalizar esta experiencia a través de métadonnéesLos metadatos son datos estructurados que contienen información sobre una fuente como, por ejemplo, un libro o un documento web. Gracias a los metadatos resulta mucho más fácil hallar la fuente de información dado que contienen datos sobre el título, el autor, la fecha de publicación, la descripción, etc. Se utilizan en librerías pero además para la estadística y la ingeniería de software. Metadatos en WWW Los metadatos se utilizan Suite en notificaciones multimedia personalizadas y eventos multimedia como reproducción, pausa e incluso búsqueda y cambio de seguimiento. Estas personalizaciones están disponibles en varios contextos, incluidos centros de medios de escritorio, notificaciones de medios en dispositivos móviles e incluso en dispositivos portátiles. Describiré estas personalizaciones en este artículo.

contextes-3031959
Centre multimédia sur ordinateur de bureau, notification multimédia sur appareil mobile et portable

Compatibilidad con varios navigateursConcepto de Navegadores¿Qué son los Navegadores?Los Navegadores son herramientas informáticas que utilizamos para, normalmente, navegar por Internet y visitar cualquier página web, al mismo tiempo de para hacer otras tareas como ver documentos, observar vídeos o reproducir contenido multimedia de cualquier tipo. Son un tipo de software sencillamente usual y bastante utilizado hoy en día.Insistimos en que es algo que se utiliza con mucha frecuencia, puesto que moverse por Internet Suite

Au moment de la rédaction de cet article, Chrome est le seul navigateur qui prend en charge l'API Media Session sur les ordinateurs de bureau et les appareils mobiles. Firefox a une prise en charge partielle de l'API Media Session sur le bureau derrière un drapeau, et Samsung Internet a également une prise en charge partielle. Regarder Compatibilité du navigateur
pour des informations à jour.

L'API Media Session offre plusieurs avantages et fonctionnalités:

  • Les clés multimédias matérielles sont prises en charge.
  • Les notifications multimédias sont personnalisées sur les appareils mobiles, Chrome OS et les appareils portables associés.
  • Les centre des médias est disponible sur le bureau.
  • Les commandes multimédias de l'écran de verrouillage sont disponibles dans Système d'exploitation Chrome et mobile.
  • Les commandes de la fenêtre Picture-in-Picture sont disponibles.
  • L'intégration de l'assistant mobile est disponible.

Quelques exemples illustreront certains de ces points.

Exemple 1: Si les utilisateurs appuient sur la touche multimédia "Piste suivante" de leur clavier, les développeurs Web peuvent gérer cette action de l'utilisateur, que Chrome soit au premier plan ou en arrière-plan.

Exemple 2: Si los usuarios escuchan un PodcastUn podcast es uno o más archivos de audio o vídeo, que están disponibles en Internet. Una parte individual de un podcast además se conoce como episodio. El podcast se puede ver o escuchar independientemente de la hora y el lugar. La palabra se compone de las palabras "portable on demand" y "narrow-/broadcasting". En otras palabras, lo que se está distribuyendo son contenidos multimedia portátiles. Principio básico Teóricamente, cualquiera puede Suite en la web mientras la pantalla de su dispositivo está bloqueada, aún pueden presionar el ícono «buscar hacia atrás» en los controles de medios de la pantalla de bloqueo para que los desarrolladores web muevan el tiempo de reproducción hacia atrás unos segundos.

Exemple 3: Si les utilisateurs ont des onglets qui lisent de l'audio, ils peuvent facilement arrêter la lecture à partir du centre multimédia sur le bureau afin que les développeurs Web aient la possibilité d'effacer leur statut.

Tout cela se fait via deux interfaces différentes: MediaSession interface et MediaMetadata Interface. Le premier permet aux utilisateurs de contrôler ce qui est en cours de lecture. Le second est comme tu le dis MediaSession ce qui doit être contrôlé.

À titre d'illustration, l'image suivante montre comment ces interfaces sont liées à des contrôles multimédias spécifiques, dans ce cas une notification multimédia sur mobile.

tldr-8678111
Anatomie d'une notification multimédia sur les appareils mobiles

Faites savoir aux utilisateurs à quoi cela ressemble

Lorsqu'un site Web lit de l'audio ou de la vidéo, les utilisateurs reçoivent automatiquement des notifications multimédias, soit dans la barre de notification sur l'appareil mobile, soit dans le centre multimédia sur le bureau. Chrome fait de son mieux pour afficher les informations appropriées en utilisant le titre du document et la plus grande image d'icône qu'il peut trouver. Avec l'API Media Session, il est possible de personnaliser la notification multimédia avec des métadonnées multimédias plus riches, telles que le titre, le nom de l'artiste, le nom de l'album et l'illustration, comme indiqué ci-dessous.

Chrome demande l'approche audio "complète" pour afficher les notifications multimédias uniquement lorsque la durée du contenu multimédia est au moins 5 secondes. Cela garantit que les sons accidentels tels que les dings n'affichent pas de notifications.


attendre document.querySelector("video").play();

si ("mediaSession" dans navigateur) {
navigateur.mediaSession.métadonnées = new MediaMetadata({
Titre: 'Never Gonna Give You Up',
artist: 'Rick Astley',
album: 'Whenever You Need Somebody',
artwork: [
{ src: 'httpsHTTPS (protocolo de Transferencia de Hiper-Texto) es un protocolo que permite determinar una conexión segura entre el servidor y el cliente, que no puede ser interceptada por personas no autorizadas. En resumidas cuentas, es la versión segura de el http (Hyper Text Transfer Protocol) Cómo funciona Una conexión HTTP estándar en Internet puede ser fácilmente secuestrada por partes no autorizadas. El propósito de una conexión HTTPS es evitar esto: encriptar Suite://dummyimage.com/96x96', les tailles: '96x96', taper: 'image/png' },
{ src: 'https://dummyimage.com/128x128', les tailles: '128x128', taper: 'image/png' },
{ src: 'https://dummyimage.com/192x192', les tailles: '192x192', taper: 'image/png' },
{ src: 'https://dummyimage.com/256x256', les tailles: '256x256', taper: 'image/png' },
{ src: 'https://dummyimage.com/384x384', les tailles: '384x384', taper: 'image/png' },
{ src: 'https://dummyimage.com/512x512', les tailles: '512x512', taper: 'image/png' },
]
});


}

À la fin de la lecture, il n'est pas nécessaire de «libérer» la session multimédia, car la notification disparaîtra automatiquement. Garde cela à l'esprit
navigator.mediaSession.metadata sera utilisé au démarrage de la lecture suivante. C'est pourquoi il est important de le mettre à jour lorsque vous modifiez la source de lecture multimédia pour vous assurer que les informations pertinentes sont affichées dans la notification multimédia.

Il y a quelques points à garder à l'esprit concernant les métadonnées multimédias.

  • La matriz de material gráfico de notificación admite URLEl URL (Localizador Uniforme de Recursos), es una dirección definida que apunta a la posición de un archivo en un servidor y lo recupera. Las URL se introducen en un navegador web para ingresar a documentos en la web o se incrustan como hipervínculos dentro de un documento. Se puede usar un Permalink para que una URL esté disponible de forma permanente. Componentes de una URL • prefijo de protocolo Suite de blobs y URL de datos.
  • Si aucune illustration n'est définie et qu'il y a une image d'icône (spécifiée par ) à une taille souhaitable, les notifications multimédias l'utiliseront.
  • La taille cible de l'illustration de notification dans Chrome pour Android est 512 x 512. Pour les appareils bas de gamme, c'est 256 x 256.
  • Les Titre le attributAtributo es una definición que se usa en varios campos de IT. Generalmente, un atributo se usa para describir un fichero o un campo de datos con más detalle. En la programación orientada a objetos, los atributos son una propiedad o característica que se puede asignar a un objeto (elemento). A través el uso de atributos se pueden asignar valores específicos a ciertos items. Áreas de aplicación Las tres áreas Suite del elemento HTMLHTML (Hypertext Markup Language) se usa para estructurar el contenido de texto de un documento web. No sólo se marca el contenido, sino además la meta-información que describe este contenido. Las páginas HTML se almacenan normalmente en el directorio raíz del servidor. Cómo se creó En la era digital, a los usuarios les resulta difícil hallar su camino en las webs y hacer un seguimiento de las estructuras de las Suite multimedia se utiliza en el widget macOS «Reproduciendo ahora».
  • Si el recurso de medios está incrustado (por ejemplo, en un iframeConcepto de Iframe¿Qué es un Iframe?Un Iframe es un documento de una web que se inserta en otra página web. Consiste en un elemento que puede albergar cualquier tipo de contenido en su interior y que ayuda, entre otras cosas, a ampliar el mensaje que se ofrece con fuentes externas o con material complementario que pueda resultar de interés para el usuario que entra.Este elemento web se usa especialmente al Suite), la información de la API de sesión de medios debe establecerse desde el contexto incrustado. Vea el fragmento a continuación.

<iframe id="iframe">
<vidéo>...</vidéo>
</iframe>
<scénario>
iframe.contentWindow.navigateur.mediaSession.métadonnées = new MediaMetadata({
Titre: 'Never Gonna Give You Up',
...
});
</scénario>

Laisser les utilisateurs contrôler ce qui joue

Une action de session multimédia est une action (par exemple, «lire» ou «mettre en pause») qu'un site Web peut gérer pour les utilisateurs lorsqu'ils interagissent avec le lecteur multimédia actuel. Les actions sont analogues aux événements et fonctionnent de la même manière. Comme les événements, les actions sont implémentées en définissant des gestionnaires sur un objet approprié, une instance de
MediaSession, dans ce cas. Certaines actions sont déclenchées lorsque les utilisateurs appuient sur les boutons d'un casque, d'un autre appareil distant, d'un clavier ou interagissent avec une notification multimédia.

Windows-10-media-notification-4661060
Notification multimédia personnalisée dans Windows 10

Étant donné que certaines actions de la session multimédia peuvent ne pas être prises en charge, il est recommandé d'utiliser un essayer… attraper bloquer lors de la configuration.

const actionHandlers = [
['play', () => { }],
['pause', () => { }],
['previoustrack', () => { }],
['nexttrack', () => { }],
['stop', () => { }],
['seekbackward', (des détails) => { }],
['seekforward', (des détails) => { }],
['seekto', (des détails) => { }],
];

pour (const [action, handler] of actionHandlers) {
try {
navigateur.mediaSession.setActionHandler(action, handler);
} catch (Erreur) {
console.Journal(`The media session action "${action}" is not supported yet.`);
}
}

Annuler la configuration d'un gestionnaire d'actions de session multimédia est aussi simple que de le configurer dans nul.

try {
navigateur.mediaSession.setActionHandler("piste suivante", nul);
} catch (Erreur) {
console.Journal(`The media session action "nexttrack" is not supported yet.`);
}

Una vez configurados, los controladores de acciones de la sesión multimedia persistirán durante las reproducciones multimedia. Esto es similar al patrón de escucha de eventos, excepto que manejar un un événementConcepto de Evento¿Qué es un Evento?Un Evento es una actividad de carácter social que suele tener cierta proyección a nivel público y, de esta manera, suscita el interés de un determinado sector relacionado con la temática o con la razón por el que se celebra. Es un tipo de acto que suele tener mucha repercusión a nivel empresarial.Podemos hallar distintos tipos de eventos, desde los deportivos hasta los empresariales, pasando Suite significa que el navegador deja de realizar cualquier comportamiento predeterminado y lo usa como una señal de que el sitio web admite la acción de los medios. Por lo tanto, los controles de acción de los medios no se mostrarán a menos que se establezca el controlador de acción adecuado.

Jouer pause

Les "jouer" l'action indique que l'utilisateur souhaite reprendre la lecture multimédia pendant que "pause" indique un désir de l'arrêter temporairement.

L'icône «lecture / pause» est toujours affichée dans une notification multimédia et les événements multimédias associés sont automatiquement gérés par le navigateur. Pour remplacer son comportement par défaut, gérez les actions multimédias «lecture» et «pause» comme indiqué ci-dessous.

Le navigateur peut considérer qu'un site Web ne lit pas de contenu multimédia lors de la recherche ou du chargement, par exemple. Dans ce cas, remplacez ce comportement en définissant
navigator.mediaSession.playbackState à "en jouant" ou "mis en pause" para asegurarse de que la interface utilisateur  Una interfaz de usuario es un medio por medio de del cual una persona puede controlar un software o hardware específico. Lo ideal es que las interfaces de usuario sean fáciles de utilizar para que la interacción sea lo más instintiva e intuitiva factible. En el caso de los programas informáticos, esto se denomina interfaz gráfica de usuario. Desarrollo y tipos de interfaces de usuario A diferencia de la Suite del sitio web se mantenga sincronizada con los controles de notificación de medios.

navigateur.mediaSession.setActionHandler("jouer", asynchrone () => {
attendre document.querySelector("video").play();
navigateur.mediaSession.playbackState = "en jouant";
});

navigateur.mediaSession.setActionHandler("pause", () => {
document.querySelector("video").pause();
navigateur.mediaSession.playbackState = "mis en pause";
});

Piste précédente

Les "prevustrack" L'action indique que l'utilisateur souhaite démarrer la lecture multimédia en cours depuis le début si la lecture multimédia a une notion de début, ou aller à l'élément précédent dans la liste de lecture si la lecture multimédia a une notion de liste de lecture.

navigateur.mediaSession.setActionHandler("prevustrack", () => {
});

Piste suivante

Les "piste suivante" L'action indique que l'utilisateur souhaite déplacer la lecture multimédia vers l'élément suivant dans la liste de lecture si la lecture multimédia a une notion de liste de lecture.

navigateur.mediaSession.setActionHandler("piste suivante", () => {
});

Arrêter

Les "arrêter" L'action indique que l'utilisateur souhaite arrêter la lecture multimédia et effacer l'état le cas échéant.

navigateur.mediaSession.setActionHandler("arrêter", () => {
});

Rechercher en arrière / en avant

Les "chercher en arrière" L'action indique que l'utilisateur souhaite rembobiner le temps de lecture du média pendant une courte période. "rechercher" indique le désir d'avancer brièvement la durée de lecture du média. Dans les deux cas, une courte période signifie quelques secondes.

Les seekOffset La valeur fournie dans le gestionnaire d'actions est le temps en secondes pour passer le temps de lecture multimédia. Si non fourni (par exemple indéfini), vous devez utiliser un temps raisonnable (par exemple, 10 à 30 secondes).

const vidéo = document.querySelector('video');
const defaultSkipTime = 10;

navigateur.mediaSession.setActionHandler("chercher en arrière", (des détails) => {
const skipTime = des détails.seekOffset || defaultSkipTime;
vidéo.currentTime = Math.max(vidéo.currentTime - skipTime, 0);
});

navigateur.mediaSession.setActionHandler("rechercher", (des détails) => {
const skipTime = des détails.seekOffset || defaultSkipTime;
vidéo.currentTime = Math.min(vidéo.currentTime + skipTime, vidéo.duration);
});

Cherchez un moment précis

Les "chercher à" L'action indique que l'utilisateur souhaite déplacer la durée de lecture du média vers une heure spécifique.

Les trouver du temps La valeur fournie dans le gestionnaire d'actions est le temps en secondes pour déplacer le temps de lecture multimédia.

Les rapideSeek La valeur booléenne fournie dans le gestionnaire d'actions est true si l'action est appelée plusieurs fois dans le cadre d'une séquence et qu'il ne s'agit pas du dernier appel de cette séquence.

const vidéo = document.querySelector('video');

navigateur.mediaSession.setActionHandler("chercher à",(des détails) => {
si (des détails.rapideSeek &ampConcepto de AMP¿Qué es el AMP o Accelerated Mobile Pages?El AMP, abreviatura de Accelerated Mobile Pages, es una propuesta que empezó a tomar forma en el año 2016 con la finalidad de mejorar la usabilidad, lectura y, en general, la experiencia de los usuarios de teléfono celular dentro de cualquier página web. Emprendida por Google con un aperturismo total (es de código abierto), lleva en activo desde entonces para facilitar Suite;& "fastSeek" dans vidéo) {
vidéo.rapideSeek(des détails.trouver du temps);
revenir;
}
vidéo.currentTime = des détails.trouver du temps;
});

Réglez la position de lecture

L'affichage précis de la position de lecture multimédia dans une notification est aussi simple que de définir l'état de la position au moment approprié, comme indiqué ci-dessous. L'état de la position est une combinaison de la vitesse de lecture multimédia, de la durée et de l'heure actuelle.

Gotchas!

L'état de la position est pris en charge sur Android à partir de Chrome 81 et versions ultérieures.

const vidéo = document.querySelector("video");

une fonction updatePositionState() {
si ("setPositionState" dans navigateur.mediaSession) {
navigateur.mediaSession.setPositionState({
duration: vidéo.duration,
playbackRate: vidéo.playbackRate,
position: vidéo.currentTime
});
}
}


attendre vidéo.play();
updatePositionState();


navigateur.mediaSession.setActionHandler("chercher en arrière", des détails => {
updatePositionState();
});


navigateur.mediaSession.setActionHandler("rechercher", des détails => {
updatePositionState();
});


navigateur.mediaSession.setActionHandler("chercher à", des détails => {
updatePositionState();
});


vidéo.addEventListener("ratechange", un événement => {
updatePositionState();
});

La réinitialisation de l'état de la position est aussi simple que de la régler sur nul.


navigateur.mediaSession.setPositionState(nul);

Échantillons

Regardez quelques Exemples de sessions médias en présentant Fondation Blender y
Œuvre de Jan Morgenstern.

Un screencast illustrant l'API Media Session

Ressources