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:progliste-requ...@ml.free.fr?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
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:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les
archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/ 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