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

C++Builder Discussion :

MediaPlayer avec FireMonkey


Sujet :

C++Builder

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 130
    Points : 59
    Points
    59
    Par défaut MediaPlayer avec FireMonkey
    Bonsoir,

    J'aimerais interrompre (ex : au bout de 30 secondes) la lecture d'un audio .wav en utilisant MediaPlayer et Timer, et rejouer l'audio au bout de 30 secondes.
    Ce qui permet de faire une boucle selon la durée du fichier wav et de lire l'audio en permanence.

    En VCL, le code ci-dessous fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    void __fastcall TForm2::Button1Click(TObject *Sender)
    {
     Timer2->Enabled=true;
     MediaPlayer1->FileName ="musique.wav"; 
     MediaPlayer1->Open();
     MediaPlayer1->Play();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm2::Timer2Timer(TObject *Sender)
    {
    Timer2->Interval += 1;
     
    if (Timer2->Interval == 1030) // la lecture recommence au bout de 30 secondes
     {
       MediaPlayer1->Open();
       MediaPlayer1->Play();
       Timer2->Interval = 1000;
     }
    }
    Ce code ne marche pas avec FireMonkey qui ne reconnaît pas MediaPlayer1->Open()

    Quelqu'un a t-il une solution ?

    Merci d'avance

    Cordialement

  2. #2
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    Le composant MediaPlayer est un ActiveX
    il te suffit de regenerer un nouveau composant a partir de cette librairie
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur multiplateformes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 273
    Points : 628
    Points
    628
    Par défaut
    Bonjour magdani,

    TMediaPlayer sous FMX Windows doit fonctionner avec un fichier .wav
    Sous iOS il faut un fichier .caf et .3GP sur Android
    Voir http://docwiki.embarcadero.com/Libra...a.TMediaPlayer
    Voir aussi : http://docwiki.embarcadero.com/RADSt...ans_FireMonkey

    Concernant la durée, la propriété Interval est exprimée en millisecondes (1000 pour 1 sec).
    L’événement OnTimer est déclenché et le compteur repart jusqu'à ce qu l'on désactive le timer.
    Il faut bien lire la doc : http://docwiki.embarcadero.com/Libra...Timer.Interval
    Pour gérer une interruption de lecture, le plus sur est de la faire "manuellement" en stoppant la lecture, désactiver le timer associé et mémorisée le temps restant pour réactiver le timer à la bonne valeur au redémarrage.

    Yves

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 130
    Points : 59
    Points
    59
    Par défaut
    Merci pour vos réponses

    Et à Yves pour les liens

    Cordialement

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 130
    Points : 59
    Points
    59
    Par défaut
    Bonsoir DjmSoftware

    Je ne vois pas comment faire pour régénérer un nouveau composant Activex

    Est-ce cela :

    Dans la barre menu menu :

    Composant + Importer un composant + Importer un contrôle Activex

    Il y a une liste d'une cinquantaine de fichiers ...

    Là, je plante

    Merci

    Cdlt

  6. #6
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    Salut
    Alors tu va dans Menu/Composant/Importer un contrôle ActiveX
    et choisis dans la liste WindowsPlayer Version 1.0
    Installe et compile le groupe de composants dans la Palette de ton choix
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur multiplateformes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 273
    Points : 628
    Points
    628
    Par défaut
    Active X est effectivement utilisé par TMediaPlayer dans sa version VCL. Mais ActiveX est spécifique de Windows alors que FMX est multiplateforme : c'est plus logique de passer par la VCL pour utiliser un AvtiveX. Je ne suis d'ailleurs pas sur que cela fonctionne et je ne comprends pas l’intérêt. Avec un simple Timer tu dois pouvoir résoudre ton problème facilement comme indiqué plus haut ?
    Peut-être n'ai-je pas tout compris...

    Yves

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 130
    Points : 59
    Points
    59
    Par défaut
    Bonsoir,

    J'ai essayé d'importer un composant Activex mais ça ne marche pas.

    Effectivement, Activex ne fonctionne qu'avec la VCL.

    A moins que quelque chose ne m'échappe.

    Je vais essayer de régler mon problème différemment en suivant bien les tutoriels FireMonkey

    Cordialement

  9. #9
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    FireMonkey est conçu pour faire du multiplateforme.
    Les ActiveX sont des spécialités de Windows basé sur de OLE2. et par conséquent non affichés dans la palette de composant.
    concernant l'import de composants basés sur des bibliothèques de Types ou ActiveX (Spécialités Windows) Si tu suit les informations que je t'ai communiqués dans mon précédent post cela fonctionne très bien, pour ma part j'utilise souvent des ActivesX ou des composants basés sur des bibliotèques de Types.
    Certains bibliothèques de types comme les composants Office ne sont plus actualisés depuis fort longtemps chez Embarcadero (Word 2000.........)
    si tes applications doivent rester compatibles avec les dernières versions des composants de windows ou Office la méthode que je t'ai proposée est la seule qui fonctionne avec RadStudio.
    pour ma part je développe uniquement pour le plaisir et ne suis pas intéressé par la programmation d'applications Mobiles (IOS,Android), donc Firemonkey ne m'intéresse pas plus que cela.

    Bien cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 130
    Points : 59
    Points
    59
    Par défaut
    Bonsoir DjmSoftware

    Je suis autodidacte (mon métier n'était pas le développement) et développe aussi pour le plaisir.

    J'ai commencé par le Basic, Qbasic et TurboPascal. C'est vieux ... certains diraient la préhistoire.

    J'ai fait des applis en Delphi pour ma boîte et mon association ... et pour moi (genre money, petits jeux ...)

    Retraité, je me lance dans C++ et notamment Builder qui me rappelle Delphi.

    J'ai regardé QT et ça ne m'a pas vraiment branché.

    J'ai importé WindowsPlayer dans Activex comme tu l'as indiqué, ça marche ...

    Par contre, il y a des composants dans FireMonkey qui ne sont pas dans la VCL

    Notamment Glyph pour les listes d'images et qui est bien pratique . A moins qu'il y ait un composant analogue en VCL ?


    Bien cordialement

Discussions similaires

  1. Problème avec Firemonkey
    Par Teddy dans le forum Débuter
    Réponses: 7
    Dernier message: 14/02/2014, 08h47
  2. Réponses: 0
    Dernier message: 10/04/2013, 20h17
  3. Réponses: 7
    Dernier message: 22/05/2012, 09h53
  4. Application BBD avec Firemonkey XE2
    Par MickSou dans le forum Composants FMX
    Réponses: 5
    Dernier message: 09/02/2012, 14h28
  5. Utiliser un mediaplayer avec pleins de boutons
    Par pmithrandir dans le forum Composants graphiques
    Réponses: 0
    Dernier message: 24/06/2011, 12h31

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