Salut à tous !

Je vous propose aujourd'hui une fonction script jaws pour envoyer un lien de 
vidéo youtube directement dans VLC lorsqu'on explore les flux de recherche 
youtube dans le logiciel VisuRSS.

Pour ceux qui ne le savent pas encore, VisuRSS est un logiciel agrégateur de 
flux RSS développé par notre bien aimé colistier Lavachri.

Et ce dernier nous a donné dans ce logiciel la possibilité de faire des 
recherches de vidéo sur le site de Youtube et d'avoir des listes de résultat 
directement dans VisuRSS. C'est ce qu'il a appelé des flux de recherche.

Ainsi, par l'appuie sur la touche entrer sur un  des résultats de la recherche, 
une page web s'ouvre, amenant sur le site de youtube et  lance la lecture de la 
vidéo en question.

Avec le script jaws que je vous propose, plutôt que de faire lire la vidéo dans 
le navigateur (firefox, internet explorer, google chrome, etc), en effectuant 
le raccourci ctrl+maj+v par exemple, il vous sera directement envoyé dans le 
logiciel multimédia VLC.

Les avantages sont les suivants:

1. VLC s'ouvre et lit la vidéo beaucoup plus vite que le navigateur;

2. Avec VLC, il vous est beaucoup plus aisé de vous déplacer dans la vidéo 
(avance, retour arrière) que dans le navigateur;

3. et même si je n'ai pas encore trouvé comment le faire, il est possible 
d'enregistrer la vidéo en cours de lecture avec VLC.

Pour que le script jaws fonctionne chez vous, il va faloir que vous inscriviez 
vous-même le chemin  où se trouve VLC (de préférence la dernière version 2.1.5) 
sur votre ordinateur en retrouvant et modifiant la ligne suivante:

let sVLCPath = "C:\\Program Files\\adslTV\\VLC\\vlc.exe"


Voici à présent le code de la fonction  script:

Début du code jawsscript

Script SendLinkToVLC ()

; ctrl+shift+v

; envoyer le lien podcast ou de vidéo à VLC pour lecture

var 

handle hwnd,

int i,

int iPodcast,

string s,

string sVLCPath,

string sURL,

object oFSO,

object oFil

; le chemin vers votre version de VLC installé

let sVLCPath = "C:\\Program Files\\adslTV\\VLC\\vlc.exe"



; via le fileSystemObject, on recherche le nom court du chemin vers ce fichier

; cela pour éviter les erreurs de chemin dûs aux caractères d'espacement.

let oFSO = CreateObject("Scripting.FileSystemObject")

let oFil = oFSO.GetFile(sVLCPath)

let sVLCPath = oFil.ShortPath()

; libération des objets

let oFil = null()

let oFSO = null()

; vérification du positionnement

let hwnd= GetFocus ()

if GetWindowClass (hwnd) == "SysListView32" 

&& GetControlID (hwnd) == 2 then

; recueillement de l'URL du podcast sélectionné

SpeechOff ()

; menu contextuel

TypeKey ("shift+f10")

Delay (5)

if ! MenusActive () then

SpeechOn ()

SayString ("échec")

return

endif

; maintenant on détermine s'il s'agit d'un flux de podcast

let iPodcast = StringContains (StringLower (GetSelectedText ()), "podcast")

; on active le menu "envoyer"

TypeKey ("e")

Delay (2)

; selon si c'est un podcast

if iPodcast then

TypeKey ("e")

Delay (1)

if ! MenusActive () then

SpeechOn ()

SayString ("Echec")

return

EndIf

EnterKey ()

Delay (1)

; TypeKey ("l")

TypeKey ("DownArrow")

Delay (2)

if ! MenusActive () then

SpeechOn ()

SayString ("Echec")

return

EndIf

EnterKey ()

Delay (2)

let sURL = GetClipboardText ()

SpeechOn ()

; vérification minimum sur l'URL

if ! StringContains (StringLower (sURL), "http") then

SayString ("Echec")

return

EndIf

else ; ' c'est un flux de recherche vidéo

if ! MenusActive () then

SpeechOn ()

SayString ("Echec")

return

EndIf

EnterKey ()

; un petit temps d'attente

Delay (2)

; traitement de l'URL envoyée dans le presse-papier

let sURL = GetClipboardText ()

SpeechOn ()

; vérification minimum sur l'URL

if ! StringContains (StringLower (sURL), "http") then

SayString ("Echec")

return

EndIf

EndIf ; fin si podcast ou pas

; constitution de la commande

let s = sVLCPath + " " + sURL + ""

; exécution de la commande

Run (s)

; annonce de l'évènement

if iPodcast then

SayString ("Envoi du lien podcast vers VLC")

else

SayString ("Envoi du lien du flux de la vidéo vers VLC")

EndIf

return ; sortie

EndIf

; standard

SayCurrentScriptKeyLabel ()

TypeCurrentScriptKey ()

EndScript


fin du code jawsscript

Quelques informations supplémentaires:

* ce script envoi également les podcasts dans VLC;

* les liens  issus de la recherche dayly motion n'arrivent pas à être lus par 
VLC.

Voilà ! Puisse cela plaire à quelqu'un !


Yannick Daniel Youalé du Cameroun
La programmation est une religion. Aimez-la, ou quittez-la.
Mon site: www.visuweb.net

Répondre à