Developers » Windows » Contenus de l'application » Rich Media
Rich Media
Avant-propos
Le SDK Internet vous permet de marquer les vidéos et médias audio joués par l’utilisateur durant l’utilisation de l’application.
Pour bien débuter
Une fois votre marqueur initialisé, vous pouvez débuter le marquage de vos vidéos et de vos médias audio.
Pour utiliser les classes et les méthodes du SDK, veillez à ajouter le namespace ATInternet dans votre Page.
Marquage
Le marquage RichMedia n’est pas pris en compte dans la mécanique du Dispatch !
Le tracker met à disposition un objet MediaPlayers. Cet objet expose les méthodes suivantes :
- Add : Permet de renseigner un nouveau player et retourne un objet MediaPlayer
- Remove : Supprime un player
- RemoveAll : Supprime tous les players
Lors de la suppression d’un player, si un média est en cours de lecture, un hit sera automatiquement envoyé afin d’arrêter la mesure.
public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; MediaPlayer player1 = tracker.MediaPlayers.Add(78); // new player with default ID MediaPlayer player2 = tracker.MediaPlayers.Add(); tracker.MediaPlayers.Remove(78); tracker.MediaPlayers.RemoveAll(); }
Une fois qu’un player est instancié, il est possible de marquer les vidéos et médias audio.
Tous les objets présentés ci-dessous expose les méthodes suivantes :
- SendPlay() : Envoie un hit de lecture d’un média avec un hit de rafraîchissement envoyé automatiquement toutes les 5 secondes
- SendPlay(int refreshDuration) : Idem sauf qu’il est possible de préciser la période de rafraîchissement (le paramètre renseigné ne peut être inférieur à 5 qui est la période minimale SAUF si le paramètre vaut 0 auquel cas le rafraîchissement n’est pas activé !)
- SendPause : Envoie un hit de mise en pause du média
- SendStop : Envoie un hit d’arrêt complet de la lecture du média
- SendMove : Envoie un hit de déplacement du curseur de lecture du player
L’objet MediaPlayer met à disposition un objet Videos. Cet objet expose les méthodes suivantes :
- Add : Permet d’ajouter une vidéo au player et retourne un objet Video
- Remove : Supprime une vidéo
- RemoveAll : Supprime toutes les vidéos
Exemples de marquage
- Marquage d’une lecture de vidéo sans rafraîchissement
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; Video video; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; MediaPlayer player = tracker.MediaPlayers.Add(); video = player.Videos.Add("movie",90); } private void OnVideoStart() { video.SendPlay(0); } } }
- Marquage d’une lecture de vidéo avec rafraîchissement (la période de rafraîchissement ne peut pas être inférieure à 5s)
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; Video video; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; MediaPlayer player = tracker.MediaPlayers.Add(); video = player.Videos.Add("movie",90); } private void OnVideoStart() { // set refresh to 10 seconds // /!\ can't set below 5s video.SendPlay(10); } } }
- Marquage d’une pause dans la vidéo
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; Video video; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; MediaPlayer player = tracker.MediaPlayers.Add(); video = player.Videos.Add("movie",90); } private void OnVideoStart() { video.SendPlay(10); } private void OnVideoPause() { video.SendPause(); } } }
- Marquage d’un stop dans la vidéo
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; Video video; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; MediaPlayer player = tracker.MediaPlayers.Add(); video = player.Videos.Add("movie",90); } private void OnVideoStart() { video.SendPlay(10); } private void OnVideoStop() { video.SendStop(); } } }
- Marquage d’une mouvement du curseur de la vidéo
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; Video video; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; MediaPlayer player = tracker.MediaPlayers.Add(); video = player.Videos.Add("movie",90); } private void OnVideoStart() { video.SendPlay(10); } private void OnVideoMove() { video.SendMove(); } } }
L’objet MediaPlayer met à disposition un objet LiveVideos. Cet objet expose les méthodes suivantes :
- Add : Permet d’ajouter une vidéo live au player et retourne un objet LiveVideo
- Remove : Supprime une vidéo live
- RemoveAll : Supprime toutes les vidéos live
Exemples de marquage
- Marquage d’une lecture de vidéo live sans rafraîchissement
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player LiveVideo liveVideo; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); liveVideo = player.LiveVideos.Add("live video"); } private void OnLiveStart() { liveVideo.SendPlay(0); } } }
- Marquage d’une lecture de vidéo live avec rafraîchissement (la période de rafraîchissement ne peut pas être inférieure à 5s)
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player LiveVideo liveVideo; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); liveVideo = player.LiveVideos.Add("live video"); } private void OnLiveStart() { // refresh every 5s liveVideo.SendPlay(); } } }
- Marquage d’une pause dans la vidéo live
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player LiveVideo liveVideo; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); liveVideo = player.LiveVideos.Add("live video"); } private void OnLivePause() { // refresh every 5s liveVideo.SendPause(); } } }
- Marquage d’un stop dans la vidéo live
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player LiveVideo liveVideo; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); liveVideo = player.LiveVideos.Add("live video"); } private void OnLiveStop() { liveVideo.SendStop(); } } }
- Marquage d’une mouvement du curseur de la vidéo live
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player LiveVideo liveVideo; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); liveVideo = player.LiveVideos.Add("live video"); } private void OnLiveMove() { liveVideo.SendMove(); } }
L’objet MediaPlayer met à disposition un objet Audios. Cet objet expose les méthodes suivantes :
- Add : Permet d’ajouter un média audio au player et retourne un objet Audio
- Remove : Supprime un média audio
- RemoveAll : Supprime tous les médias audios
Exemples de marquage
- Marquage d’une lecture de média audio sans rafraîchissement
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player Audio audio; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); audio = player.Audio.Add("audio",10); } private void OnAudioStart() { audio.SendPlay(0); } }
- Marquage d’une lecture de média audio avec rafraîchissement (la période de rafraîchissement ne peut pas être inférieure à 5s)
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player Audio audio; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); audio = player.Audio.Add("audio", 10); } private void OnAudioStart() { // refresh every 5s audio.SendPlay(); // refresh every 10s audio.SendPlay(10); } } }
- Marquage d’une pause dans le média audio
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player Audio audio; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); audio = player.Audio.Add("audio"); } private void OnAudioPause() { audio.SendPause(); } }
- Marquage d’un stop dans le média audio
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player Audio audio; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); audio = player.Audio.Add("audio"); } private void OnAudioStop() { audio.SendStop(); } } }
- Marquage d’une mouvement du curseur du média audio
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player Audio audio; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); audio = player.Audio.Add("audio"); } private void OnAudioMove() { audio.SendMove(); } } }
L’objet MediaPlayer met à disposition un objet LiveAudios. Cet objet expose les méthodes suivantes :
- Add : Permet d’ajouter un média audio live au player et retourne un objet LiveAudio
- Remove : Supprime un média audio live
- RemoveAll : Supprime tous les médias audio live
Exemples de marquage
- Marquage d’une lecture de média audio live sans rafraîchissement
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player LiveAudio liveAudio; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); liveAudio = player.LiveAudios.Add("live audio"); } private void OnLiveAudioStart() { liveAudio.SendStart(0); } } }
- Marquage d’une lecture de média audio live avec rafraîchissement (la période de rafraîchissement ne peut pas être inférieure à 5s)
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player LiveAudio liveAudio; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); liveAudio = player.LiveAudios.Add("live audio"); } private void OnLiveAudioStart() { // default : refresh every 5s liveAudio.SendStart(10); // refresh every 10s liveAudio.SendStart(10); } } }
- Marquage d’une pause dans le média audio live
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player LiveAudio liveAudio; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); liveAudio = player.LiveAudios.Add("live audio"); } private void OnLiveAudioPause() { liveAudio.SendPause(10); } } }
- Marquage d’un stop dans le média audio live
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player LiveAudio liveAudio; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); liveAudio = player.LiveAudios.Add("live audio"); } private void OnLiveAudioStop() { liveAudio.SendStop(); } } }
- Marquage d’une mouvement du curseur du média audio live
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; MediaPlayer player LiveAudio liveAudio; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; player = tracker.MediaPlayers.Add(); liveAudio = player.LiveAudios.Add("live audio"); } private void OnLiveAudioMove() { liveAudio.SendMove(); } } }
Classe MediaPlayer
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
PlayerId | Int | 1 | Obtient ou définit l’identifiant du player |
Videos | Videos | null | Obtient l’instance permettant de gérer les vidéos |
Audios | Audios | null | Obtient l’instance permettant de gérer les médias audio |
LiveVideos | LiveVideos | null | Obtient l’instance permettant de gérer les vidéos live |
LiveAudios | LiveAudios | null | Obtient l’instance permettant de gérer les médias audio live |
La gestion de l’identifiant du player est automatique mais vous pouvez cependant en spécifier un.
Propriétés communes
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
Name | String | Chaîne vide | Obtient ou définit le nom du média visionné |
Chapter1 | String | null | Obtient ou définit le premier chapitre |
Chapter2 | String | null | Obtient ou définit le second chapitre |
Chapter3 | String | null | Obtient ou définit le troisième chapitre |
Action | Enum | null | Obtient ou définit le type d’action |
Level2 | Int | -1 | Obtient ou définit l’identifiant du niveau 2 |
IsBuffering | Boolean | false | Indique si le média est en « buffering » |
IsEmbedded | Boolean | false | Indique si le média est externe à l’application |
WebDomain | String | null | Obtient ou définit le referrer du média dans le cas d’un contenu externe (isEmbedded à true) |
Classe Video
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
Duration | Int | 0 | Obtient ou définit la durée total de la vidéo en seconde |
Classe Audio
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
Duration | Int | 0 | Obtient ou définit la durée total du média audio en seconde |
Méthodes
Nom | Type de retour | Description |
---|---|---|
SendPlay() | void | Envoi du hit de lecture avec un rafraîchissement automatique de 5 secondes |
SendPlay(int refreshDuration) | void | Envoi du hit de lecture avec un rafraîchissement automatique donné en paramètre (0 = désactivation du rafraîchissement) |
SendPause | void | Envoi du hit de pause |
SendStop | void | Envoi du hit de stop |
SendMove | void | Envoi du hit de mouvement du curseur de lecture |