Control '' has no parent window (TMediaPlayer)
Hola, a ver si pueden ayudarme, mi pregunta es muy simple.
¿Cómo puedo hacer para crear un objeto MediaPlayer en una unit que no tiene un Form asociado? Me está arrojando el error Control '' has no parent window y supongo que es porque no tiene una ventana 'padre' donde mostrarse el componente. Tengo una unit Varios.pas que la llamo en todos lados de mi aplicación. Aprovechando esto, quiero crear el objeto en esa unit para que esté disponible siempre, en cualquier formulario. En una parte de una función hice lo siguiente:
Y ahí es donde me tira el error. No puedo usar ese componente sin asociarle una ventana 'padre'? Espero haber sido claro y que puedan ayudarme! Muchas Gracias, Santiago |
Hola sbraceras.
Cita:
Llamada:
Saludos. |
Hola de nuevo.
Se me ocurrió qP:-), que si no precisas la presencia de los TButtonSet, sería mas sencillo y versátil usar la función mciSendString:
Llamada de ejemplo:
Saludos. :) |
Muy amable ecfisa!
Lo único que quiero hacer es reproducir mp3, no videos. Por esto es que de verdad no necesitaría ninguna ventana 'padre'. Y los botones del MediaPlayer no los preciso realmente. Ya me habías recomendado usar la función mciSendString. El problema es que necesito saber cuando finaliza cada archivo de audio, para luego reproducir otro a continuación. Me recomendaste el parámetro 'wait' recuerdo, pero se cuelga la aplicación esperando a que finalice la reproducción y no me sirve. Y no quiero crear un thread tampoco pues es más engorroso. Por esto es que opté por el TMediaPlayer. Lo que hice fue poner un Timer que vaya 'mirando' la condición if MediaPlayer.Position = MediaPlayer.Length then begin y listo. Voy a optar me parece por enviarle el padre por parámetro a una función PlayMedia(aWCtrl: TWinControl; const aFileName: string); y esconderé el componente entero, pues no quiero que aparezca nada del componente en pantalla. O bien definitivamente crearé un Form nuevo y colocaré ahí el componente. Cómo lo ves? Gracias de nuevo! :) |
Pero yo no entiendo... nada te impide poner el componente en cualquier lado del form y establecer en false su propiedad Visible. Si la idea es tener el TMediaPlayer sin estar mostrandolo me parece la manera más simple, y que no requiere código alguno de hacerlo.
Saludos, |
Cita:
Gracias Delphius! Saludos |
Cita:
En realidad la función reproduce videos o audio indistintamente. Podrías hacer lo siguiente sin ningún problema:
Saludos.:) |
Cita:
De este modo no interesa cuantos forms existan... como el Form Principal si o si debe estar presente (de cerrarlo se cierra la aplicación). Saludos, |
Cita:
|
La franja horaria es GMT +2. Ahora son las 23:00:44. |
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