FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Reproducir audio en archivo de recursos con TMediaPlayer
Hola! Les comento lo que estoy queriendo hacer y agradecería me confirmen si es la mejor alternativa que existe
Yo tengo archivos de audio (mp3, midi, wav, wma) 'metidos' en el ejecutable usando un archivo de recursos, ya que no quiero cargarlos desde disco porque no quiero que exista la posibilidad de que manipulen esos archivos. Lo que quiero es poder reproducirlos en mi aplicación. Estuve investigando y una forma muy fácil es usar la función PlaySound de la API de Windows o bien sndPlaySound, pero según pude notar, sólo reproduce wavs! Esto es así? Entonces como yo quiero reproducir cualquier formato usé el TMediaPlayer que viene en la paleta de componentes y la verdad que reproduce todos los formatos, pero el problema está en que con el TMediaPlayer no puedo cargarle los archivos embebidos en el exe directamente, sino que debo indicar en la property FileName el nombre de archivo que quiero reproducir. En cambio con PlaySound lo logro de una manera muy fácil. Entonces no me queda otra alternativa que extraer los archivos de audio de mi ejecutable y copiarlos a disco y luego indicar en la property FileName el archivo que quiero reproducir. ¿Estoy haciendo lo mejor que se podría hacer? Esa es mi inquietud. Muchas gracias de antemano! |
#2
|
||||
|
||||
Hola sbraceras y bienvenido a Club Delphi
Una opción es usar la función mciSendString. Ejemplo:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
Muchas gracias ecfisa por tu respuesta!
Supongo entonces que no hay otra alternativa para reproducir cualquier tipo de archivo de audio directamente desde los recursos del ejecutable, hay que grabarlos en disco si o si. Eso quería saber. Por último, si uso esa función de la API (mciSendString) no puedo detectar cuando ha finalizado el sonido? Necesito sí o sí detectar cuando finalizó un sonido para ejecutar un nuevo sonido a continuación (es para guiar al usuario en el uso del sistema mediante audios de ayuda). Quiero ejecutar un audio que dice 'Bienvenido!' y seguido a este, otro audio que dice 'Por favor, presente el ticket en el lector' y así... y los audios pueden venir en diferente formato, pero son todos mp3 o son todos wma o son todos wav). Por qué recomendaste usar esa función de la API en vez del TMediaPlayer? Mil gracias de nuevo por tu ayuda! Saludos! |
#4
|
||||
|
||||
Cita:
En realidad no fué una recomendación sino presentarte una alternativa al uso de TMediaPlayer, pero en ningún caso con la intención de desmerecer el uso de este último. Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
|||
|
|||
Bueno, muy amable ecfisa!
Respecto a esta pregunta me puedes ayudar por favor? si uso esa función de la API (mciSendString) no puedo detectar cuando ha finalizado el sonido? Necesito sí o sí detectar cuando finalizó un sonido para ejecutar un nuevo sonido a continuación. Se entiende? |
#6
|
||||
|
||||
Hola.
Creo que te puede servir el flag Wait. Ejemplo:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Reproducir videos seguidamente en TMediaPlayer | kolfito | Gráficos | 7 | 04-09-2013 06:21:00 |
error al reproducir con TMEDIAPLAYER | D1360666 | Varios | 0 | 05-04-2012 19:28:35 |
Reproducir audio (TMediaPlayer) al momento de entrar a un nuevo Form | aquilesbrinko | Varios | 3 | 19-11-2009 00:54:41 |
Reproducir videos en TMediaPlayer | El_Perrito | Gráficos | 3 | 11-04-2009 14:01:34 |
TMediaPlayer y CD Audio | MaMu | OOP | 8 | 12-04-2008 05:57:33 |
|