Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-11-2008
Loreiev Loreiev is offline
Miembro
 
Registrado: oct 2008
Posts: 14
Poder: 0
Loreiev Va por buen camino
Exclamation Necesito ayuda para cargar varios sonidos en memoria

Hola, tengo el siguiente problema: estoy haciendo un ejercicio para la facultad que consiste en un bingo, el cual tira bolas cuando se apreta un botón. La idea es que cuando tira una bola se reproduzca un sonido con el numero que salio. El tema es que,como los sonidos se deben reproducir en intervalos de tiempos cortos no se escuchan todos los números sólo alguno cada tanto. Por lo que estube viendo tendría que cargarlos a la memoria pero no se bien como hacerlo y son 90 sonidos que debo poder localizar por su nombre.

El código hasta ahora sería:

procedure sonido(num:integer);
var
Path:string;
begin
path:='C:\Users\Paulau\Desktop\DelphiProgramas\Lotería Familiar\'+inttostr(num)+'.wav';
sndPlaySound(pchar(path),SND_NODEFAULT or SND_Sync);
end;


y

procedure TFrmInicial.BotonPlayClick(Sender: TObject);
begin
if columna < 9 then
begin
LbComenzar.Caption:='';
if int(bolassacadas/(columna+1)) >8 then
begin
columna:=columna+1;
fila:=0;
end;
auxiliar:=numero;
grillaNumeros.Cells[columna,fila]:=inttostr(auxiliar);
NumeroBola.Caption:=inttostr(auxiliar);
sonido(auxiliar);
fila:=fila + 1;
end;
end;

Alguien me puede guiar? por favor traten de hacerlo con vastante detalle porque entoy aprendiendo y tengo una base bastante floja

Desde ya muchas gracias
Responder Con Cita
  #2  
Antiguo 20-11-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Hola, bienvenida al Club

Para empezar, utiliza las etiquetas [delphi][/delphi] cuando escribas código en le foro.

Mira que bien queda:
Código Delphi [-]
procedure sonido(num:integer);
var
  Path:string;
begin
  path:='C:\Users\Paulau\Desktop\DelphiProgramas\Lotería Familiar\'+inttostr(num)+'.wav';
  sndPlaySound(pchar(path),SND_NODEFAULT or SND_Sync);
end;

Código Delphi [-]
procedure TFrmInicial.BotonPlayClick(Sender: TObject);
begin
 if columna < 9 then
 begin
 LbComenzar.Caption:='';
  if int(bolassacadas/(columna+1)) >8 then
  begin
   columna:=columna+1;
   fila:=0;
  end;
 auxiliar:=numero;
 grillaNumeros.Cells[columna,fila]:=inttostr(auxiliar);
 NumeroBola.Caption:=inttostr(auxiliar);
 sonido(auxiliar);
 fila:=fila + 1;
 end;
end;

Y volviendo a tu pregunta ¿cual es el problema exactamente? ¿Un sonido empieza a reproducirse antes de que termine el anterior?
Responder Con Cita
  #3  
Antiguo 20-11-2008
Loreiev Loreiev is offline
Miembro
 
Registrado: oct 2008
Posts: 14
Poder: 0
Loreiev Va por buen camino
Hola, gracias por las recomendaciones, no sabía como hacerlo.
Sobre mi problema el tema es que yo hago click en el botón que lanza el número y dice el número que salió, pero luego lo vuelvo a precionar y entonces no sale el sonido, unos cuantos números después vuelve a salir el sonido de ese número. Debería reproducir el sonido de cada número cuando este sale y solo reproduce algunos de los sonidos.

Se te ocurre cual puede ser el problema?
Responder Con Cita
  #4  
Antiguo 20-11-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
procedure TForm1.Button7Click(Sender: TObject);
var
  s: string;
begin
s := 'C:\Windows\Media\'+Edit1.text+'.wav';
sndPlaySound(PCHar(s),
  SND_NODEFAULT Or SND_ASYNC Or SND_LOOP);
  Showmessage('El numero que salio es::::::'+Edit1.text);
  sndPlaySound(nil, 0); // Detiene el sonido
end;
Saludos
PD: Gracias a enecumene.
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 20-11-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por Loreiev Ver Mensaje
Debería reproducir el sonido de cada número cuando este sale y solo reproduce algunos de los sonidos.
Y no sera que los sonidos que no se reproducen es porque el archivo esta dañado, o no estas usando el nombre correcto. Antes de nada probaria a reproducir cada unos de los sonidos, y luego veria si las rutas que estas poniendo estan bien. (Por ejemplo que el sonido se llame "01.wav" y estes usamdo "1.wav".

Y si todo lo anterior falla, prueba con esto:
http://www.clubdelphi.com/foros/showthread.php?t=37401
Responder Con Cita
  #6  
Antiguo 20-11-2008
Loreiev Loreiev is offline
Miembro
 
Registrado: oct 2008
Posts: 14
Poder: 0
Loreiev Va por buen camino
Wink

Cita:
Empezado por Caral Ver Mensaje
Hola
Código Delphi [-]procedure TForm1.Button7Click(Sender: TObject); var s: string; begin s := 'C:\Windows\Media\'+Edit1.text+'.wav'; sndPlaySound(PCHar(s), SND_NODEFAULT Or SND_ASYNC Or SND_LOOP); Showmessage('El numero que salio es::::::'+Edit1.text); sndPlaySound(nil, 0); // Detiene el sonido end;

Saludos
PD: Gracias a enecumene.
Probé el código que me diste pero no funcionó, no llega a escucharse el sonido, ademásyo ya tengo dentro del programa un lugar donde debe aparecer escrito el número y no quiero que aparezca ese mensaje, cual puede ser el problema?
Responder Con Cita
  #7  
Antiguo 20-11-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Es curioso, as revisado los parlantes??.
Revisaste la solución de Seoane??.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 21-11-2008
Loreiev Loreiev is offline
Miembro
 
Registrado: oct 2008
Posts: 14
Poder: 0
Loreiev Va por buen camino
Hola, disculpen , no había leido la respuesta de simeone . Pareciera que sí, que el problema son los archivos de sonido, los probé en un reproductor y algunos andan y otros no, lo extraño es que yo los saqué de un bingo que ya estaba hecho en internet y cuando hago funcionar el bingo original funcionan todos los audios. Quizás estén encriptados o algo. Voy a probar rehacer los archivos de audio y ver si funciona todo bien.


Muchas gracias por las respuestas y disculpen por haberlos molestado y no darme cuenta sola.

Ah, Felicitaciones por el foro, ya me venía ayudando un montón sin siquiera tener que preguntar.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Necesito ayuda con indices .ndx para archivos dbf dinover7 Conexión con bases de datos 1 21-05-2007 21:41:34
Necesito ayuda para imprimir por COM1... AFilth Impresión 3 11-02-2006 12:22:49
Necesito ayuda para manerjar archivos meosre Varios 2 08-09-2005 18:37:34
necesito ayuda para hacer un sistema para un billar rober Varios 14 29-07-2004 01:08:02
Necesito ayuda para aprobar... OnClick Varios 10 27-05-2003 02:12:05


La franja horaria es GMT +2. Ahora son las 10:54:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi