Cette analyse m'a été inspirée par le fil [Résolu] [Writer] Audio déclenchée par clic sur un texte
Dans l'API OpenOffice, le module com.sun.star.media contient un service et des interfaces permettant de "lire" un fichier media, par exemple un fichier son, sans afficher un lecteur Multimedia.
La gamme des fichiers media lisibles dépend du système d'exploitation et des codec installés sur l'ordinateur. Par exemple sur le mien (Windows XP avec de nombreux codecs) je peux lire des fichiers son .wav .flac .mp3 .mid, et même des fichiers video .mov .mp4 ou des images .jpg .png.
Ci-joint un document exemple, contenant des macros déclenchées par des boutons. Recherchez un fichier media, par exemple un fichier .wav, sur votre ordinateur.
Le fichier a été testé sur Windows XP avec Apache OpenOffice 3.4.1 et LibreOffice 3.6.4.
Signalez les problèmes rencontrés sur votre système d'exploitation et variante OpenOffice.
Détails techniques
Le service documenté, com.sun.star.media.Manager, n'existe pas... Ce n'est qu'un "modèle" pour les services réellement disponibles sur la version d'OpenOffice (Apache ou LibreOffice) adaptée au système d'exploitation.
Les vrais services ont pour noms com.sun.star.media.Manager_DirectX pour Windows, com.sun.star.media.Manager_GStreamer pour Linux, etc; ces services existent dans les fichiers source d'OpenOffice, mais OpenOffice n'en inclus qu'un (à ce que j'ai vu) selon le système d'exploitation cible.
Mon codage recherche le premier service disponible parmi ceux-ci, afin d'être indépendant du système d'exploitation.
Il est nécessaire d'obtenir un nouvel objet lecteur (variable lectMedia) pour chaque media à lire : on ne peut changer de media sur un lecteur. Ce lecteur doit exister pendant toute la durée du media, c'est pourquoi il est conservé dans une variable Global. Si la variable est locale, il faut attendre dans la macro la fin d'exécution, comme dans la macro jouerSonCourt.
Dans la lecture d'un fichier vidéo ou d'une image, une fenêtre simple affiche l'image. Je n'ai pas trouvé comment imposer l'affichage sur un objet particulier dans le document.
L'interface com.sun.star.media.XPlayer offre des méthodes intéressantes, lisez la documentation.
Dans mes essais, la méthode .volumeDB n'a pas changé le volume du son.
Le service Manager_DirectX diffère entre Apache OpenOffice 3.4.1 et LibreOffice 3.6.4.
LibreOffice n'offre pas de Listener, pas de méthode .dispose, pas d'interface com.sun.star.lang.XComponent, et la méthode .isPlaying renvoie toujours True.
[Basic] Jouer un fichier Multimedia
Modérateur : Vilains modOOs
Règles du forum
Aucune question dans cette section !
Celle-ci rassemble les meilleures macros et portions de code. Vous pouvez en revanche commenter ou argumenter le code exposé. Vous pouvez même remercier l'auteur (cela fait toujours plaisir) en indiquant par exemple dans quel cadre ou contexte vous en avez eu l'utilité.
Si vous avez à poster quelque chose, faites-le depuis la section Macros et API et demandez à un modérateur de l'y déplacer.
Aucune question dans cette section !
Celle-ci rassemble les meilleures macros et portions de code. Vous pouvez en revanche commenter ou argumenter le code exposé. Vous pouvez même remercier l'auteur (cela fait toujours plaisir) en indiquant par exemple dans quel cadre ou contexte vous en avez eu l'utilité.
Si vous avez à poster quelque chose, faites-le depuis la section Macros et API et demandez à un modérateur de l'y déplacer.
-
- ManitOOu
- Messages : 2562
- Inscription : 26 nov. 2005 13:42
[Basic] Jouer un fichier Multimedia
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Bernard
OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
-
- IdOOle de la suite
- Messages : 25602
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: Jouer un fichier Multimedia
Ouaip, déjà publié en 2010 : http://forum.openoffice.org/fr/forum/vi ... =8&t=20322
Le modérateur a écrit :Basculement et balisage adéquate pour la section Suprême de code
-
- ManitOOu
- Messages : 2562
- Inscription : 26 nov. 2005 13:42
Re: [Basic] Jouer un fichier Multimedia
Je n'avais pas trouvé ce fil dans mes recherches sur Internet (qui m'ont conduit, entre autres, à un blog italien et un blog japonais).
Bernard
OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
-
- ManitOOu
- Messages : 3028
- Inscription : 30 avr. 2011 23:08
- Localisation : Casablanca (Maroc)
Re: [Basic] Jouer un fichier Multimedia
Bonjour et bonne année à tous,
Ça, bm92, ça va sans doute me permettre de résoudre élégamment le problème de portabilité que j'avais dans ce fil, avec en plus la possibilité d'utiliser des fichiers moins replets que les .wav.
Mille et un mercis.
Ça, bm92, ça va sans doute me permettre de résoudre élégamment le problème de portabilité que j'avais dans ce fil, avec en plus la possibilité d'utiliser des fichiers moins replets que les .wav.
Mille et un mercis.
À bientôt
LibO 4.1.5.3 et AOO 4.0.1 sous Windows 7, MRI et SDK pour les macros.
Et la sauvegarde incrémentée, c'est sympa !
LibO 4.1.5.3 et AOO 4.0.1 sous Windows 7, MRI et SDK pour les macros.
Et la sauvegarde incrémentée, c'est sympa !