External sound (risolto) + supersound dll

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Avatar utente
PeppeAs95
GMI Advanced
Messaggi: 2231
Iscritto il: 24/06/2008, 16:10
Specialità: Modellazione[LD-HD]
Località: Sonosce (MO)
Contatta:

External sound (risolto) + supersound dll

Messaggio da PeppeAs95 »

E ciao a tutti:
Stavo sperimentando una cosina su gm, quando, me venuto in mente di far riprodurre un suono esterno.
2 sole " gli bastavano a peppino direte, infatti ho fatto così:

Codice: Seleziona tutto

 sound_play("sound\sound1.wav") e ho fatto anche sound_play('sound\sound1.wav') 
ma mi dice lo stesso: sound not exists.
Sapreste individuare l' errore?
:cappa:
Ultima modifica di PeppeAs95 il 19/12/2008, 16:37, modificato 1 volta in totale.
Immagine

Mario: Livello 51Immagine
Luigi: livello 51Immagine
Bowser: livello 40Immagine
Spoiler
Immagine
Immagine
Immagine
Immagine

Avatar utente
maz85
Admin
Messaggi: 8287
Iscritto il: 07/02/2004, 15:57
Specialità: Nientologo
Località: Oblio
Contatta:

Re: External sound

Messaggio da maz85 »

:lol:

Solo suoni interni! Ovvero quelli caricati tramite interfaccia GM.
Per quelli esterni dai un'occhiata alle funzioni sound_add oppure rivolgiti a qualche dll che si occupa dei suoni tipo supersound.dll. ;)

Avatar utente
Homunculus
Admin
Messaggi: 6840
Iscritto il: 25/11/2007, 20:36
Contatta:

Re: External sound

Messaggio da Homunculus »

Non ho sottomano il manuale di gm, ma sound_play si aspetta un suono interno, non esterno.

Dovresti quindi prima caricare il suono con qualcosa del genere:

suono = sound_add("sounds/sound.wav",kind,preload);
dove kind é un numero che indica se é un suono normale di background ecc.. e preload é 0 o 1 dipendenza se vuoi il precaricamento o meno.

poi puoi fare sound_play(suono)

Evita di caricare ogni volta il suono, fallo solo una volta.

Avatar utente
PeppeAs95
GMI Advanced
Messaggi: 2231
Iscritto il: 24/06/2008, 16:10
Specialità: Modellazione[LD-HD]
Località: Sonosce (MO)
Contatta:

Re: External sound (risolto)

Messaggio da PeppeAs95 »

Ho fatto sound add e sound play + globali come mi ha detto maz su msn ed ho risolto tutto.
Grazie per il tempo perso. :cappa:
Immagine

Mario: Livello 51Immagine
Luigi: livello 51Immagine
Bowser: livello 40Immagine
Spoiler
Immagine
Immagine
Immagine
Immagine

DanyTurboGame
Membro
Messaggi: 90
Iscritto il: 12/06/2007, 18:30
Uso: GM:Studio 2
Località: Trento
Contatta:

Re: External sound (risolto)

Messaggio da DanyTurboGame »

se io voglio caricare un suono esterno e voglio che il gioco continui a caricare suoni a comando sempre in tempismo (istantaneo nel mio caso visto che ho un simulatore musicale)?

P.S. ho creato un esempio con una cartella nominata "sounds" e con dentro un file wav chiamato "kick", ho creato un oggetto in gamemaker dove ho inserito nell'evento create lo script add_sound("sounds/kick.wav",1,1) e nell'evento press a key lo script play_sound("kick.wav") ma non funziona, sapete dirmi cosa devo correggere?
Il lavorazione: Dany's Virtual Drum 2

http://danysvirtualdrum.forumfree.net/

Immagine

Avatar utente
Homunculus
Admin
Messaggi: 6840
Iscritto il: 25/11/2007, 20:36
Contatta:

Re: External sound (risolto)

Messaggio da Homunculus »

Vai a rileggere il mio post in queste discussione, spiega esattamente il tuo problema... Ripeto anche a te, l'approccio di fare sound_add ogni volta che crei l'oggetto é sbagliato, perché il suono che carichi occupa memoria e risorse, e non si distrugge assieme all'oggetto.

