|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
[WD10] Remplir une listbox depuis un fichier m3u |
Débuté par ltdnico, 10 jan. 2006 13:35 - 10 réponses |
| |
| | | |
|
| |
Posté le 10 janvier 2006 - 13:35 |
Bonjour,
Je suis débutant en WinDev et j'aimerais savoir si je peux faire ceci :
Dans mon programme, je souhaiterais que la listbox Liste1 se remplisse à l'aide des données contenues dans le fichier suivant : http://www.listetv.monsite.com/playlist.m3u
Voici la structure de ce fichier, je vais détailler plus bas ce que je voudrais sélectioner comme item de ma liste ainsi que l'action à faire lors de la sélection d'un item puis le clic sur le bouton Bouton1.
#EXTM3U #EXTINF:0,2 - France 2 rtsp://listetv.monsite.com/201 #EXTINF:0,3 - France 3 national rtsp://listetv.monsite.com/202 #EXTINF:0,5 - France 5 rtsp://listetv.monsite.com/203 ....
En gros, je veux que mes items soient affichés comme ceci : 2 - France 2 3 - France 3 national 5 - France 5
Je veux que lorsque je clique sur un item puis sur le bouton Bouton1, l'adresse rtsp:// correspondant à l'item soit mise dans une variable dans le but de l'envoyer à un programme tiers.
Est-ce possible ? Quelqu'un d'expérimenté aurait-il une solution ? |
| |
| |
| | | |
|
| | |
| |
Posté le 10 janvier 2006 - 16:23 |
Personne n'a de solution ? |
| |
| |
| | | |
|
| | |
| |
Posté le 11 janvier 2006 - 09:47 |
Salut,
je veux bien t'aider mais j'ai besoin de savoir qu'est-ce que tu n'es pas capable de faire au juste?
Mathieu |
| |
| |
| | | |
|
| | |
| |
Posté le 11 janvier 2006 - 10:32 |
tu comptes faire du streaming??? ca m'interesse
NiCo avait prétendu :
Bonjour, Je suis débutant en WinDev et j'aimerais savoir si je peux faire ceci : Dans mon programme, je souhaiterais que la listbox Liste1 se remplisse à l'aide des données contenues dans le fichier suivant : http://www.listetv.monsite.com/playlist.m3uVoici la structure de ce fichier, je vais détailler plus bas ce que je voudrais sélectioner comme item de ma liste ainsi que l'action à faire lors de la sélection d'un item puis le clic sur le bouton Bouton1. #EXTM3U #EXTINF:0,2 - France 2 rtsp://listetv.monsite.com/201 #EXTINF:0,3 - France 3 national rtsp://listetv.monsite.com/202 #EXTINF:0,5 - France 5 rtsp://listetv.monsite.com/203 ... En gros, je veux que mes items soient affichés comme ceci : 2 - France 2 3 - France 3 national 5 - France 5 Je veux que lorsque je clique sur un item puis sur le bouton Bouton1, l'adresse rtsp:// correspondant à l'item soit mise dans une variable dans le but de l'envoyer à un programme tiers. Est-ce possible ? Quelqu'un d'expérimenté aurait-il une solution ?
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. " |
| |
| |
| | | |
|
| | |
| |
Posté le 11 janvier 2006 - 11:29 |
Pierre BOUSQUET a écrit :
tu comptes faire du streaming??? ca m'interesse
Oui, en gros c'est pour créer un logiciel de lecture et enregistrements des flux vidéos de la freebox. En effet, free propose à ses abonnés disposant du service télévision un service pour regarder la télévision depuis leur ordinateur. Pour cela, il faut utiliser Video LAN Client (VLC média player).
Moi j'aimerais récupérer les flux pour les enregister. Hors, il suffit dans le cas présent de récupérer la liste des flux (le fichier m3u) dans une listbox. Lorsque l'utilisateur clique sur France 3 puis sur regarder, cela ouvre VLC avec en paramètre l'url donnée par le m3u. Pour l'enregistrement, c'est le même système sauf que les paramètres de VLC changent.
Donc ce que je n'arrive pas à faire : - Récupérer le m3u sur l'ordinateur client; - Traiter le m3u et supprimer les informations inutiles; - Remplir la liste avec les informations souhaitées; - Faire en sorte que lors d'un clic sur France 3 (exemple) l'url (rtsp://machintruc) correspondant à France 3 soit enregistrée dans une variable.
Voià, j'espère avoir été assez clair.
Mathieu, j'ai également vu votre réponse et je souhaite que ces renseignements vous suffiront pour m'aider.
Cordialement. |
| |
| |
| | | |
|
| | |
| |
Posté le 11 janvier 2006 - 12:03 |
ca tombe bien je l'ai fait hier soir... pour récupérer le m3u c simple j'ai utilisé un logiciel de DL type DAP et j'ai récupéré le fichier en dur pour lire le fichier (fOuvre()): - ignorer la premiere ligne - lignes paires = nom de la chaine (Extraitchaine(fLitLigne(IdFichier),2,"-") - lignes impaires le fLitLigne() récupère le rtsp://
maintenant reste à se connecter au flux, c une autre paire de manches, hier j'ai simplement mis un champ conf avec une adresse rtsp://, c pas si simple...
NiCo avait écrit le 11/01/2006 :
Pierre BOUSQUET a écrit : tu comptes faire du streaming??? ca m'interesse
Oui, en gros c'est pour créer un logiciel de lecture et enregistrements des flux vidéos de la freebox. En effet, free propose à ses abonnés disposant du service télévision un service pour regarder la télévision depuis leur ordinateur. Pour cela, il faut utiliser Video LAN Client (VLC média player). Moi j'aimerais récupérer les flux pour les enregister. Hors, il suffit dans le cas présent de récupérer la liste des flux (le fichier m3u) dans une listbox. Lorsque l'utilisateur clique sur France 3 puis sur regarder, cela ouvre VLC avec en paramètre l'url donnée par le m3u. Pour l'enregistrement, c'est le même système sauf que les paramètres de VLC changent. Donc ce que je n'arrive pas à faire : - Récupérer le m3u sur l'ordinateur client; - Traiter le m3u et supprimer les informations inutiles; - Remplir la liste avec les informations souhaitées; - Faire en sorte que lors d'un clic sur France 3 (exemple) l'url (rtsp://machintruc) correspondant à France 3 soit enregistrée dans une variable. Voià, j'espère avoir été assez clair. Mathieu, j'ai également vu votre réponse et je souhaite que ces renseignements vous suffiront pour m'aider. Cordialement.
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. " |
| |
| |
| | | |
|
| | |
| |
Posté le 11 janvier 2006 - 12:52 |
Pierre BOUSQUET a écrit :
ca tombe bien je l'ai fait hier soir... pour récupérer le m3u c simple j'ai utilisé un logiciel de DL type DAP et j'ai récupéré le fichier en dur pour lire le fichier (fOuvre()): - ignorer la premiere ligne - lignes paires = nom de la chaine (Extraitchaine(fLitLigne(IdFichier),2,"-") - lignes impaires le fLitLigne() récupère le rtsp://
maintenant reste à se connecter au flux, c une autre paire de manches, hier j'ai simplement mis un champ conf avec une adresse rtsp://, c pas si simple...
Ah oui, apparement je me suis mal exprimé. Mon appli devra en fait lire le fichier depuis internet.
En fait : - L'appli consulte le fichier à l'adresse suivante : http://listetv.mosite.com/playlist.m3u (j'ai pas trouvé comment télécharger directement avec une fonction windev) - Elle stoque dans un fichier temporaire le contenu du fichier (je suppose que c'est faisable facilement). - Elle traite le fichier (là j'ai pas trop compris, pourriez vous donner un exemple concret ? Je suis débutant, faut pas l'oublier ) - On remplit la liste avec les informations souhaitées (le nom des chaînes) - Lors d'un double clic sur un item de la liste, on envoie le rtsp://... en paramètre à VLC (en fait, je suppose qu'il y a une fonction en W-langage qui permet de lancer un programme tiers avec des paramètres [C:\VLC\vlc.exe "params..."]), j'ai abandonné le bouton pour une solution plus simple : Si Rec est cochée, le double clic sur l'item entraîne l'enregistrement. Si ReadRec est cochée, on demande à VLC d'enregistrer et d'afficher le flux. Cela permet de regarder le flux, de l'enregistrer, ou de regarder et enregistrer en même temps. - Lorsque l'on quitte le programme, le fichier temporaire est détruit.
Voilà, je pense avoir bien décrit le fonctionnement de ce que je voudrais mais pas moyen d'y arriver pour le moment. Merci pour votre aide |
| |
| |
| | | |
|
| | |
| |
Posté le 11 janvier 2006 - 14:21 |
pour télécharger le fichier via HTTP il y a une procédure sympa ici : http://www.windasso.org/cgi-bin/gesmod.exe…
sinon pour le lire
b est entier ChaineLue est chaine Id est entier = fouvre(Nomfichier)
Si Id=-1 ALORS RETOUR
//Sauter la 1ere ligne flitligne(Id) BOUCLE b++ ChaineLue=flitligne(Id) SI ChaineLue=EOT alors SORTIR SI EstPair(b) // ChaineLue=le nom de la chaine TV SINON // ChaineLue= le rtsp:// FIN FIN fFerme(Id)
NiCo avait soumis l'idée :
Pierre BOUSQUET a écrit : ca tombe bien je l'ai fait hier soir... pour récupérer le m3u c simple j'ai utilisé un logiciel de DL type DAP et j'ai récupéré le fichier en dur pour lire le fichier (fOuvre()): - ignorer la premiere ligne - lignes paires = nom de la chaine (Extraitchaine(fLitLigne(IdFichier),2,"-") - lignes impaires le fLitLigne() récupère le rtsp://
maintenant reste à se connecter au flux, c une autre paire de manches, hier j'ai simplement mis un champ conf avec une adresse rtsp://, c pas si simple...
Ah oui, apparement je me suis mal exprimé. Mon appli devra en fait lire le fichier depuis internet. En fait : - L'appli consulte le fichier à l'adresse suivante : http://listetv.mosite.com/playlist.m3u (j'ai pas trouvé comment télécharger directement avec une fonction windev) - Elle stoque dans un fichier temporaire le contenu du fichier (je suppose que c'est faisable facilement). - Elle traite le fichier (là j'ai pas trop compris, pourriez vous donner un exemple concret ? Je suis débutant, faut pas l'oublier ) - On remplit la liste avec les informations souhaitées (le nom des chaînes) - Lors d'un double clic sur un item de la liste, on envoie le rtsp://... en paramètre à VLC (en fait, je suppose qu'il y a une fonction en W-langage qui permet de lancer un programme tiers avec des paramètres [C:\VLC\vlc.exe "params..."]), j'ai abandonné le bouton pour une solution plus simple : Si Rec est cochée, le double clic sur l'item entraîne l'enregistrement. Si ReadRec est cochée, on demande à VLC d'enregistrer et d'afficher le flux. Cela permet de regarder le flux, de l'enregistrer, ou de regarder et enregistrer en même temps. - Lorsque l'on quitte le programme, le fichier temporaire est détruit. Voilà, je pense avoir bien décrit le fonctionnement de ce que je voudrais mais pas moyen d'y arriver pour le moment. Merci pour votre aide
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. " |
| |
| |
| | | |
|
| | |
| |
Posté le 11 janvier 2006 - 15:18 |
Merci pour la réponse, je vais voir ce que je peux faire
Pierre BOUSQUET a écrit :
pour télécharger le fichier via HTTP il y a une procédure sympa ici : http://www.windasso.org/cgi-bin/gesmod.exe…sinon pour le lire b est entier ChaineLue est chaine Id est entier = fouvre(Nomfichier) Si Id=-1 ALORS RETOUR //Sauter la 1ere ligne flitligne(Id) BOUCLE b++ ChaineLue=flitligne(Id) SI ChaineLue=EOT alors SORTIR SI EstPair(b) // ChaineLue=le nom de la chaine TV SINON // ChaineLue= le rtsp:// FIN FIN fFerme(Id) |
| |
| |
| | | |
|
| | |
| |
Posté le 11 janvier 2006 - 18:30 |
Le plus simple pour recuperer un fichier c'est de la manière suivante:
SI HTTPRequête("http://listetv.mosite.com/playlist.m3u") ALORS fSauveTexte("playlist.m3u",HTTPDonneRésultat(HTTPRésultat)) SINON Erreur(ErreurInfo(errComplet)) FIN
Ensuite pour ce qui est de te liste, lorsque tu utilises le listeajoute, ajoute un glien. C'est la meilleur facon de stocker l'adresse de ton flux.
Tu peux ensuite récupérer cette adresse de 2 manières: nomliste..valeurmemorisee ou nomliste (tout simplement si tu as coché la case 'Retourne la valeur spécifiée avec la fonction glien')
Mathieu |
| |
| |
| | | |
|
| | |
| |
Posté le 11 janvier 2006 - 18:45 |
Ok merci pour les infos
Mathieu Kurth a écrit :
Le plus simple pour recuperer un fichier c'est de la manière suivante: SI HTTPRequête(" http://listetv.mosite.com/playlist.m3u") ALORS fSauveTexte("playlist.m3u",HTTPDonneRésultat(HTTPRésultat)) SINON Erreur(ErreurInfo(errComplet)) FIN Ensuite pour ce qui est de te liste, lorsque tu utilises le listeajoute, ajoute un glien. C'est la meilleur facon de stocker l'adresse de ton flux. Tu peux ensuite récupérer cette adresse de 2 manières: nomliste..valeurmemorisee ou nomliste (tout simplement si tu as coché la case 'Retourne la valeur spécifiée avec la fonction glien') Mathieu |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|