Delphi - Loop de wav

 
Vista:

Loop de wav

Publicado por Martin (30 intervenciones) el 14/05/2003 17:09:14
Hola a todos, estoy reproduciendo un archivo wav con un control multimedia, pero necesito que haga un loop y no puedo encontrarle la propiedad.

El codigo:

MediaPlayer1.Close;
MediaPlayer1.FileName := ExtractFilePath(Application.Exename) + 'wav\ringout.wav';
MediaPlayer1.Open;
//Aca iria el loop en true para que siga reproduciendo sin parar


Gracias!!
MediaPlayer1.Play;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Loop de wav

Publicado por Ernesto De Spirito (706 intervenciones) el 15/05/2003 21:36:22
El MediaPlayer no tiene una propiedad para decirle que la reproducción sea continua, pero puedes lograrlo solicitando notificación cuando la ejecución del método se complete, y en el evento que recibe la notificación, le vuelves a dar Play con notificación, para así formar un ciclo indefinido.

procedure TForm1.Button1Click(Sender: TObject);
begin
MediaPlayer1.Close;
MediaPlayer1.FileName := ExtractFilePath(Application.Exename) + 'wav\ringout.wav';
MediaPlayer1.Open;
MediaPlayer1.Notify := True;
MediaPlayer1.Play;
end;

procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
if MediaPlayer1.NotifyValue = nvSuccessful then begin
MediaPlayer1.Notify := True;
MediaPlayer1.Play;
end;
end;

De todos modos, tal vez sea más práctico directamente llamar a la API PlaySound:

uses mmsystem;

procedure TForm1.Button1Click(Sender: TObject);
begin
PlaySound(PChar(ExtractFilePath(Application.Exename)
+ 'wav\ringout.wav'), 0,
SND_FILENAME + SND_ASYNC + SND_LOOP);
end;

Y si en algún momento quisieras detener la ejecución del sonido, llama a PlaySound(nil, 0, 0).

Espero que te sirva.

Ernesto De Spirito
http://www.latiumsoftware.com/es/index.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar