En réponse à : "Merci de poster un code avec un lien vers un flac stp."
Il faut un fichier exemple en flac d’au moins 6mn30s soit environ 30 Mo pour constater l’arrêt de la musique.
En effet l’arrêt de la musique se produit exactement au bout de 6 mn 03s
Difficile de trouver du Flac gratuit sur Internet de cette taille, et en fichier joint c’est trop volumineux.
La meilleure solution pour avoir facilement un fichier flac : le fabriquer soit même. Dix minutes suffisent.
L’adresse
http://flacfrontend.sourceforge.net/ permet de télécharger un encoder flac ultra léger(900k une fois installé) du nom de Flacfrontend.
Une fois le logiciel installé l’ouvrir puis ... il est en anglais ...
Cliquez sur «Add files» ( le bouton en haut à droite) pour choisir le fichier à encoder en Flac.
Cliquez sur «Encode» (bouton en bas à gauche) pour lancer l’encodage.
Cliquez sur «Exit» (bouton en bas à droite) une fois l’encodage terminé pour Quitter.
Le nouveau fichier audio en flac sera situé dans le même répertoire que le fichier avant encodage.
Voici le code qui aboutit à un arrêt de la lecture des fichiers Flac de durée supérieure à 6mn 3s ==>
Code : Tout sélectionner
; Programme minimaliste de lecture de fichier audio *.flac
; Il met en évidence un BUG : au bout de 6mn 03 sec soit 363 secondes,
; le morceau s'arrête quand l'option #PB_Sound_Streaming
; de LoadSound() n'est pas utilisée.
;- --- INITIALISATION -------------------------------------
OpenConsole("Jouer du *.flac")
If InitSound() <> 0
PrintN("Initialisation du son OK")
UseFLACSoundDecoder() : Gosub ChoixFlac
EndIf
;- --- B O U C L E ----------------------------------------
Repeat
Etat = SoundStatus(NumMus)
If Etat = #PB_Sound_Stopped
HeureFin$ = FormatDate("%hh:%ii:%ss", Date())
PrintN(" Heure de Fin du morceau : " + HeureFin$)
Fin = 1
EndIf
Until Fin = 1
Delay(30000) ; Pour lire les heures affichés sur l’écran console avant disparition
End
;- --- G O S U B ------------------------------------------
ChoixFlac: ; Choix du Fichier *.flac
ChoixFic$ = OpenFileRequester("Choix du morceau *.flac", "", "Musiques (Flac) |*.Flac",0)
If ChoixFic$ <> ""
NumMus = LoadSound(#PB_Any, ChoixFic$);, #PB_Sound_Streaming)
PlaySound(NumMus)
HeureDeb$ = FormatDate("%hh:%ii:%ss", Date())
PrintN(" Heure de Debut du morceau : " + HeureDeb$)
EndIf
Return
Merci pour votre réponse
Vladimir
TazNormand a écrit :J'ai edité ton topic pour mettre ton code entre les balises [ code] [ /code]