Ir al contenido


Foto

Meter Sonido en Recurso (wav) y Usarlo


  • Por favor identifícate para responder
1 respuesta en este tema

#1 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 259 mensajes

Escrito 16 septiembre 2011 - 09:12

Buenas a todos amigos quisiera hacerles una consulta:
Estoy intentando reproducir sonidos desde un recurso
pero tengo unos inconvenientes....

resulta que puedo reproducirlos de la forma normal
como es:




delphi
  1. Uses
  2.   ...., mmsystem;
  3.  
  4. procedure TForm1.Button1MouseEnter(Sender: TObject);
  5. begin
  6.   sndplaysound('High1.wav', snd_nodefault);
  7. end;




Hasta aquí todo OK, pero me gustaría meter dos sonidos
en mi EXE como recurso, para no estar llevando tantas
cosas.........

yo ya los he metido en un recurso llamado "sonidito.lrs"
y lo he ubicado bien pero no se que hago mal que no sale
la música, esto es lo que pongo:




delphi
  1. procedure TForm1.Button1MouseEnter(Sender: TObject);
  2. begin
  3.   Playsound(Pchar('High1'),hInstance, SND_RESOURCE or snd_async);
  4. end;




o este otro:




delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3. PlaySound('High1', hInstance, SND_RESOURCE or SND_SYNC);
  4. end;





Pero no pasa nada haber si me pueden hechar una mano.
gracias.....
  • 0

#2 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 259 mensajes

Escrito 17 septiembre 2011 - 08:07

Buenas amiguitos de momento este inconveniente
lo he resuelto con el siguiente código:



delphi
  1. Uses
  2.   . . . , mmsystem, lresources;
  3.  
  4. procedure TForm1.Button2Click(Sender: TObject);
  5. var
  6.   s:string;
  7. begin
  8.   s:=LazarusResources.find('high1').Value;    // 'high1' es el nombre del audio en el recurso
  9.   sndplaysound(pchar(s),SND_NOWAIT or SND_MEMORY);
  10. End;
  11. .
  12. .
  13. .
  14. Initialization
  15. {$I sonidito.lrs}
  16. end.



Pero a la vez quisiera hacerles una consultita respecto a
SND_MEMORY, pués si tengo entendido este comando
manda el audio a la memoria y por lo cual mi pregunta es
si al final tengo que liberarlo con otro comando.....

Gracias y corrijanme si estoy mal....
  • 0




IP.Board spam blocked by CleanTalk.