Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: the_blade en Octubre 09, 2012, 10:43:23 PM

Título: LIBRERIA SAUDIO. POSEE PROBLEMAS DE REPRODUCION?
Publicado por: the_blade en Octubre 09, 2012, 10:43:23 PM
Consulta alguien ha trabajado con la libreria SAudio, tengo entendido que es muy buena, y por eso que decidi utilizarla para cargar todos los archivos de audio de mi juego de manera externa, ahora yo hago lo siguiente


global.sonido1="direccion donde se alla el sonidos .wav" //asigno la ruta de donde carga el sonido
saud_Load(global.sonido1, ""Sonido1) //lo cargo


si mal no entiendo de esa forma lo cargo al sonido en memoria, y ahora para reproducirlo utilizo:


saud_Play("Sonido1")


osea con el codigo de arriba cargo todos los  sonidos desde un script, y luego desde cada objeto usando la funcion saud_Play los reprodusco, ahora me da la sensacion o quizas es mi impresion,ejjeje. de que cada ves que reprodusco un sonido, este me corta al otro para poder reproducirse, osea no permite sonidos simultaneos? o como deberia utilizarla, osea consulto porque por ejemplo con una ametralladora consigo un sonido no muy adecuado.-
Salu2 y gracias.-
PD: por otro es realmente mas rapida la reproduccion y la carga de archivos de audio que cargarlos y reproducirlo con el sistema del game maker y sus funciones?
Título: Re:LIBRERIA SAUDIO. POSEE PROBLEMAS DE REPRODUCION?
Publicado por: dark_servant en Octubre 19, 2012, 07:56:43 PM
se carga al principio del juego en un objeto o dond lo que quieras.

// saudio dll se declara al principio

saud_Init();

//niveles
saud_Load(working_directory+"\res\sonidos\snd_intro.mp3","snd_intro");

desde otro objeto o caso o lo que gustes reproduces el sonido asi

saud_Loop("snd_intro"); // para que se repita varias veces

saud_play("snd_intro"); // para repetir solo una vez

no es necesario que los cargues global ya que la dll hace eso por ti
Título: Re:LIBRERIA SAUDIO. POSEE PROBLEMAS DE REPRODUCION?
Publicado por: johnixdragon en Mayo 07, 2013, 02:36:22 AM
yo tengo otro problema, coloco todo bien, pero me sale un error y dice:


ERROR in
action number 1
of Create Event
for object sys_sounds:

Error defining an external function.

en el objeto sys_sounds en el evento create llamo el script saud_Init();
y lo que contiene el script es lo normal

[size=12pt][b]ruta="saudio.dll";
global.Load=external_define(ruta,"open",dll_stdcall,ty_real,2,ty_string,ty_string);
global.Play=external_define(ruta,"play",dll_stdcall,ty_real,1,ty_string);
global.Loop=external_define(ruta,"loop",dll_stdcall,ty_real,1,ty_string);
global.Stop=external_define(ruta,"stop",dll_stdcall,ty_real,1,ty_string);
global.StopAll=external_define(ruta,"stop_all",dll_stdcall,ty_real,0);
global.Pause=external_define(ruta,"pause",dll_stdcall,ty_real,1,ty_string);
global.Resume=external_define(ruta,"resume",dll_stdcall,ty_real,1,ty_string);
global.Position=external_define(ruta,"position",dll_stdcall,ty_string,1,ty_string);
global.Length=external_define(ruta,"length",dll_stdcall,ty_string,1,ty_string);
global.Seek=external_define(ruta,"seek",dll_stdcall,ty_real,2,ty_string,ty_string);
global.Status=external_define(ruta,"status",dll_stdcall,ty_string,1,ty_string);
global.Channels=external_define(ruta,"channels",dll_stdcall,ty_string,1,ty_string);
global.BytesPerSec=external_define(ruta,"bytespersec",dll_stdcall,ty_string,1,ty_string);
global.CanPlay=external_define(ruta,"canplay",dll_stdcall,ty_string,1,ty_string);
global.OpenRecord=external_define(ruta,"open_record",dll_stdcall,ty_real,1,ty_string);
global.Record=external_define(ruta,"record",dll_stdcall,ty_real,1,ty_string);
global.SaveRecord=external_define(ruta,"save_record",dll_stdcall,ty_real,2,ty_string,ty_string);
global.Close=external_define(ruta,"close",dll_stdcall,ty_real,1,ty_string);
global.CloseAll=external_define(ruta,"close_all",dll_stdcall,ty_real,0);[/b][/size]


el error proviene de aqui pero por mas que le busco no lo encuentro
¿tiene algo que ver con la version del gamemaker?

el editable donde lo conseguí es de la version 6.0, y el que yo estoy usando para crear mi juego es 8.0,
agradeceria su ayuda  :D