Quindi, se crei 4 oggetti uguali che chiamano sound_add("sounds/kick.wav",1,1) avrai occupato 3 volte piu memoria di quanto serve, e anche distruggendo gli oggetti la memoria rimarrebbe occupata

DanyTurboGame
Membro
Messaggi: 90
Iscritto il: 12/06/2007, 18:30
Uso: GM:Studio 2
Località: Trento
Contatta:

Re: External sound (risolto)

Messaggio da DanyTurboGame »

ho seguito le istruzioni ma non riesco a far funzionare il suono...
Il lavorazione: Dany's Virtual Drum 2

http://danysvirtualdrum.forumfree.net/

Immagine

Avatar utente
Homunculus
Admin
Messaggi: 6840
Iscritto il: 25/11/2007, 20:36
Contatta:

Re: External sound (risolto)

Messaggio da Homunculus »

Dicci che hai scritto esattamente

Avatar utente
maz85
Admin
Messaggi: 8287
Iscritto il: 07/02/2004, 15:57
Specialità: Nientologo
Località: Oblio
Contatta:

Re: External sound (risolto)

Messaggio da maz85 »

Il problema è qui:

Codice: Seleziona tutto

play_sound("kick.wav")
Rileggiti questa discussione, anche Peppino ha fatto il tuo stesso errore. ;)

DanyTurboGame
Membro
Messaggi: 90
Iscritto il: 12/06/2007, 18:30
Uso: GM:Studio 2
Località: Trento
Contatta:

Re: External sound (risolto)

Messaggio da DanyTurboGame »

allora, in un oggetto nell'evento create ho scritto: sound_add("sounds/kick.wav",1,1);
in un'altro oggetto con evento press a button ho messo: sound_play("kick.wav")

ma il suono non va, l'errore è sempre nell'ultima frase di riproduzione suono?
Ultima modifica di DanyTurboGame il 01/02/2009, 12:48, modificato 1 volta in totale.
Il lavorazione: Dany's Virtual Drum 2

http://danysvirtualdrum.forumfree.net/

Immagine

Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: External sound (risolto)

Messaggio da Sla »

