[Résolu] [Writer] Audio déclenchée par clic sur un texte

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
Messages : 3028
Inscription : 30 avr. 2011 23:08
Localisation : Casablanca (Maroc)

[Résolu] [Writer] Audio déclenchée par clic sur un texte

Message par alhazred »

Bonsoir à tous,

Composant un manuel d'étude de langue, je désire qu'un simple clic sur une phrase permette de l'entendre.

J'ai bien sûr commencé par menu Insertion > Vidéo et son... mais vraiment, l'horrible haut-parleur tout noir (je n'ai trouvé aucun moyen de le modifier :oops: ) donne plutôt envie de refermer le fichier :twisted:; de plus, un clic ne suffit pas pour faire démarrer le son.

Je me suis alors tourné vers HTML ; là, à coup de onClick, Javascript et objet Audio, j'ai obtenu ce que je voulais : un clic sur le texte ---> prononciation. Inconvénient, pas possible pour l'étudiant de rajouter par exemple ses remarques personnelles (ou ai-je loupé quelque chose ?)

Je reviens donc vers Writer et mes chères macros ; celle-ci permet d'ouvrir un fichier .wav, mais est malheureusement réservée à Windows, tant pis, on essaiera plus tard de l'améliorer

Code : Tout sélectionner

'********* Appel à l'API Windows ***********
Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long

'Jouer un son - chemin absolu
Sub Play(wavFilePath) 'style Windows ex: C:\\dossier\son.wav
	Const SND_FILENAME As Long = &H20000
	Const SND_ASYNC As Long = &H1
	Const HMODULE As Long = &H0
	Dim done As Long
	done = PlaySound(wavFilePath, HMODULE, SND_FILENAME or SND_ASYNC)
End Sub
'****************************************************************************************
Pour la déclencher, il y a le choix
-- bouton
-- contrôle picto (adieu, l'infâme haut-parleur :bravo: )
-- champ de texte -- pas zone ni cadre de texte bien sûr

J'opte finalement pour la troisième possibilité, car je ne trouve les deux premières ni esthétiques ni ergonomiques (soit envahissantes, soit peu aisées à cliquer)
Son et texte.zip
Extraire le dossier de l'archive ; j'ai également joint le .html ; attention, certains navigateurs ne supportent pas le format .wav

J'attends vos suggestions : y a-t-il une autre possibilité ? J'aurais par exemple envisagé un hyperlien qui, au lieu d'ouvrir le fichier-son dans mon lecteur préféré, se contente d'exécuter une macro (permettant des modifications plus faciles du texte qu'un champ). Je pense que cela doit être possible puisqu'il y a un élément onClick dans la propriété hyperLinkEvents, mais je ne vois pas comment l'implémenter.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par alhazred le 28 déc. 2012 12:13, modifié 1 fois.
À 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 !
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Re: [Writer] Audio déclenchée par clic sur un texte

Message par bm92 »

Bonjour alhazred,

Tu n'as donc pas essayé un simple hyperlien vers le fichier ? (menu Insertion > Hyperlien)
Chez moi ça lance l'application par défaut correspondant à l'extension du fichier. Donc le lecteur de Media pour wav, mp3, flac, etc.
Bernard

OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
Avatar de l’utilisateur
Churay
ManitOOu
ManitOOu
Messages : 2668
Inscription : 30 avr. 2009 04:54
Localisation : CATALUNYA

Re: [Writer] Audio déclenchée par clic sur un texte

Message par Churay »

Bonjour

De retour après un long silence...
alhazred a écrit : Je me suis alors tourné vers HTML ; là, à coup de onClick, Javascript et objet Audio, j'ai obtenu ce que je voulais : un clic sur le texte ---> prononciation. Inconvénient, pas possible pour l'étudiant de rajouter par exemple ses remarques personnelles (ou ai-je loupé quelque chose ?)
Si, si... sinon ça sert à quoi que le w3c nous valide le html 5. Donc en html 5, c'est possible avec l'API Storage (nom officiel web storage) qui permet un stockage temporaire ou persistant. Une sorte de super cookie...
Je ne suis pas certain que cela soit gage de sécurité, mais s'il y avait que cela en html 5... Et ce n'est pas le sujet du fil, ni l'objet du forum

Par contre la solution de bm a l'avantage de la simplicité ;)

:lol:
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK :super:
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
Messages : 3028
Inscription : 30 avr. 2011 23:08
Localisation : Casablanca (Maroc)

Re: [Writer] Audio déclenchée par clic sur un texte

Message par alhazred »

Bonjour, Bernard, et merci pour ta réponse.

Bien sûr, j'ai essayé, mais justement, je ne veux pas d'ouverture de lecteur : il se met en premier plan lors du premier appel, et je suppose que si des options permettent d'éviter cela, elles doivent varier selon le lecteur. De plus, si la dernière écoute a été en boucle...

... Et honte à moi :oops: , je n'avais pas remarqué ce petit bouton...
Hyperlien.JPG
En associant la macro à Souris sur l'objet, tout fonctionne (et sans clic... malgré un léger problème pour les parkinsoniens :cry: )

Finalement, je pense que je vais adopter cette solution plutôt que celle par champ de texte (et essayer plus tard de rendre la macro portable)
Son et texte (hyperliens).odt
Fichier à placer dans le dossier Son et texte (message précédent)

« J'adore qu'un plan se déroule sans accroc ! » :lol:
 Ajout : Salut, Churay, et merci pour ta contribution : piste à explorer donc, cela pourrait permettre d'interdire la modification du texte du cours (au moins pour l'étudiant lambda) tout en autorisant des ajouts 
 Ajout : Aaarf :evil: c'était trop beau pour être vrai : la macro appelée par survol de l'hyperlien ne doit avoir aucun paramètre (on aimerait bien tout de même savoir d'où vient l'appel, non ?), ce qui veut dire créer une macro par son joué, et quand il y en a des centaines... Et même chose pour les champs de texte :fou: 
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
À 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 !
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
Messages : 3028
Inscription : 30 avr. 2011 23:08
Localisation : Casablanca (Maroc)

Bonne Année à tous

Message par alhazred »

Et voilà, cadeau de Nouvel An !

Le principe :
  • Un listener de modification de sélection
  • Les textes "actifs" sont tous dans des cellules de tableaux
  • Un répertoire Sons est placé dans le même répertoire que le document, et contient des répertoires aux noms de chaque tableau; là se trouvent les fichiers sons, nommés selon la cellule du texte correspondant, par exemple A1.wav (seuls les fichiers .wav sont supportés sur Windows)
Malheureusement, pour l'instant, ce document ne fonctionne que sur Windows... Portabilité à ajouter pour les amateurs.
Livre parlant.zip
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
À 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 !