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 ) donne plutôt envie de refermer le fichier ; 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
'****************************************************************************************
-- bouton
-- contrôle picto (adieu, l'infâme haut-parleur )
-- 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) 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.