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

VB 6 et antérieur Discussion :

connaitre la fin lors de la lecture d'une musique


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 55
    Par défaut connaitre la fin lors de la lecture d'une musique
    bonjour
    j'ai ajouter un control "MMControl" pour lire des sons
    le probleme est que je n'arrive pas a enchainer 2 titres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Command1_Click()
    MMC.FileName = "K:\player\zik\titre.mp3"
    MMC.Command = "open"
    MMC.Command = "play"
     
    End Sub
    mais la je suis obliger de faire un 'close' pour lire un autre fichier
    comment faire le close a la fin du morceau?
    car si je le fais de suite apres la ligne
    le titre de demarre meme pas!!!

    Peut on connaitre le temps d'un morceau?
    Ou y a t il une autre maniere de faire plus simple?

    merci

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Fais une recherche dans ce forum avec mp3, ça vaut le coup
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir,

    Progelect (que je salue) a diablement raison...

    Si tu tiens toutefois à utiliser ton MMControl ;


    Utilise une FileListBox File1 contenant tous tes fichiers (Wav)

    Dans l'évènement Load de ta Form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With MMControl1
        .Notify = False
        .Wait = True
        .Shareable = False
        .DeviceType = "WaveAudio"
        .TimeFormat = 0
      End With
    et Mets ceci dans l'évènement Click de ta Filelistbox File1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MMControl1.filename = file1.file_(file1.listindex)
    mmcontrol1.command = "stop"
    MMControl1.Command = "Open"
    mmcontrol1.command = "Play"
    Et tes morceaux seront joués un après l'autre

    EDIT : Ah oui (j'oublie tout ces jours ci...) Mets la propriété Visible de ton MMControl à False

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut ucfoutu
    pour MaMusique.mp3 -> .DeviceType = "mpegvideo"
    Pour trouver la longueur du morceau ouvert, tu verras en recherchant mp3, qu'il y a plusieurs façons de la recuperer, ce qui te permettras de choisir c'elle qui te convient.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 55
    Par défaut
    voila j'en suis la
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Dim essai As Integer
    Dim titre1 As Variant
    Dim titre2 As Variant
    Dim titre3 As Variant
    Dim titre4 As Variant
     
     
     
    Private Sub Command1_Click()
     
    wmplayer.URL = titre1
    essai = wmplayer.currentMedia.duration
    Label1.Caption = Int(essai)
     
     
    End Sub
     
    Private Sub Form_Load()
    Open "c:\fichier.txt" For Input As #2
                Input #2, titre1
                Input #2, titre2
                Input #2, titre3
                Input #2, titre4
    Close #2
    titre1 = "K:\player\zik\" & titre1 & ".mp3"
    titre2 = "K:\player\zik\" & titre2 & ".mp3"
    titre3 = "K:\player\zik\" & titre3 & ".mp3"
    titre4 = "K:\player\zik\" & titre4 & ".mp3"
     
     
    End Sub
    j'ai mes 4 titres de charger
    le but etan de lancer ces 4 titres les un apres les autres automatiquement
    avec le Command1_Click() je lance le 1er morceau
    2 problemes:
    1)En pas a pas j'obtien bien la durrée du titre dans ma variable essai
    mais en mode normal non, il n'y aurai pas un laps de temps avant que " wmplayer.currentMedia.duration" connaisse sa valeur?

    2)admettons que la durée soit de 150(en seconde si j'ai bien compris) j'ai penser a lancer mon 2eme titres 153 secondes apres(3 secondes de plus pour qu'il y ai un blanc)mon probleme est que je suis pas tres douer avec les timers et que je n'ai pas trouver comment faire.
    ou je pourrai trouver un cours sur les timers afin de ne pas vous faire perdre votre temps a m'expliquer( meme si c'est le but 1er d'un forum lol)?

    merci

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Pour la durée, dans mes contributions, ligne ExtraInfFich.zip : durée d'une musique mp3 et wma , ne se limite pas qu'aux fichier .mp3 ou wma.
    Avec un MMControl
    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
    21
    22
    23
    24
    25
    Private Sub Command1_Click()
    MMControl1.DeviceType = "mpegvideo" 'pour mp3 sa fonctinne aussi
    MMControl1.FileName = "C:\PersoFrancis\00 - Mon coeur mon amour (Version radios).mp3" '********** à adapter ********
    On Error Resume Next
    MMControl1.Wait = True
    MMControl1.Command = "Open"
    DoEvents
    If MMControl1.Length = 0 Or Err.Number <> 0 Then
     On Error GoTo 0
     MsgBox "impossible d'ouvrire le fichier", vbInformation
     Unload Me
     Exit Sub
    End If
    LongSupport = MMControl1.Length 'longueur du fichier
    MMControl1.Notify = True 'pour declancher Private Sub MMControl1_Done
    MMControl1.Command = "Play"
    End Sub
     
    Private Sub MMControl1_Done(NotifyCode As Integer)
    If MMControl1.Position = LongSupport Then
     'detection de la fin de lecture du fichier pour le relancer en boucle
     MMControl1.Command = "Prev": DoEvents ' retour au debut
     MMControl1.Command = "Play" ' rejoue le fichier
    End If
    End Sub
    dans Private Sub MMControl1_Done, apres la detection de la fin de lecture du fichier, toi, tu recharges un nouveau titre et tu le lances.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 539
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 539
    Par défaut
    mais la je suis obliger de faire un 'close' pour lire un autre fichier
    comment faire le close a la fin du morceau?
    Il faut utiliser les notifications et gérer en fonction de cela donc mettre la propriété notify du controle à true et gérer NotifyMessage par exemple.
    Il faut gérer Done comme le décrit ProgElect
    Regarder dans le MSDN; si le controle a fini de lire un fichier il envoit une notification de fin de lecture et c'est à partir de ce moment-là que tu peux ouvrir un autre...
    C'est un peu compliqué à mettre en oeuvre je conseille de consulter le MSDN

    ( désolé je n'avais pas vu totalement le code de ProgElect)

    sinon aussi avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub MMControl1_StopCompleted(Errorcode As Long)
     
    End Sub
    Du moins faire des essais..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/05/2015, 09h37
  2. [MySQL] Utilisation de guillemets lors de la lecture d'une table
    Par Hell dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/06/2009, 14h36
  3. Probleme de memoire lors de la lecture d'une socket
    Par arover dans le forum Réseau
    Réponses: 4
    Dernier message: 02/04/2008, 20h02
  4. Réponses: 1
    Dernier message: 14/09/2006, 15h33
  5. Lenteur lors de la lecture d'une base Access
    Par Lio590 dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/11/2005, 12h24

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