FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
amélioration de la commande sound Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
amélioration de la commande sound Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
amélioration de la commande sound Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
amélioration de la commande sound Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
amélioration de la commande sound Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
amélioration de la commande sound Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
amélioration de la commande sound Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
amélioration de la commande sound Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
amélioration de la commande sound Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
amélioration de la commande sound Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
amélioration de la commande sound Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
amélioration de la commande sound Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
amélioration de la commande sound Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
amélioration de la commande sound Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
amélioration de la commande sound Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

 

 amélioration de la commande sound

Aller en bas 
4 participants
AuteurMessage
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

amélioration de la commande sound Empty
MessageSujet: amélioration de la commande sound   amélioration de la commande sound EmptyVen 5 Juin 2015 - 18:08

Bonjour à tous, Smile
Je sais, cela a déjà été demandé, mais une commande comme SOUND_STOP N serait utile et éviterait de faire un DELETE N pour stopper le SOUND qui PLAY!  Laughing
Mais je crois que cela obligerait peut-être Jack à changer la commande PLAY N en SOUND_PLAY N, car dans la même optique, je verrais bien aussi une commande du genre SOUND_LOOP N qui permettrait de lire le son en boucle.

Bon, cela fait un bon moment que je suis dessus pour trouver une solution à ce problème en évitant de passer par la dll KGF de Klaus, mais en utilisant les dll internes à Windows. Enfin, bref, après avoir dégotté un petit programme qui ne fonctionnait pas du tout au fin fond du forum, impossible de me souvenir où cela était ( pale  Question ), et des jours à parcourir des sites parlant de dll et d'api Windows, (plusieurs boites de doliprane y sont passées aussi!  confused  Embarassed  Crying or Very sad  affraid  drunken ) j'ai réussi à faire fonctionner tout ça, avec un petit programme qui permet d'avoir une commande play, une commande loop et un commande stop pour les sons. Le revers, c'est que ça ne fonctionne qu'avec des fichiers wav et pas tous; donc on oublie les mp3  Evil or Very Mad . Mais le principe est là!
cheers
Code:
dim res%,ad%,fg%,son$
label ouvrir,stopper,jouer,boucler,quitter
border_small 0:height 0,59
button 1:caption 1,"open":on_click 1,ouvrir
button 2:caption 2,"stop":on_click 2,stopper:left 2,width(1)+5
button 3:caption 3,"play":on_click 3,jouer  :left 3,left(2)+width(2)+5
button 4:caption 4,"loop":on_click 4,boucler:left 4,left(3)+width(3)+5
on_close 0,quitter
end

sub adresse()
   if file_exists(son$)=0 then exit_sub
   dll_on "kernel32.dll"
   ad%=adr(son$):res%=DLL_CALL3("RtlMoveMemory",adr(ad%),ad%,4)
   dll_off
   dll_on "winmm.dll"
end_sub

ouvrir:
   if ad%>0 then dll_off
   ad%=0
   open_dialog 5
   filter 5,"fichiers sons|*.wav"
   son$=file_name$(5)
   if son$<>"_" then adresse()
   delete 5
return

stopper:
   if ad%=0 then return
   caption 0,"":fg%=0:res%=DLL_CALL2("sndPlaySoundA",fg%,fg%):return

jouer:
   if ad%=0 then return
   caption 0,son$:fg%=131072+16+1:res%=DLL_CALL2("sndPlaySoundA",ad%,fg%):return

boucler:
   if ad%=0 then return
   caption 0,son$:fg%=131072+16+8+1:res%=DLL_CALL2("sndPlaySoundA",ad%,fg%):return

quitter:
   if ad%>0 then dll_off
   terminate

D'abord on utilise open pour chercher un fichier wave et puis on fait play ou loop et on stop quand on veut! lol!

A+ Wink Wink Wink
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

amélioration de la commande sound Empty
MessageSujet: Re: amélioration de la commande sound   amélioration de la commande sound EmptyVen 5 Juin 2015 - 19:09

Génial Bignono. Très simple d'utilisation et ça marche super bien.
Le seul truc dommage c'est que ce soit limité au wav.
Si tu trouves aussi la solution pour pouvoir lire les mp3, pouvoir les passer en boucle ou les arréter, ce serait interessant aussi.
Le lecteur lit-il d'autres formats que mp3 ?
Revenir en haut Aller en bas
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

amélioration de la commande sound Empty
MessageSujet: Re: amélioration de la commande sound   amélioration de la commande sound EmptyVen 5 Juin 2015 - 21:31

c'est génial ton truc ! Je prend direct !
Je trouve dommage de jack ne s'occuppe pas d'ajouter ces commandes, play / stop / pause / boucle pour du son (oui play existe déjà)

y a t'il une fonction pause ?

Félicitation ! cheers cheers cheers cheers

Moi je ne trouve pas que la limitation au wav me dérange pour un jeux. Il suffi de convertir le fichier son.