Uhmm, dany, se ho capito bene è per il tuo gioco della batteria.
Se fosse cosi il metodo migliore per te per caricare suoni esterni e suonarli,
visto che sono piccoli,sarebbe questo:
Ogni volta che vuoi far partire un suono (quando quindi l'utente clicca su uno strumento) utilizzi questo codice (si basa tutto su una unica risorsa, in modo da occupare meno spazio possibile)

Codice: Seleziona tutto

if sound_exists(instr_sonund)
sound_replace(instr_sound,working_directory+"\sounds\"+var_instrument+".mp3",0,0);
else instr_sound = sound_add(working_directory+"\sounds\"+var_instrument+".mp3",0,0);
sound_play(instr_sound);
Quel codice è fatto in modo da non dover essere cambiato mai, insomma puoi usarlo per qualsiasi suono
vuoi che venga fatto partire. Solo devi avere una cartella chiamata "sounds" dentro la quale posizionare
i suoni sotto ".mp3" con il nome che corrisponde allo strumento cui il suono si riferisce.
A questo punto crei una variabile che cambia a seconda di su quale strumento l'utente clicca,
il suono verrà cercato nella cartella sounds con il nome dello strumento sotto la variabile.
(ad esempio: sounds\piatto1.mp3).
eppure mi sembra tutto giusto...

DanyTurboGame
Membro
Messaggi: 90
Iscritto il: 12/06/2007, 18:30
Uso: GM:Studio 2
Località: Trento
Contatta:

Re: External sound (risolto)

Messaggio da DanyTurboGame »

quindi tutta questa stringa la scrivo in tutti gli oggetti che usano i suoni e negli eventi dei tasti?
al posto di var_instrument ci metto il nome del suono che do?
se i suoni sono in wav mi conviene sempre 0,0 (kind,preload)?

grazie a tutti per il tempo ;)
Il lavorazione: Dany's Virtual Drum 2

http://danysvirtualdrum.forumfree.net/

Immagine

DanyTurboGame
Membro
Messaggi: 90
Iscritto il: 12/06/2007, 18:30
Uso: GM:Studio 2
Località: Trento
Contatta:

Re: External sound (risolto)

Messaggio da DanyTurboGame »

con il suono kick.wav nella cartella sounds, puoi dirmi per favore esattamente cosa devo scrivere per caricare e far partire questo suono esternamente usando meno memoria possibile?

stò sclerando :(
Ultima modifica di DanyTurboGame il 01/02/2009, 13:03, modificato 1 volta in totale.
Il lavorazione: Dany's Virtual Drum 2

http://danysvirtualdrum.forumfree.net/

Immagine

Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: External sound (risolto)

Messaggio da Sla »

no, um..
Il codice che ti ho dato l'ho creato apposta perchè tu non lo debba mai modificare.
Le uniche modifiche che devi fare sono alla variabile var_instrument, ad esempio se
l'utente clicca su: piatto1 e nella cartella sounds c'è il file piatto1.mp3 tu dai alla variabile
valore in stringa "piatto1".
Il codice quindi lo metti tale quale dove vuoi, basta sapere che serve a far partire il suono dello
strumento cliccato.
Per capirmi meglio, se il giocatore clicca sulla gran cassa
{
var_instrument = "gran cassa";
if sound_exists(instr_sonund)
sound_replace(instr_sound,working_directory+"\sounds\"+var_instrument+".mp3",0,0);
else instr_sound = sound_add(working_directory+"\sounds\"+var_instrument+".mp3",0,0);
sound_play(instr_sound);
}
Devi pero aver messo nella cartella sounds il file "gran cassa.mp3"
eppure mi sembra tutto giusto...

Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: External sound (risolto)

Messaggio da Sla »

Per la domanda che hai scritto che non ho visto (ero impegnato a scrivere per quella precedente) basta sostituire il ".mp3" con ".wav", pero vedi di fare in modo di mettere tutti i suoni nella cartella dello stesso formato, seno ogni volta devi modificare il codice.
eppure mi sembra tutto giusto...

DanyTurboGame
Membro
Messaggi: 90
Iscritto il: 12/06/2007, 18:30
Uso: GM:Studio 2
Località: Trento
Contatta:

Re: External sound (risolto)

Messaggio da DanyTurboGame »

con questo va:

{
instr_sound = "kick";
var_instrument = "kick";
if sound_exists(instr_sound)
sound_replace(instr_sound,working_directory+"\sounds\"+var_instrument+".wav",0,0);
else instr_sound = sound_add(working_directory+"\sounds\"+var_instrument+".wav",0,0);
sound_play(instr_sound);
}

ho aggiunto instr_sound = "kick";

ho sostituito i nomi per ogni suono e ho creato una prova e funziona, ma la qualità dei suoni diminuisce drasticamente...
Qualche soluzione?
Il lavorazione: Dany's Virtual Drum 2

http://danysvirtualdrum.forumfree.net/

Immagine

DanyTurboGame
Membro
Messaggi: 90
Iscritto il: 12/06/2007, 18:30
Uso: GM:Studio 2
Località: Trento
Contatta:

Re: External sound (risolto)

Messaggio da DanyTurboGame »

ragazzi?
Il lavorazione: Dany's Virtual Drum 2

http://danysvirtualdrum.forumfree.net/

Immagine

Avatar utente
maz85
Admin
Messaggi: 8287
Iscritto il: 07/02/2004, 15:57
Specialità: Nientologo
Località: Oblio
Contatta:

Re: External sound (risolto)

Messaggio da maz85 »

Prova a convertire gli mp3 in wav (di certo non cambiando estensione).
Oppure potresti usare Super sound dll che legge mp3 e ogg... fai una ricerca nel forum!

DanyTurboGame
Membro
Messaggi: 90
Iscritto il: 12/06/2007, 18:30
Uso: GM:Studio 2
Località: Trento
Contatta:

Re: External sound (risolto)

Messaggio da DanyTurboGame »

i suoni che ho sono tutti wav, ma riproducendoli con lo script di minuisce il volume e il suono perde qualità.
Cè qualche modifica che posso fare al codice o qualche altra idea?
Il lavorazione: Dany's Virtual Drum 2

http://danysvirtualdrum.forumfree.net/

Immagine

DanyTurboGame
Membro
Messaggi: 90
Iscritto il: 12/06/2007, 18:30
Uso: GM:Studio 2
Località: Trento
Contatta:

Re: External sound (risolto)

Messaggio da DanyTurboGame »

per favore :(
Il lavorazione: Dany's Virtual Drum 2

http://danysvirtualdrum.forumfree.net/

Immagine

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 77 ospiti