PDA

Ver la Versión Completa : Reproducir archivos mp3 en delphi


miguel_2736
14-06-2008, 20:38:33
Estoy haciendo un programa que reproduce archivos mp3, los nombres de los archivos se cargan en un Listbox pero necesito que se reproduzcan ya sea continua o aleatoriamente y no se como hacerlo. Tambien quisiera saber como obtener el tiempo de reproducción del archivo que se esta reproduciendo. Gracias.

Khronos
14-06-2008, 22:56:59
Te recomiendo que te leas la guia de estilo :D.

Primero, no dices que componente estas usando, pero se supone que es el TMediaPlayer.
La propiedad Length del MediaPlayer devuelve la duracion del archivo de musica en milisegundos. Luego haces las operaciones adecuadas y consigues obtener el formato x:xx:xx. Para la posicion de la cancion utilizas la propiedad Position que te devuelve la posicion actual en milisegundos, haces la misma operacion que con la propiedad Length y obtienes la posicion actual en el formato x:xx:xx.


Yo pondria un TSpeedButton con la propiedad GroupIndex:=1 y la propiedad AllowUp:=true, luego en el timer pondriamos esto:


//Pones esto en el timer con un intervalo de 250 milisegundos.
begin

If MediaPlayer.postion=MediaPlayer.length then begin

If RandomButton.down=false then begin
If ListBox1.itemindex= ListBox1.items.count then ListBox1.itemindex:= -1;
ListBox1.itemindex:= ListBox1.itemindex + 1;
end;

If RandomButton.down=true then begin
Randomize;
Listbox1.itemindex:= Random(ListBox1.items.count);
end;

MediaPlayer.filename:= Listbox1.items[ListBox1.itemindex];
MediaPlayer.open;
MediaPlayer.play;
end;
end;



Con esto conseguirias la reproduccion aleatoria y la reproduccion continua.

PD: No se si el codigo esta bien, no tengo un Delphi delante :D.

Salu2

Northern
15-06-2008, 17:36:16
Puedes usar la librería OpenAL (visita http://www.noeska.com/doal/ ) o también puedes usar la librería BASS (visita http://www.un4seen.com/ )

Saluos