![]() |
![]() |
|
| Utilisation de l'activex Microsoft Media Player pour diffuser des fichiers audio sur le web |
| Le contrôle Activex Windows Media Player peut être importer dans des IDE comme Delphi ou C++ Builder par exemple. Une fois installé, il donne accès direct (moyennant quelques lignes de code quand même) à un certain de fonctionnalités de base qui vont vous permettre la lecture de fichier audio ou vidéo. L'objectif de cette page n'est pas de vous expliquer comment importer un activex dans votre IDE préféré mais d'avantage de lister les différentes proprietés qui vont vous permettre d'interagir avec le contrôle et javascript pour lire des fichiers audio. Je suis plutôt attiré par les solutions issues de la" communauté du logiciel libre" mais, en même temps, il y a des solutions provenant des societés commerciales comme Microsoft qui sont vraiment intéressantes et le contrôle activex du MédiaPlayer en fait partie (je pense également au contrôle activex d'internet explorer). Ca serait dommage de ne pas en profiter ! Pourtant, concernant la lecture de fichiers audio ou vidéo pour le web. Je n'utilise pas Windows Media player. J'utilise plutôt des lecteurs flash avec un format FLV et du MP3 pour des raisons de confort dans la compatibilité avec tous les navigateurs et toutes les platte formes. En revanche concernant une application pour laquelle je maîtrise complétement l'environnement de l'utilisateur final, une large gamme de solution est disponible. Je peux effectuer des choix très différents. Or il se trouve que je travaille sur un projet personnel qui consiste grosso modo à fabriquer un automate capable de diffuser des fichiers audio FLAC selon des enchainements et une grille très précise. Il s'agit de diffuser des programmes radio FM. Comme je connais par avance le système d'exploitation et l'environnement utilisateur donc je peux me laisser aller à des choix dans lesquels la compatibilité navigateur, la disponibilité des codecs n'a aucune importance. J'ai pris le temps de bien réflêchir aux technologies que j'allais utiliser et j'ai fait de nombreux tests avant de choisir. Je n'ai pas trouvé d'activex de Winamp et je n'ai pas réussi à trouver des élements probants pour utiliser l'activex de VLC. Au même moment, le Windows Media Player offre toutes propriétés dont j'ai besoin moyennant l'ajout des codecs FLAC. Moyennant quelques recherches, la page msdn traitant des propriété du contrôle activex du MediaPlayer m'a donné tous les éléments pour concevoir l'architecture de mon logiciel. De plus, l'utilisation de javascript couplé à des requêtes en Ajax, un serveur web apache tournant en loopback avec php5 et un serveur Mysql me permettent de constuire une application souple avec le contrôle Activex. Deux contrôles activex du Media Player seront utilisées afin de gérer des enchainements propres qui vont se fonder sur des critères très précis s'appuyant sur des informations issues d'une base de données. Voici ci-dessous les informations utiles pour utiliser le contrôle activex du Media Player dans une page web avec Internet Explorer (sachant que la compatibilité entre navigateurs et codecs n'est pas recherchée et qu'il n'y a que la gestion des fichiers audio qui m'intéresse). |
| sources: msdn |
| Insertion du contrôle activex Media player dans une page web | ||||||||
Commencez par insérer le contrôle activex comme suit:
Il est possible de transmettre de nombreux paramètres dans la balise object mais dans notre cas, seuls quelques paramètres nous intéressent. SendPlayStateChangeEvents va permettre de récupérer les événements envoyés par le contrôle. Ces événements peuvent être récupérés par le script qui se trouve au-dessous de l'appel au contrôle. Dans l'exemple, on va afficher le code des événements sur la page html mais l'idée est de gérer ici les événements grâce à un appel à une fonction. La liste des événements et leur code est donné plus bas dans cette page. PlayCount indique le nombre de fois que le fichier audio sera lu. En l'occurence une fois sera suffisant. AutoStart indique si le fichier doit être lu automatiquement au chargement du contrôle. En l'occurence, on ne veut pas. |
|
|||||||
| Accès aux propriétés et aux méthodes du contrôle | ||
L'accès au propriétés du contrôle pour lire ou envoyer des informations se fait grâce à l'identifiant attribué à la balise object comme suit
|
||
| Liste des codes des événements envoyés par le contrôle | |||
| SendPlayStateChangeEvents nous permet de récupérer les événements suivants afin d'opérer ensuite un traitement
Les événements peuvent être récupérés selon la méthode suivante:
|
|||
| Liste des principales propriétés et méthodes du contrôle | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
La liste des objets, propriétés et méthodes n'est pas exhaustive. Sont uniquement indiquées les informations de base. je n'ai listé que les propriétés et les méthodes utiles pour réaliser un programme permettant de piloter la lecture et les enchainements entre deux médiaplayers chargés sur une même page. L'idéal est de se reporter à msdn en particulier pour ceux d'entre vous qui recherchent des informations plus approfondies. Ouverture d'un fichier
Mode d'affichage
Objet controls
Objet Settings
Objet currentMedia
|
| Fabrice de Caluwe - Reproductions interdites - Mis à jour le 16-12-2010 |