Ce tutoriel vous aidera à utiliser les évènements générés par le lecteur vidéo.
Événements disponibles
Les documents chargés par le navigateur web intégré peuvent recevoir des événements relatifs aux différents aspects du système:
- événements de lecture :
- FileStartEvent : début de la lecture d'un fichier média,
- FileEndEvent : fin de la lecture d'un fichier média,
- FolderEnterEvent : début de la la lecture d'un dossier,
- FolderLeaveEvent : fin de la lecture d'un dossier,
- TimeUpdateEvent : mise à jour de la position de lecture,
- StateChangeEvent : changement d'état du moteur de lecture,
- TrackSelectionEvent : modification des pistes sélectionnées.
- événements audio events :
- VolumeChangeEvent : modification du niveau du volume,
- MuteChangeEvent : modification de la sourdine.
- événements relatifs aux contacts d'entrée :
- InputContactEvent : modification de l'état des contacts d'entrée.
- événements relatifs à l'imprimante :
- PrinterStateEvent : modification de l'état de l'imprimante,
- JobStateEvent : modification de l'état d'un travail d'impression.
Vous trouverez des exemples d'utilisation de chaque événement dans leurs propres documentations.
Gestion des événements
Il est possible de gérer les événements de deux manières, la première étant vivement conseillée.
1. Utilisation des méthodes addListener()
Certaines interfaces de contrôle exposent une méthode addListener() permettant d'enregistrer des gestionnaires d'évènements.
Ces méthodes sont disponibles depuis le micrologiciel version v1.08 ou bien en utilisant le SDK JavaScript ID-AL version 1.1.0.
Ce première maniére de faire est conseillée puisqu'elle permet d'obtenir des évènements à partir d'interfaces
contrôle obtenues aussi bien par IDAL.getControlInterfaces() que IDAL.getRemoteControlInterfaces().
Ceci permet d'avoir un code homogène indépendamment du type des interfaces de contrôle.
Méthodes disponibles :
Par exemple, si vous voulez être informé des débuts et fin de lecture de fichiers :
// Definition du gestionnaire d'évènements
function playerEventHandler(e) {
switch (e.detail.type) {
case 'file-start':
// Faire quelque chose avec e.detail.filename
break;
case 'file-end':
// Faire quelque chose avec e.detail.filename
break;
}
}
// Obtention des interfaces de contrôle
// Note: vous pouvez aussi utiliser IDAL.getRemoteControlInterfaces()
IDAL.getControlInterfaces()
.then(function(ifaces) {
// Enregistrement du gestionnaire d'évènements
ifaces.player.addListener(playerEventHandler);
});
2. Utilisation de window.addEventListener()
Bien que disponible, l'utilisation de cette méthode est déconseillée puisqu'elle ne fonctionne que
lorsque le code est exécuté sur le lecteur vidéo.
Il n'est en effet pas possible d'obtenir les événements des interfaces de contrôle à distance remontées par IDAL.getRemoteControlInterfaces() de cette façon.
Au même titre que les autres événements standards ("click", "mouseover", "load"...), les événements ci-dessus peuvent être écoutés en utilisant window.addEventListener().
Par exemple, si vous voulez être informé des débuts et fin de lecture de fichiers :
// Definition du gestionnaire d'évènements
function playerEventHandler(e) {
switch (e.detail.type) {
case 'file-start':
// Faire quelque chose avec e.detail.filename
break;
case 'file-end':
// Faire quelque chose avec e.detail.filename
break;
}
}
window.addEventListener('idal-player-event', playerEventHandler);