Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-10-2010
drakon007 drakon007 is offline
Registrado
 
Registrado: ene 2009
Posts: 4
Poder: 0
drakon007 Va por buen camino
Ayuda con sonidos

Hola gente, tengo un problema y necesitaría la ayuda de ustedes. Resulta que estoy haciendo un Piano y pude hacerlo sonar con la función:
Código Delphi [-]
Windows.Beep(Frecuencia, Tiempo)
Pero ahí es donde surge el problema, la cuestión es que con eso solo hago sonar los parlantes internos de la PC, y lo que me gustaría hacer es un procedimiento similar a ese pero para los altavoces principales. La verdad que les agradecería mucho su respuesta, desde ya, Gracias.
Responder Con Cita
  #2  
Antiguo 03-10-2010
drakon007 drakon007 is offline
Registrado
 
Registrado: ene 2009
Posts: 4
Poder: 0
drakon007 Va por buen camino
Perdón pero ahi puse "hacer un procedimiento", y lo que en realidad me gustaría saber si puedo utilizar uno incluido en Delphi.
Responder Con Cita
  #3  
Antiguo 04-10-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola drakon007.

Podés usar la funcion sndPlaySound, sobre el uso de la misma te pongo dos links, el tercero explica como ejecutar sonidos mediante la placa de audio.

LINK1
LINK2
LINK3

Espero te ayuden.

Saludos.
Responder Con Cita
  #4  
Antiguo 04-10-2010
drakon007 drakon007 is offline
Registrado
 
Registrado: ene 2009
Posts: 4
Poder: 0
drakon007 Va por buen camino
Muchas gracias por tu ayuda, pero ya encontré la solución a mi problema usando este código:

Código Delphi [-]
uses
   ExtCtrls,MMSytem;

procedure MakeSound(Frequency{Hz}, Duration{mSec}, Volume: Integer);
var
  WaveFormatEx: TWaveFormatEx;
  MS: TMemoryStream; 
  i, TempInt, DataCount, RiffCount: integer;
  SoundValue: byte; 
  w: double;
const 
  Mono: Word = $0001;
  SampleRate: Integer = 44100;
  RiffId: string = 'RIFF';
  WaveId: string = 'WAVE';
  FmtId: string = 'fmt ';
  DataId: string = 'data';
begin
  if Frequency > (0.6 * SampleRate) then
  begin
    ShowMessage(Format('Sample rate of %d is too Low to play a tone of %dHz', 
      [SampleRate, Frequency]));
    Exit;
  end;
  with WaveFormatEx do 
  begin
    wFormatTag := WAVE_FORMAT_PCM; 
    nChannels := Mono;
    nSamplesPerSec := SampleRate;
    wBitsPerSample := $0008;
    nBlockAlign := (nChannels * wBitsPerSample) div 8;
    nAvgBytesPerSec := nSamplesPerSec * nBlockAlign;
    cbSize := 0;
  end;
  MS := TMemoryStream.Create;
  with MS do
  begin
     DataCount := (Duration * SampleRate) div 1000;
    RiffCount := Length(WaveId) + Length(FmtId) + SizeOf(DWORD) +
      SizeOf(TWaveFormatEx) + Length(DataId) + SizeOf(DWORD) + DataCount; 

    Write(RiffId[1], 4);
    Write(RiffCount, SizeOf(DWORD));
    Write(WaveId[1], Length(WaveId));
    Write(FmtId[1], Length(FmtId));
    TempInt := SizeOf(TWaveFormatEx);
    Write(TempInt, SizeOf(DWORD));
    Write(WaveFormatEx, SizeOf(TWaveFormatEx));
    Write(DataId[1], Length(DataId));
    Write(DataCount, SizeOf(DWORD));

    w := 2 * Pi * Frequency;
    for i := 0 to DataCount - 1 do
    begin
      SoundValue := 127 + trunc(Volume * sin(i * w / SampleRate));
      Write(SoundValue, SizeOf(Byte));
    end;

    sndPlaySound(MS.Memory, SND_MEMORY or SND_SYNC);
    MS.Free;
  end;
end;
Responder Con Cita
Respuesta



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
timer y sonidos jandj Varios 2 22-02-2010 22:29:52
Necesito ayuda para cargar varios sonidos en memoria Loreiev Varios 7 21-11-2008 00:00:29
Encadenar sonidos???? tarco35 Varios 17 03-08-2008 13:41:35
Sonidos wav o mp3 elcigarra Varios 8 06-01-2007 22:52:27
Sonidos con delphi el_enigma1 OOP 2 14-01-2005 00:31:30


La franja horaria es GMT +2. Ahora son las 11:17:03.


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