FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Reproduccion aleatoria con un listbox
Hola, les cuento que estoy haciendo (como tantos otros) un reproductor de mp3. En el, manejo un playlist hecho con un tlistbox e hice (buscando en este foro como hacerlo) con un ttimer un metodo para reproducir las canciones de la lista ya sea aleatoriamente o de uno en uno. El codigo quedo asi :
donde reproducirdelistbox es una funcion que uso para reproducir la cancion que este seleccionada en el listbox. El procedimiento anda, cuando termina una cancion pasa a la siguiente ya sea aleatoriamente o a la inmediatamente siguiente. El problema está en que cuando pulso stop y la canción está por terminar salta a la siguiente canción. Al parecer, segun creo yo, la propiedad position alcanza a la propiedad length antes de que la canción termine. Si me pueden ayudar le estaria agradecido, porque busque bastante y no encontre nada excepto esto que es de donde use para hacer el mio. Última edición por mattgaviota fecha: 01-07-2008 a las 21:36:17. |
#2
|
|||
|
|||
Hola,
con el uso del debugger mediantes 'Watches' podras determinar si realmente van por alla los tiros. Tambien, mirando la ayuda viene la propiedad EndPos y StarPos. Quiza no la tienes determinada correctamente, pues segun la ayuda de delphi ocurre algo indesesado al cambiar de cancion. saludos, a ver si te sirve de ayuda |
#3
|
||||
|
||||
Gracias por responder. Pero intente y no se como evaluar esas propiedades cuando corro el programa. Lo intente paso a paso con trace into pero no puedo ver el programa. Pero lo que no se es que valor toma cuando termina una canción la propiedad position.
|
#4
|
|||
|
|||
Cuando pulsas stop tienes que parar el timer, cuando experimenté con este componente nunca utilice sus feos botones .
Creaba unos TSpeedButton con unas bonitas imagenes y ponia el TMediaPlayer.visible:=false. En el evento del boton de stop ponia:
Cuando le volvia a dar al play lo activaba de nuevo. Pero si estas utilizando los botones propios del componente, yo haria algo como esto:
PD: Copiar y pegar codigo sin saber lo que hace no sirve de nada si no se entiende, buscate un buen manual de delphi y empieza por cosas mas sencillas. Salu2 |
#5
|
|||
|
|||
Ctrl+F5 -> watches o bien boton derecho sobre el identificador. Con el F5, break points. F7,F8 trace into, trace over. Las opciones de debug tienen que estar activadas en options->project->compiler options o algo asi...En tu caso, pulsaria F5 para poner un breakpoint en la linea siguiente del primer 'if' (begin), y ctrl+f5 encima MediaPlayer1.Position, ctrl+F5 encima mediaplayer1.Lenght. otra manera practica de evaluar es poner un par de labels y con algun evento irlas actualizando, luego ya las quitas...
Última edición por coso fecha: 01-07-2008 a las 23:06:13. |
#6
|
||||
|
||||
Gracias por responder khronos y coso. Khronos es justo lo que necesitaba. Funciono muy bien. Yo tambien uso otros botones para usar el mediaplayer, y realmente estoy aprendiendo, asi que cuando uso codigo o parte del codigo que hizo otra persona me fijo bien en lo que hace.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como generar una cadena aleatoria? | JuanErasmo | C++ Builder | 3 | 16-06-2008 20:18:33 |
cleanScreen,letra aleatoria | yessika19 | Varios | 13 | 04-11-2007 22:14:22 |
Imagen aleatoria en Fastreport | jegrebahe1 | Impresión | 0 | 10-06-2007 01:04:40 |
La PC se Reseta sola y de manera aleatoria | Enan0 | Varios | 5 | 25-04-2006 17:34:21 |
Hacer que me saque 50 números de forma aleatoria | james_dean | Varios | 4 | 16-05-2005 22:20:15 |
|