IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Son et vidéo avec Lazarus


Sujet :

Lazarus Pascal

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 52
    Points : 49
    Points
    49
    Par défaut Son et vidéo avec Lazarus
    Il y a déjà pas mal d'années de cela, j'ai demandé de l'aide pour jouer de la video et (surtout pour moi) du son sous Lazarus, si possible avec quelque chose comme le composant TMediaPlayer de Delphi. Mais je n'ai pas eu de réponse.

    Je viens de parcourir le Web. Il y a beaucoup de propositions (en anglais) mais je n'y comprends absolument rien. On y présente, je suppose comme connu, des tas de choses que je connais absolument pas. Tout cela ressemble plutôt à une discussion entre initiés... Je suis une poule qui a trouvé un couteau...

    Bon, je relance le truc. Merci d'avance pour toute aide.

  2. #2
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Citation Envoyé par pedestre Voir le message
    Il y a déjà pas mal d'années de cela, j'ai demandé de l'aide pour jouer de la video et (surtout pour moi) du son sous Lazarus, si possible avec quelque chose comme le composant TMediaPlayer de Delphi. Mais je n'ai pas eu de réponse.
    Bonjour,

    J'ai essayé il y a déjà pas mal de temps cette bibliothèque pour VLC (VideoLan Player qui doit être installé autant que je me souvienne, mais c'est à vérifier). Comme VLC est très abouti, pouvoir l'utiliser depuis Lazarus est très agréable.

    Voici le lien : http://prog.olsztyn.pl/paslibvlc/

    Il y a des démonstrations à exploiter et le produit est bien suivi (dernière version : 25/05/2016).

    Cordialement,

    Gilles

    PS : j'ai des idées pour le son, mais je cherche les références
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  3. #3
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 700
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 700
    Points : 15 043
    Points
    15 043
    Par défaut
    Salut,

    il y a un exemple (qui m'a à moitié satisfait, mais sans doute ne l'ai-je pas creusé à fond) dans le dossier d'install de Lazarus/version/components/mplayer/examples

    Et comme dit Gilles, il y a aussi quelque chose pour vlc (pas testé) : Lazarus/version/components/vlc

    Pour le son, pas d'idée (pas fait de recherches), mais si je devais faire, je me tournerais vers la librairie BASS (utilisée dans une vie antérieure, sous Windows2000 et Delphi7, trop bien !)
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  4. #4
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Salut pour le son il y a la librairie UOS (compatible win et linux) http://wiki.freepascal.org/uos sinon OpenAL
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  5. #5
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Voici ce que j'ai trouvé pour le son :

    Delphi ASIO & VST Packages


    Destination : Delphi, Lazarus
    Sources : https://sourceforge.net/projects/delphiasiovst/
    Catégorie : son
    Licence : GNU LGPLv2 – Mozilla 1.1
    Version : 1.3
    Mise à jour : 01/02/2015
    Description : création de plugins VST ou d’applications ASIO. Algorithmes pour des effets divers.

    Audorra


    Destination : Delphi, Lazarus
    Sources : https://sourceforge.net/projects/audorra/
    Catégorie : son
    Licence : Mozilla 1.1
    Version : 0.5.2_Beta
    Mise à jour : 13/08/2011
    Description : Utilisation statique ou dynamique de plugins (drivers audio, décodeurs). Playback par flux et effets 3D.

    UOS


    Destination : Lazarus
    Sources : https://github.com/fredvs/uos
    Catégorie : son
    Licence : LGPL modifiée
    Version : 21
    Mise à jour : 9/05/2016
    Description : bibliothèque pour lire et enregistrer les sons, audio-streaming, effets spéciaux…

    Cordialement
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  6. #6
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Et à présent pour la vidéo :

    Delphi FFmpeg VCL Components

    Destination : Delphi, Free Pascal
    Sources : http://www.delphiffmpeg.com/headers/
    Catégorie : vidéo
    Licence : -
    Version : 2.6.4
    Mise à jour : 2016
    Description : en-têtes et exemples pour FFmpeg


    PasLibVlc

    Destination : Delphi, Free Pascal, Lazarus
    Sources : http://prog.olsztyn.pl/paslibvlc/
    Catégorie : vidéo
    Licence : GNU
    Version : 2.2.4
    Mise à jour : 15/05/2016
    Description : interfaçage avec VideoLAN (VLC)

    DsPack

    Destination : Delphi, Lazarus
    Sources : https://code.google.com/archive/p/dspack/ et https://github.com/TheBlackSheep/DSPack-Lazarus (Lazarus)
    Catégorie : vidéo
    Licence : Mozilla 1.1
    Version : 2.3.4
    Mise à jour : 25/04/2010 et 29/04/2012
    Description : ensemble de composants et de classes pour des applications multimédias (avec DirectX)

    Il ne reste qu'à les tester .

    Cordialement,

    Gilles
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  7. #7
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 939
    Points : 9 251
    Points
    9 251
    Par défaut
    hello,
    pour l'audio il y a aussi la bibliothèque ACS (Audio Components Suite for Lazarus/Delphi) disponible ici

    acs
    Audio Components Suite for Lazarus/Delphi

    Audio in/out Windows: Standard (Wawemapper), DirectSound Linux: Standard (/dev/dsp), ALSA, AO Live

    File in/out Crossplatform: FLAC, Vorbis, RIFF (WAV), MPEG-3 (MP3), CD-Audio Windows: DirectShow, Monkey's Audio (APE)

    Audio mixers

    Audio sample converters
    Audio indicators
    L'avantage de cette bibliothèque est qu'elle se présente sous forme de composants.
    J'ai déjà utilisé aussi uos qui incorpore les dll (ou les so sous linux) nécessaires à jouer la plupart des types de fichiers audio. Son auteur Fredvs est très réactif quand on lui signale un bug.
    Pour la vidéo dans lazarus 1.6 il y a le paquet lazvlc (dans Lazarusxxxx/components/vlc) qui utilise la libvlc de vlc et sa démo testlclvlc. Voici ce que cela donne :
    Nom : lazvlc.jpg
Affichages : 1324
Taille : 35,1 Ko

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  8. #8
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 700
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 700
    Points : 15 043
    Points
    15 043
    Par défaut
    Yep !
    Citation Envoyé par jurassic pork Voir le message
    hello,
    pour l'audio il y a aussi la bibliothèque ACS (Audio Components Suite for Lazarus/Delphi) disponible ici

    L'avantage de cette bibliothèque est qu'elle se présente sous forme de composants.
    Ton lien n'en est pas un, man ! Même si c'est bleu et souligné c'est non cliquable Enfin, si, c'est cliquable mais ça va nulle part : acte manqué ? Lapsus révélateur ? Lire ci-dessous :

    Bon, un peu de recherche m'a permis de découvrir un site, le souci c'est que ça n'a pas l'air très à jour : sur la page "What is ACS ?" on peut lire :
    IDEs supported: Delphi 6, 7, Kylix 1, 2, 3
    et le lien vers le "Developers' forum" nous indique que ce domaine (celui du forum) est à vendre alors qu'on peut lire sur la page "What's New"
    ACS Forum. Being asked about it quite often, I have mounted a forum for the ACS users. The link is available on the project main page.
    Dommage...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  9. #9
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 939
    Points : 9 251
    Points
    9 251
    Par défaut
    hello Jipété,
    je viens de corriger le lien dans mon message précédent
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  10. #10
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 700
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 700
    Points : 15 043
    Points
    15 043
    Par défaut
    Io, JP !
    Citation Envoyé par jurassic pork Voir le message
    hello Jipété,
    je viens de corriger le lien dans mon message précédent
    d'autant plus que ton lien pointe sur un projet plus récent que mon lien (même si c'est le même projet -- comparez le readme.txt dans ton_lien/docs et la page "What is ACS ?" de mon lien).
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 52
    Points : 49
    Points
    49
    Par défaut Son et video avec Lazarus
    Merci pour toutes vos réponses. Malheureusement mon niveau est bien trop insuffisant pour que je puisse en tirer partie. Comme je l'ai indiqué j'aurais aimé disposer d'un composant analogue à TMediaPlayer de Delphi que je puisse installer sans trop de peine sur Lazarus (je programme sous Linux/Ubuntu). J'ai bien essayé de parcourir les adresses indiquées, mais j'ai trouvé un nombre incalculable de choses dont j'ignore tout de l'utilité réelle et de la façon d'installer et s'en servir et sans explications claires que je puisse exploiter. Je suis désolé, mais je ne peux qu'avouer mon impuissance et abandonner. Je ne peux évidemment pas encore signaler ma question comme résolue...

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    je pense que tu devrais trouver ton bonheur ici
    Désolé pour cette réponse tardive.

  13. #13
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 700
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 700
    Points : 15 043
    Points
    15 043
    Par défaut
    Control avec un "l" (la lettre "elle") au bout ! Lien corrigé ici :
    Citation Envoyé par AlphaFox Voir le message
    je pense que tu devrais trouver ton bonheur ici
    Quand on poste un lien, merci de le vérifier, et de le corriger au besoin...


    Et sinon, le composant en question c'est ni plus ni moins celui dont j'ai déjà parlé le 23 juin...
    Extrait de l'introduction du lien :
    TMPlayerControl is a LCL control that embeds "mplayer" - a movie player available on several platforms.
    Extrait du readme.txt du composant dans le dossier "components/mplayer" de l'install Lazarus :
    TMPlayerControl is a LCL control that embeds "mplayer" a movie player.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Control avec un "l" (la lettre "elle") au bout ! Lien corrigé ici :
    Quand on poste un lien, merci de le vérifier, et de le corriger au besoin...
    Mille excuses et désolé de t'avoir mis dans un tel état de furie :J'ai suivi ton conseil.

    Citation Envoyé par Jipété Voir le message
    Et sinon, le composant en question c'est ni plus ni moins celui dont j'ai déjà parlé le 23 juin...
    Effectivement, je suis passé à côté, au temps pour moi.

    Citation Envoyé par Jipété Voir le message
    Extrait du readme.txt du composant dans le dossier "components/mplayer" de l'install Lazarus :
    Pour info et après vérification, ce composant n'est pas livré avec la distribution codetyphon ( version 5.80 incluse).

    L'auteur du post a du passer à côté car c'est le composant qui se rapproche le plus du TMediaplayer de delphi.

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 52
    Points : 49
    Points
    49
    Par défaut Son avec Lazarus
    Rebonjour à tous

    J'ai finalement téléchargé et installé TMPlayer sur Lazarus.

    Cela fonctionne bien à un détail près: Je désire pouvoir jouer en boucle un morceau de musique. Ayant vu la propriété "loop", j'ai pensé que cela était la solution de mon problème. Malheureusement quelle que soit la valeur (-1, 0, 1, 2, 3, ..) affectée à cette propriété il n'y a aucun changement: une seule exécution par le "play"...

    Merci d'avance pour toute réponse

    Pierre

  16. #16
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 700
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 700
    Points : 15 043
    Points
    15 043
    Par défaut
    Salut,

    dans le code du composant on trouve ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        property Loop: integer read FLoop write SetLoop; // -1 no, 0 forever, 1 once, 2 twice, ...
    et plus loin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TCustomMPlayerControl.SetLoop(const AValue: integer);
    begin
      if FLoop=AValue then exit;
      FLoop:=AValue;
      if Running then
        SendMPlayerCommand('loop '+IntToStr(FLoop));
    end;
    J'en conclus sans avoir fait aucun test que la valeur attribuée à la propriété "Loop" devrait l'être pendant que le player joue (if Running then...).

    À voir...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 52
    Points : 49
    Points
    49
    Par défaut Son et vidéo avec Lazarus
    Rebonjour et merci, Jipété.

    Magnifique, ça marche !

    Il suffit pour le loop de faire suivre l'instruction "play" par "loop:=x" (x: nb. de "loopings"). Dans l'exécution, la lecture (playing) du fichier est lancée et on passe immédiatement à l'instruction suivante, c'est-à-dire à l'affectation de la valeur du loop qui doit s'exécuter pendant ce "playing", comme tu l'as remarqué.

    C'est tout de même assez bizarre: en particulier affecter une valeur à loop dans l'inspecteur d'objets n'a aucun effet, semble-t-il bien...

    Enfin, un dernier point: La valeur 0 devrait donner un bouclage indéfini, or ce n'est pas ce que je constate: au contraire, cette valeur ne donne qu'une seule lecture (celle qui a été lancée avant l'instruction loop=0)! Bon, ce n'est pas bien grave: il suffit de passer une valeur suffisamment grande pour éviter un arrêt prématuré.

    Cordialement

    Pierre

    PS. J'attends encore quelques jours pour marquer cette discussion résolue.

  18. #18
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 700
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 700
    Points : 15 043
    Points
    15 043
    Par défaut
    Yop !

    Content de t'avoir mis sur la piste

    2 trucs, cependant :
    Citation Envoyé par pedestre Voir le message
    C'est tout de même assez bizarre: en particulier affecter une valeur à loop dans l'inspecteur d'objets n'a aucun effet, semble-t-il bien...
    Ben vi, et non, ça n'est pas bizarre : dans l'inspecteur d'objets le programme ne s'exécute pas et donc le player n'est pas "running", or tu as vu le test, "if running then..."

    Citation Envoyé par pedestre Voir le message
    Enfin, un dernier point: La valeur 0 devrait donner un bouclage indéfini, or ce n'est pas ce que je constate: au contraire, cette valeur ne donne qu'une seule lecture (celle qui a été lancée avant l'instruction loop=0)! Bon, ce n'est pas bien grave: il suffit de passer une valeur suffisamment grande pour éviter un arrêt prématuré.
    Ça par contre, c'est vraiment bizarre.
    Tu devrais essayer (enfin, c'est ce que je tenterais si je bricolais là-dedans) de rajouter une petite pause entre les deux instructions, entre le play et le loop:=xxx, un truc genre Application.ProcessMessages ou un Sleep(100), pour laisser le temps au player de vraiment démarrer ; ça a peut-être son importance.
    Enfin, j'dis ça j'dis rien, hein...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 52
    Points : 49
    Points
    49
    Par défaut
    Jipété:

    ProcessMessages ou Sleep ne donnent rien (ça me paraît assez normal car une valeur de loop différente de 0 est reconnue et interprétée sans qu'il soit nécessaire de faire un retardement et pourquoi 0 demanderait un traitement différent ?).

    J'ai trouvé la solution suivante: faire suivre le "play" de la suite des 2 instructions "loop:=1; loop:=0". Cela fonctionne bien à condition toutefois que la valeur de loop dans l'inspecteur d'objets ne soit pas 1 (je mets loop à 0 dans l'inspecteur d'objets et l'instruction "loop:=1" va bien donner quelque chose puisque la nouvelle valeur (1) est différente de l'ancienne - voir le code de la procedure TCustomMPlayerControl.SetLoop que tu m'as envoyé: si on a mis loop à 1 dans l'inspecteur d'objets, cette valeur est quand même entrée d'une certaine façon et lorsqu'on cherche à entrer un nouvel 1 on a "exit").

    Ainsi il semble bien que l'instruction loop:=0 soit acceptée et fonctionne comme requis à condition que loop ait été mis auparavant à une valeur strictement supérieure à 0, cette valeur préalable devant être aussi entrée lorsqu'on est en "running" .

    Tout ceci est tout de même peu satisfaisant ou alors, il y a vraiment quelque chose qui m'échappe.

    Cela m'étonne quand même puisque le composant TMPlayerContol utilise mplayer (du moins, je le pense) et l'utilisation de mplayer en ligne de commande avec loop (il suffit de faire suivre le path du fichier à jouer de "-loop xx") fonctionne sans problème aussi bien avec xx=1,2,.. qu'avec xx=0...

    Cordialement

    Pierre

  20. #20
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 700
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 700
    Points : 15 043
    Points
    15 043
    Par défaut
    Citation Envoyé par pedestre Voir le message
    ProcessMessages ou Sleep ne donnent rien (ça me paraît assez normal car une valeur de loop différente de 0 est reconnue et interprétée sans qu'il soit nécessaire de faire un retardement et pourquoi 0 demanderait un traitement différent ?).
    J'en sais rien, c'était vraiment pour te faire tester parce que je n'ai pas trop le temps de me pencher là-dessus...
    Je pensais qu'il fallait un peu de temps au composant pour charger le fichier (parfois très gros) et qu'ensuite il prendrait en compte les options, bah, une idée comme une autre, en tout cas un grand bravo puisque tu as pu trouver la solution


    Citation Envoyé par pedestre Voir le message
    J'ai trouvé la solution suivante: faire suivre le "play" de la suite des 2 instructions "loop:=1; loop:=0". Cela fonctionne bien à condition toutefois que la valeur de loop dans l'inspecteur d'objets ne soit pas 1 (je mets loop à 0 dans l'inspecteur d'objets et l'instruction "loop:=1" va bien donner quelque chose puisque la nouvelle valeur (1) est différente de l'ancienne - voir le code de la procedure TCustomMPlayerControl.SetLoop que tu m'as envoyé: si on a mis loop à 1 dans l'inspecteur d'objets, cette valeur est quand même entrée d'une certaine façon et lorsqu'on cherche à entrer un nouvel 1 on a "exit").

    Ainsi il semble bien que l'instruction loop:=0 soit acceptée et fonctionne comme requis à condition que loop ait été mis auparavant à une valeur strictement supérieure à 0, cette valeur préalable devant être aussi entrée lorsqu'on est en "running".
    Et je me demande même s'il n'y aurait pas moyen de forcer un "default", là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        property Loop: integer read FLoop write SetLoop default -1; // -1 no, 0 forever, 1 once, 2 twice, ...
    Comme ça le composant arriverait avec FLoop positionné à une valeur et le code n'aurait plus qu'à passer une fois une "value", la bonne, celle voulue en tenant compte de ma remarque ci-après et roule ma poule !
    Nan ?

    Citation Envoyé par pedestre Voir le message
    Cela m'étonne quand même puisque le composant TMPlayerContol utilise mplayer (du moins, je le pense) et l'utilisation de mplayer en ligne de commande avec loop (il suffit de faire suivre le path du fichier à jouer de "-loop xx") fonctionne sans problème aussi bien avec xx=1,2,.. qu'avec xx=0...
    En fait, pour bien comprendre ce compteur de loops, il faut remplacer dans sa tête le mot "loop" par le mot "pass", en tout cas c'est ce que je constate en LdC sous Linux : si je mets -loop 1 c'est comme si je ne mettais pas l'option : ça joue le fichier 1 fois (= 1 pass) ; par contre, si je mets -loop 2, il va être joué 2 fois, et si je mets 0 ça ne s'arrête pas.

    Ce qui est rigolo, c'est que si je mets -1 le fichier est quand même joué une fois.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/05/2013, 01h05
  2. publier application avec sons et vidéo
    Par GranPicS dans le forum VB.NET
    Réponses: 10
    Dernier message: 23/06/2009, 13h16
  3. Ouvrir un fichier vidéo avec son logiciel par defaut sous windows
    Par dreamnos dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 04/05/2008, 17h54
  4. Réponses: 2
    Dernier message: 02/05/2008, 08h47
  5. mail avec son et vidéo
    Par yanice dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 20/04/2007, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo