|
Donc, si j'ai bien compris,
CatchSound intègre carrément le son au programme sans que
celui-ci ait besoin d’aller lire un fichier externe ?
Si c'est bien le cas, il me reste
une question : apparemment, avec CatchSound, il faut donner une
adresse mémoire dans les paramètres pour que le programme aille
y retrouver le son ainsi intégré or, cela, je ne sais pas faire,
tout au moins j'ignore quel genre de chiffre il faut mentionner.
Bien cordialement,
Michel Farfallini
Le 18/04/2018 à 12:06, LavaChri a
écrit :
concernant
le CatchSound/loadSound, je te décris les deux choix qui
justifient leur utilisation, sans vraiment rentrer dans le
détails.
1) Un fichier exécutable et plusieurs fichiers audio.
Dans ton programme tu vas utiliser LoadSound() pour pouvoir jouer
les sons enindiquant le nom des fichiers.
Si tu veux modifier un son, tu n'auras qu'a remplacer un fichier
existant.
2) Un seul fichier exécutable
Les fichiers audios sont intégrés au fichier exécutable dans une
zone nommé DataSection
Pour lire les sons tu vas utiliser CatchSound() en indiquant leur
position pour les trouver.
Pour modifier un son tu devras recompiler le fichier exécutable.
Pour la gestion d'interface graphique, le pureBasic utilise le mot
Gadgetpour désigner les éléments.
Pour la saisie de texte , tu devras utiliser le TextGadget et tu
n'as pas à gérer les touches, c'est une zone de saisie.
Cette façon de faire et similaire à la plupart des autres
langages.
concernant le python, tu n'as apparemment utilisé que le mode
console, qui est qu'une possibilité d'écriture de code de ce
langage.
Tu peux tout a fait, et c'est d'ailleurs le mode le plus répandu,
écrire des milliers de lignes de code dans un fichier et lancer
son exécution.
C'est ce que fait notre ami Quantin, en écrivant un éditeur de
code justement en langage python.
Le 18/04/2018 à 10:42, Michel Farfallini a écrit :
Bonjour,
Merci pour cette réponse très complète et intéressante.
Pour la lecture de fichiers de son, je suis parvenu à le faire
avec des fichiers .ogg en utilisant LoadSoudnet PlaySound.
Bizarrement, avec les fichiers .wav, ça reste muet ; je me
demande s'il n'y a pas une question d'échantillonnage du wave
puisque j'ai vu qu'il y a plusieurs valeurs possibles en wave.
J'ai donc contourné le problème en transformant mes fichiers
.wav en fichiers .ogg avec Audacity. Je n'ai toujours pas bien
compris ce que catchSound peut ajouter à cela et comment
utiliser cette fonction.
En ce qui concerne le choix entre PureBasic et Python, je me
suis posé la question aussi. J'ai été découragé avec Python par
le fait que la console Python de NVDA ne fonctionne pas très
bien, tout au moins ici : pas moyen, par exemple, d'utiliser
l'instruction Input de quelque manière que ce soit. De plus, je
trouve que l'exécution des lignes de programme dès qu'elles sont
écrites présente certes des avantages mais aussi beaucoup
d'inconvénients dès qu'il s'agit d'écrire un programme un peu
long ; cela constitue une sorte de rupture dans l'écriture qui
me gêne, à tout prendre, je préfère avoir à corriger les bugs en
bloc, au bout d'une longue séquence de code.
Pour le moment, je me contente de réécrire, pour qu'ils puissent
continuer à tourner sur les versions les plus récentes de
Windows, de petits programmes comme un annuaire, un dispositif
de consultation de dictionnaire de Scrabble, un agenda, que
j'avais écrits en QuickBasic et dont je me sers toujours. Pour
l'annuaire et le dispositif de consultation d’O D S c'est fait ;
pour l'agenda, mon problème est de trouver le moyen de créer
facilement un petit éditeur de texte car celui que j'avais fait
en QuickBasic est certes transposable mais avec un gros effort
car j'avais dû écrire énormément de lignes pour prévoir les
déplacements du curseur, les effets des touches Backspace et
Sup, etc. Je viens aussi de faire un petit programme de pendule
pour le jeu d'échecs mais, là encore, je voudrais y adjointe un
petit éditeur pour la notation des coups de la partie jouée.
Quelqu'un a essayé de m'expliquer comment créer un éditeur en
utilisant le mode fenêtre mais je m'y perds un peu.
Si je m'orientais vers Python, j'aurais, je le sais, la
possibilité de faire des modules pour NVDA, donc quelque chose
pouvant être utile à d'autres et cela me plairait ; toutefois,
outre que je ne suis pas à l'aise avec la console de NVDA, comme
je l'ai dit, je redoute d'entrer dans des procédures un peu
compliquées pour moi.
Pour information, combien coûte une licence PureBasic ?
Bien cordialement,
Michel Farfallini
Le 18/04/2018 à 10:01, LavaChri a écrit :
Salut,
la version de démonstration de PureBasic comporte quelques
limitation.
De mémoire, un maximum de 1000 ligne de code par programme et
le blocage des appels de fonctions API.
Et justement l'instruction Beep est un appel API, c'est à dire
que c'est un simple appel d'un fonction fournie par Windows.
Je ne connais pas d'instruction PB pouvant générer un son en
définissant une fréquence.
Il est probable que tu trouves des instructions API pour faire
cela mais il te faudra une license pour pouvoir les utiliser
avec PB.
Dans PB, pour jouer des sons tu à la bibliothèque Sound.
Le principe est d'utiliser le fichier d'un son numérisé et de
le jouer.
En utilisant l'instruction LoadSound() tu vas pouvoir charger
le son depuis un fichier
avec l'instruction CatchSound() tu vas pouvoir charger le son
depuis ton programme.
Cela sera utile si tu veux intégrer tes sons dans une section
Data dans le fichier EXE de ton programme.
Je crois que tu devrais dabord te familiariser avec LoadSound.
Nativement seul les fichier Wav peuvent être utilisés, mais tu
peux ajouter l'instruction UseOGGSoundDecoder pour lire les
fichier OGG
Dans l'aide de l'instruction LoadSound tu trouveras un petit
code pour mettre en pratique ce que je viens de t'expliquer.
Pour utiliser les synthèse vocales SAPI4 ou SAPI5, il te
faudra une licence de PureBasic. mais c'est un peu pénible à
faire.
Pour faire parler JAWS ou NVDA, il te faudra aussi une licence
PB et j'ai des code pour cela
PS: je ne connais pas tes ambitions en programmation mais
avant que tu investisses dans une licence de PureBasic, je
pense qu'il serait bon que tu réfléchisse au point suivants:
- Le PB est un langage simple, très rapide, très polyvalent,
générant des interface graphique plutôt accéssible et
possédant une documentation ergonomique.
Ainsi, il est facile de générer un fichier EXE mais tes
connaissances ne seront pas vraiment transposable.
Mais NVDA à décidé d'utiliser le python pour une partie de son
développement...
Alors, même si cela peut paraître un peu plus complexe
d'utiliser ce langage, il me semble raisonnable de les
confronter avant de ce décider.
Le 17/04/2018 à 12:19, Michel Farfallini a écrit :
Bonjour,
Cela me dépasse complètement : Je suis allé voir le forum
sur lequel pointe le lien donné dans le message mais je n'y
comprends rien.
Reprenons :
un bip, effectivement, il semble qu'il faille la version
complète pour le générer car lorsque je frappe beep, même
suivi de parenthèses, j'ai un message m’indiquant que cette
fonction n'existe pas ou qu’elle n'est pas supportée dans la
version de démonstration ;
quant à CatchSound, je ne parviens pas à comprendre comment
employer cette fonction, même avec l'aide de Purebasic. Ce
n'est pas parlant pour moi ; c'est une architecture que mon
esprit n'assimile pas. Quelqu'un pourrait-il m'expliquer
précisément ?
Pour l'instant, la méthode détournée que j'ai trouvée et qui
fonctionne, c'est de créer de petit fichiers au format OGG
avec Audacity et de les faire "interpréter" par mes
programmes mais cela ne correspond pas toujours à ce que je
souhaite : s'il s'agit de délivrer un message vocal
déterminé, par exemple, cela convient puisque j'enregistre
le message, le met au format OGG et le fais lire par le
programme ; mais s'il s'agit de générer un son, là, ça ne va
pas. En QuickBasic il y avait une fonction Sound qu'on
pouvait paramétrer en indiquant une fréquence et une durée
ou alors une fonction Play qui permettait de jouer des notes
données. N'y aurait-il pas ici un équivalent ?
Merci de votre aide.
Michel Farfallini
Le 13/04/2018 à 18:22, Abdel a écrit :
Coucou Michel,
Pour revenir un instant au
Purebasic, y a-t-il un moyen simple de faire entendre un
bip ? En Basic et anciens dérivés, il suffisait d'écrire
beep dans le programme or, cette instruction est
inconnue en Purebasic.
Si tu veux utiliser des fichiers audio, il y a la fonction
catchsound (), voir la doc avec F1.
Autrement, si ton souhait est uniquement d'émettre un beep
et que tu es sous Windows, tu peux utiliser les fonctions
API, comme la fonction Beep_ (fréquence, durée).
Mais pour cela, je pense que tu dois disposer d'une
version complète de PureBasic.
À confirmer...
Voici un sujet qui évoque cette question :
http://forums.purebasic.com/french/viewtopic.php?f=1&t=11003&view=previous
Bien amicalement,
Abdel.
Progliste :
Pour se d�sinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pi�ces jointe sont activ�s leur
taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la
liste ou en priv�, je vous r�pondrez en priv�.
Progliste : Pour se d�sinscrire de la liste :
mailto:[email protected]?subject=unsubscribe Pour
voir les archives de la liste :
http://www.mail-archive.com/[email protected]/ Je vous
rappelle que les pi�ces jointe sont activ�s leur taille est
limit� � 2 MO Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste
ou en priv�, je vous r�pondrez en priv�.
--
LavaChri
Progliste :
Pour se d�sinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille
est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou
en priv�, je vous r�pondrez en priv�.
Progliste :
Pour se d�sinscrire de la liste : mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.
|