Pour ceux qui veulent l'utiliser pour autre chose par contre ...
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

amélioration de la commande sound Empty
MessageSujet: Re: amélioration de la commande sound   amélioration de la commande sound EmptyVen 5 Juin 2015 - 21:43

@jimx78:
tu peux regarder les fonctions "Gestion du Windows Media Player" dans KGF.dll. Là, tu as tout ce qu'il faut: pause, bien sûr, mais également la gestion du volume, muet, etc.

Le pari de Bignono était de faire tout cela sans KGF.dll. Mais il utilise une DLL de Windows...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

amélioration de la commande sound Empty
MessageSujet: Re: amélioration de la commande sound   amélioration de la commande sound EmptyVen 5 Juin 2015 - 21:46

Tu as raisons c'est génial pour les bruitages par exemple, mais bon si tu veux mettre une musique assez longue en wav, ça fait tout de suite de gros fichiers
Là actuellement avec cette nouvelle possibilité, je dirais cette utilisation pour les wav et lancer un player par la DLL de Klaus pour la musique.
Revenir en haut Aller en bas
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

amélioration de la commande sound Empty
MessageSujet: Re: amélioration de la commande sound   amélioration de la commande sound EmptyVen 5 Juin 2015 - 22:32

j'ai utiliser ta dll pour la premiere fois Klaus, et c'est un petit code à rajouter, mais un grand pas pour développer !

Par contre le lien de ta signature vers KGF.dll ne fonctionne pas, Panoramic été incapable de load la dll. Depuis je les pris directement sur ton mydrive, ça marche niquel.

Autre : J'ai au moment du terminate une erreur de panoramic qui a cessé de fonctionner..

Je vais tester avec la fonction pour détruire la form 0, je les vus, mais je sais plus ou.

Je ne crois pas que KGF gère les sons en boucles par contre, je vais voir

EDIT : res% = dll_call1("LoopPlayer",x%) Trouver !

EDIT 2 : res% = dll_call1("KillProcessByHandle",handle(0)) trouver aussi

REMARQUE :
Code:
quitter_programme:
timer_off_all
' dll_off : ' Si je le met ici, la commande suivante ne marche pas.
res% = dll_call1("KillProcessByHandle",handle(0))
wait 100
terminate
return

Quand je quitte, j'ai une erreur si je met cela, je decharge comment la dll ?
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

amélioration de la commande sound Empty
MessageSujet: Re: amélioration de la commande sound   amélioration de la commande sound EmptyVen 5 Juin 2015 - 23:49

Citation :
Par contre le lien de ta signature vers KGF.dll ne fonctionne pas, Panoramic été incapable de load la dll.
Bizarre. Si je clique sur cette icône dans ma signature, le téléchargement se passe bien... Réessaie !

Citation :
Quand je quitte, j'ai une erreur si je met cela, je decharge comment la dll ?
Il faut que tu termines comme ceci:
Code:
quitter_programme:
timer_off_all
res% = dll_call1("KillProcessByHandle",handle(0))
' on n'arrivera jamais ici !
' a fonction KillProcessByHandle ne retourne jamais
' puisqu'elle tue le processus !
KGF.dll est déchargée automatiquement, par KillProcessByHandle. Par contre, il est prudent de décharger via la fonction UnloadDLL toutes les DLLs dynamiques chargées par LoadDLL. C'est juste une précaution, une règle générale. En réalité, la fonction KillProcessByHandle  décharge tout, absolument tout ce qui a été chargé par le processus qu'elle tue.

Le petit code ci-dessus, tu le places idéalement dans la routine évènement ON_CLOSE de la form 0. Comme ça, tu es certain que ce sera appelé dans tous les cas, que tu fermes la form par l'action d'un bouton ou par un clic sur la croix rouge. Et ainsi, le programme termine proprement.

Donc, ça veut dire que le label quitter_programme doit être appelée comme évènement ON_CLOSE. S'il s'agit de l'évènement ON_CLICK d'un bouton, il faut faire ceci:
Code:

label Close0, quitter_programme
on_close0,Close0
button 1 : caption 1,"Quitter" : on_click 1,quitter_programme
...
dll_on "KGF.dll"
end

Close0:
timer_off_all
res% = dll_call1("KillProcessByHandle",handle(0))
' on n'arrivera jamais ici !
' a fonction KillProcessByHandle ne retourne jamais
' puisqu'elle tue le processus !

quitter_programme:
terminate
' on n'arrivera jamais ici !
' la commande Terminate provoque l'appel de l'évènement Close0 !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





amélioration de la commande sound Empty
MessageSujet: Re: amélioration de la commande sound   amélioration de la commande sound Empty

Revenir en haut Aller en bas
 
amélioration de la commande sound
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Amélioration de la commande HINT
» Amélioration de la commande HINT
» Demande d'amélioration commande "SearchStringInTextFile".
» Autre amélioration de la commande HINT
» sound

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: