Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Affichage d'une vidéo Youtube. | |
| | Auteur | Message |
---|
Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Affichage d'une vidéo Youtube. Mer 20 Déc 2023 - 13:48 | |
| Bonjour à tous. Je parviens à lire une vidéo au format mp4, comme suit: - Code:
-
dim hnd%, res%, nom$, adr$, pwd$, obj$
label clic
dll_on "kgf"
caption 0,"Bienvenue." left 0,screen_x/2-200 top 0,screen_y/2-200 width 0,400 height 0,420
res% = dll_call1("SelectMultiPlayerType",2)
hnd% = handle(0) res% = dll_call5("CreatePlayer",hnd%,0,0,400,420) nom$ = "videos/bienvenue.mp4" res% = dll_call1("LoadFileIntoPlayer",adr(nom$)) res% = dll_call0("PlayPlayer")
button 1 caption 1,"Fermer" font_size 1,14 font_bold 1 left 1,150 top 1,320 width 1,100 height 1,40 on_click 1,clic end
clic: terminate return Mais comment procéder pour afficher une vidéo Youtube dans une fenêtre de dimensions données ? Merci de votre aide. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Affichage d'une vidéo Youtube. Mer 20 Déc 2023 - 13:54 | |
| Malheureusement, ce n'est pas possile de cette manière. Les vidéos YouYube ne sont pas des fichiers MP4 téléchargeables simplement.
La solution consiste à placer un objet WebBrowser aqu lieu d'un objet Multiplayer, et d'accéder à la vidéo via son URL. | |
| | | Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Affichage d'une vidéo Youtube. Mer 20 Déc 2023 - 13:59 | |
| Merci Klaus. Je viens de tester ce code, mais la vidéo ne s'affiche pas ! Merci de ton aide. - Code:
-
dim res%, hnd%, url$
dll_on "kgf"
url$="https://www.youtube.com/watch?v=x5H2NULTiPE" hnd% = handle(0)
res% = dll_call1("WBCreate",hnd%) res% = dll_call4("WBLocate",0,0,400,400)
res% = dll_call1("WBUrl",adr(url$)) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Affichage d'une vidéo Youtube. Mer 20 Déc 2023 - 14:27 | |
| En effet. Voici ce que le WebBrowser affiche: En effet, le WebBrowser est basé sur Internet Explorer de MicroSoft, ou plus précisément sur un ActiveX fourni par MicroSoft avec Internet Explorer. Or, depuis longtemps, MicroSoft a cessé de développer Internet Explorer et a cessé le support pour ce produit. Parallèlement, d'autres explorateurs ont évolué, comme Chrome par exemple. Donc, la solution pourrait consister à lancer Chrome par la commande EXECUTE (pas EXECUTE_WAIT !) ou par la fonction ExecuteProgram de KGF.dll en lui passant l'URL, puis utiliser des fonctions telles que GetWindowByTitle, GetAllWindowsByTitle, GetWindowProcessName ou GetWindowProcessHandles pour trouver son handle. Puis, la fonction AttachWindowToWindow permet d'inclure ce browser dans la fenêtre Panoramic. Avec ChangeWindowSize, tu peux ensuite positionner et/ou dimensionner la fenêtre. Certains sites, comme à l'évidence YoTube, testent les propriétés du browser qui les appelle et rejettent les browsers trop anciens. Dans ces cas-là, il n'y a pas d'aure solution que ce processus laborieux que je viens de décrire ci-dessus. | |
| | | Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Affichage d'une vidéo Youtube. Mer 20 Déc 2023 - 14:51 | |
| Merci Klaus pour l'info.
Malheureusement, je ne peux pas utiliser la méthode préconisée, car je ne sais pas si l'utilisateur final possède Chrome ou non ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Affichage d'une vidéo Youtube. Mer 20 Déc 2023 - 14:58 | |
| Alors, choisis Edge qui est le browser officiel de Windows, en remplaçant Windows Explorer. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Affichage d'une vidéo Youtube. Jeu 21 Déc 2023 - 0:08 | |
| Voici une suggestion comment tu pourrais faire. J'ai codé l'emplacement de msedge.exe tel qu'il est installé chez moi - tu devras peut-être adapter ce paramètre. Recharge KGF.dll de ma signature avant d'aller plus loin ! Voici le code, parfaitement opérationnel: - Code:
-
dim res%, hnd%, url$, edge$, param$, folder$, titre$, s$
dll_on "kgf" full_space 0 memo 1 : hide 1 : width 1,300 : height 1,500 : bar_both 1 url$="https://www.youtube.com/watch?v=x5H2NULTiPE" edge$ = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
folder$ = "" param$ = chr$(34) param$ = url$ titre$ = "YouTube" res% = DLL_call4("StartProgram",adr(edge$),adr(param$),adr(folder$),0) repeat wait 100 res% = dll_call3("GetAllWindowsByTitle",1,adr(titre$),handle(1)) until count(1)>0 s$ = item_read$(1,1) hnd% = val(left$(s$,instr(s$,"=")-1)) res% = dll_call2("AttachWindowToWindow",hnd%,handle(0)) res% = DLL_call6("ChangeWindowSize",hnd%,3,0,0,height_client(0),width_client(0)) end Ici, j'ai choisi de capturer Edge dans la form 0. Mais tu peux aisément créer une form annexe (form 17 par exemple) et passer handle(17) à la fonction AttachWindowToWindow). Ou choisir un Panel, par exemple: - Code:
-
dim res%, hnd%, url$, edge$, param$, folder$, titre$, s$
dll_on "kgf" full_space 0 memo 1 : hide 1 : width 1,300 : height 1,500 : bar_both 1 panel 2 : left 2,300 : width 2,width_client(0) - 300 : height 2,height_client(0) url$="https://www.youtube.com/watch?v=x5H2NULTiPE" edge$ = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
folder$ = "" param$ = chr$(34) param$ = url$ titre$ = "YouTube" res% = DLL_call4("StartProgram",adr(edge$),adr(param$),adr(folder$),0) repeat wait 100 res% = dll_call3("GetAllWindowsByTitle",1,adr(titre$),handle(1)) until count(1)>0 s$ = item_read$(1,1) hnd% = val(left$(s$,instr(s$,"=")-1)) res% = dll_call2("AttachWindowToWindow",hnd%,handle(2)) res% = DLL_call6("ChangeWindowSize",hnd%,3,0,0,height_client(0),width_client(0)) end
Pour placer la vidéo dans une form indépendente, faire comme ceci: - Code:
-
label stopit dim res%, hnd%, url$, edge$, param$, folder$, titre$, s$
dll_on "kgf" full_space 0 memo 1 : hide 1 : width 1,300 : height 1,500 : bar_both 1 form 2 : left 2,300 : width 2,500: height 2,600 : hide 2 button 3 : top 3,30 : left 3,300 : caption 3,"Stop vidéo" : on_click 3,stopit url$="https://www.youtube.com/watch?v=x5H2NULTiPE" edge$ = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
folder$ = "" param$ = chr$(34) param$ = url$ titre$ = "YouTube" res% = DLL_call4("StartProgram",adr(edge$),adr(param$),adr(folder$),0) repeat wait 100 res% = dll_call3("GetAllWindowsByTitle",1,adr(titre$),handle(1)) until count(1)>0 s$ = item_read$(1,1) hnd% = val(left$(s$,instr(s$,"=")-1)) show 2 res% = dll_call2("AttachWindowToWindow",hnd%,handle(2)) res% = DLL_call6("ChangeWindowSize",hnd%,3,0,0,height_client(0),width_client(0)) end
stopit: res% = dll_call1("KillProcessByHandle",hnd%) delete 2 return
| |
| | | Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Affichage d'une vidéo Youtube. Jeu 21 Déc 2023 - 13:00 | |
| Bonjour.
Un grand merci Klaus pour tes exemples de code. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Affichage d'une vidéo Youtube. Jeu 21 Déc 2023 - 16:50 | |
| Merci ! D'ailleurs, j'ai fait des essais: au lieu de - Code:
-
edge$ = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" il suffit de faire - Code:
-
edge$ = "msedge" et ça marchera quelque soit la configuration de l'installation. | |
| | | Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Affichage d'une vidéo Youtube. Jeu 21 Déc 2023 - 18:53 | |
| Bonjour.
J'obtiens le message d'erreur suivant:
Not correct arithmetic expression, line 17.
Et je me demande pourquoi param$ est initialisé deux fois, avec deux chaînes différentes.
Merci de la suite. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Affichage d'une vidéo Youtube. Ven 22 Déc 2023 - 0:39 | |
| Ben... oui... il faut recharger KGFdll à partir de ma signature. La fonction StartProgram est nouvelle. | |
| | | Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Affichage d'une vidéo Youtube. Ven 22 Déc 2023 - 12:59 | |
| Bonjour.
Un grand merci Klaus. | |
| | | Contenu sponsorisé
| Sujet: Re: Affichage d'une vidéo Youtube. | |
| |
| | | | Affichage d'une vidéo Youtube. | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |