Probleme Catchsound

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
drfloyd
Messages : 232
Inscription : mar. 21/août/2007 13:30
Contact :

Probleme Catchsound

Message par drfloyd »

Bonjour,

J'ai besoin d'aide, appel aux experts du PURE BASIC !

Pour inserer des sons WAV dans mon jeu j'utilise cette technique :

Code : Tout sélectionner

CatchSound (0,?sound0)
CatchSound (1,?sound1)
CatchSound (2,?sound2)
CatchSound (3,?sound3)
etc.......


datasection

  sound0:
  IncludeBinary "beep.wav"
  sound1:
  IncludeBinary "valid.wav"
  sound2:
  IncludeBinary "valid2.wav"
  sound3:
  IncludeBinary "faux.wav"
  etc....

enddatasection

Bon, tout allait bien. Mais depuis aujourd'hui ca ne fonctionne plus... j'en ai rajouté pas mal et je suis arrivé a environ 20 sons pour environ 120Mo, et quand je lance mon PRG voici le msg d'erreur :

Image

A priori un probleme de memoire ? Car des que je retire 1 ou 2 .WAV le message disparait.... mais bon 120Mo de WAV ce n'est pas énorme ?

Mais que signifie ce msg d'erreur qui parle d'"image" ????
Avatar de l’utilisateur
Jacobus
Messages : 1613
Inscription : mar. 06/avr./2004 10:35
Contact :

Re: Probleme Catchsound

Message par Jacobus »

Sans code tu n'auras pas beaucoup de réponse...
A tout hasard, vérifie quand même si le format de tes WAV est bien compatible.
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Avatar de l’utilisateur
falsam
Messages : 7397
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Probleme Catchsound

Message par falsam »

POLINK : Fatal error: internal error:write_executable_image
Dans le dossier d'installation de PureBasic tu trouveras polink.exe.
Son objectif est de lier des librairies en relation avec ton code.
Apparemment POLINK n’a pas réussi à écrire le fichier exécutable final !
drfloyd a écrit : mar. 03/févr./2026 20:48 Mais que signifie ce msg d'erreur qui parle d'"image" ????
➡️ write_executable_image = échec d’écriture du fichier EXE

Ton code est compilé correctement mais POLINK n’a pas pu créer le fichier éxécutable.

A tout hasard, désactive ton antivirus et essayes de créer l'éxécutable en changeant son nom dans un dossier se trouvant à la racine de ton disque.
Configuration : Windows 11 Famille 64-bit - PB 6.23 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Mesa
Messages : 1146
Inscription : mer. 14/sept./2011 16:59

Re: Probleme Catchsound

Message par Mesa »

drfloyd
Messages : 232
Inscription : mar. 21/août/2007 13:30
Contact :

Re: Probleme Catchsound

Message par drfloyd »

Mesa a écrit : mer. 04/févr./2026 9:13 Il y a une limite à 10Mo par fichier.

Voir ici
https://www.purebasic.fr/english/viewto ... it#p609413

Réponse de fred
https://www.purebasic.fr/english/viewto ... 39#p552739

M.
Bah la limite de 10mo j'ai du mal à y croire car j'ai 3 fichiers de 15, 20 et 25Mo et ca passe nickel...

Sauf que arrivé à un moment je n'arrive plus à en rajouter sans ce fichu msg d'erreur

Ca ne serait pas l'EXE global qui deviendrait trop gros plutot ???

PS : PUREBASIC n'accepte toujours pas le MP3 ????
drfloyd
Messages : 232
Inscription : mar. 21/août/2007 13:30
Contact :

Re: Probleme Catchsound

Message par drfloyd »

Bon je crois que c'est ca, l'EXE est trop gros en compilation.....

La mon fichier fait 130Mo (il integre tout : code, images, sons) et on doit pas etre loin de la limite... si quelqu'un connait cette limite ?

Désormais des qu eje rajoute des trucs ca genere le msg d'erreur

Si c'est bien ca, y a une technique pour contourner ?

j'imagine que ne pas integrer les images et le son dans l'EXE serait la solution ?????
Avatar de l’utilisateur
falsam
Messages : 7397
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Probleme Catchsound

Message par falsam »

drfloyd a écrit : mer. 04/févr./2026 11:36 j'imagine que ne pas integrer les images et le son dans l'EXE serait la solution ?????
Oui 👍
drfloyd a écrit : mer. 04/févr./2026 11:28 PUREBASIC n'accepte toujours pas le MP3 ????
➡️ Non. Mais tu peux avec une DLL https://github.com/pbcodex/FMODEX-MIN-U ... master.zip 🌞

❓Je suppose que l'objectif de ton application est d'écouter de la musique.
Peux tu nous en dire un peu plus sur les fonctionnalités ?
Configuration : Windows 11 Famille 64-bit - PB 6.23 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
drfloyd
Messages : 232
Inscription : mar. 21/août/2007 13:30
Contact :

Re: Probleme Catchsound

Message par drfloyd »

ah non pas du tout c'est un jeu de role rétro !

Le code fait pour l'instant 15 000 lignes
Y a environ 10 images chargées en mémoire, dans lesquelles je decoupe les sprites
et environ 150 Mo de .WAV

donc à priori c'est trop pour un .EXE unique.... C'est surprenant, personne ne peut créer un code de 150Mb du coup (en un seul EXE) ????

Solutions ?

Pas d'EXE global ? et donc :
chargement des images sans stockage et decoupe des sprites ?
Lecture des WAV à la volée ?
Avatar de l’utilisateur
falsam
Messages : 7397
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Probleme Catchsound

Message par falsam »

Les images tu peux les laisser dans ton jeu.
Par contre les sons à l'extérieur.
Configuration : Windows 11 Famille 64-bit - PB 6.23 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7397
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Probleme Catchsound

Message par falsam »

Au cas ou tu aurais envie d'utiliser fmod, je te donne un exemple simple pour lire un fichier mp3 ou flac. Tu pourras aussi lire des fichier wav.

Le tout dans ce fichier compressé http://falsam.com/download/purebasic/fmod.zip
Ce fichier contient :
- fmodex.dll 32bits
- fmodex64.dll 64bits
- fmodex-min.pbi
- test.mp3
- test.flac
- basic.pb
Configuration : Windows 11 Famille 64-bit - PB 6.23 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
drfloyd
Messages : 232
Inscription : mar. 21/août/2007 13:30
Contact :

Re: Probleme Catchsound

Message par drfloyd »

Merci pour le lien MP3, et comment tu gères les boucles ? (musique en continue)

Sinon j'ai opté pour la solution simple : j'ai sorti les WAV de Include.... c'est quand meme le plus simple ! Et pas de dll pour le MP3....


Bon sinon, il y a confirmation, meme en pure DATA, il y a une limitation de taille un peu de dessus de 100 Mo pour les EXE ??????
Avatar de l’utilisateur
falsam
Messages : 7397
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Probleme Catchsound

Message par falsam »

drfloyd a écrit : mer. 04/févr./2026 16:27 comment tu gères les boucles ? (musique en continue)
C'est une très bonne question et ce n'était pas prévu dans l'include 👿

➡️ Ajout de la fonction FMOD_Sound_SetMode(Sound.l, mode)
- Sound : Identifiant du son qui est généré par la fonction FMOD_System_CreateStream()
- Mode : #FMOD_LOOP_OFF ou #FMOD_LOOP_NORMAL

Exemple de code

Code : Tout sélectionner

EnableExplicit 

IncludeFile "fmodex-min.pbi"

Define fmodSystem.i, channel.i, Sound.i, Volume.f = 0.5, isPlaying
Define file.s = "sncf.wav" 

OpenWindow(0, 0, 0, 20, 20, "")

;Declarer FMOD system
FMOD_System_Create(@fmodsystem)

;Initialisation FMOD System
FMOD_System_Init(fmodSystem, 1, #FMOD_INIT_NORMAL, 0)

; Creation du flux 
FMOD_System_CreateStream(fmodSystem, Ascii(File), #FMOD_SOFTWARE, 0, @sound)

; Jouer le flux mode loop
FMOD_System_PlaySound(fmodsystem, #FMOD_CHANNEL_FREE, sound, #False, @channel)
FMOD_Sound_SetMode(sound, #FMOD_LOOP_NORMAL)

;Et on ajuste le volume sur le channel (le son est compris entre 0.0 et 1.0)
FMOD_Channel_SetVolume(channel, 0.5)

; Boucle évenementielle
Repeat : Until WaitWindowEvent(1) = #PB_Event_CloseWindow 
➡️ Tu peux récupérer les tests dans ce fichier.
https://falsam.com/download/purebasic/fmod.zip
Configuration : Windows 11 Famille 64-bit - PB 6.23 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
drfloyd
Messages : 232
Inscription : mar. 21/août/2007 13:30
Contact :

Re: Probleme Catchsound

Message par drfloyd »

Merci pour le code.

Ca servira à d'autres membres,

car je pense rester sur du WAV en le chargeant à la volée dans le jeu.

Du coup, je n'ai pu avoir de reponse pour l'instant sur la taille maxi d'un .EXE Purebasic, je suppose que les créateurs de ce langage ont la réponse. Perso j'ai eu l'impression que la compilation plantait autour de 130Mo...
Répondre