FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Optimización de un simple sampler
Saludos, tengo una pequeña duda en cuánto a la optimización de un sampler que hice para una radio. Sin embargo, presenta ciertos retrasos (1 o 2 segundos) para lanzar un sonido, entonces es problemático porque los sonidos deberían lanzarse al momento. El código es el siguiente:
El sampler consta de una rejilla de varios TButton y cada uno de ellos se les asignó un evento "OnMouseDown" y otro "OnMouseUp" (para controlar la reproducción del sonido, OnClick no serviría porque el sonido seguiría sonando aún después y no sería adecuado agregar otro para detenerlo, cuando esa modalidad estilo "Push to talk" es ideal). OnMouseDown: OnMouseUp:
Mi pregunta en la que por favor les pido que me ayuden, es ¿Cómo haría para optimizar ese código para cada botón de tal forma que la reproducción sea mucho más rápida? Creo que sería pre-cargarlos en la RAM, pero no sé como sería eso... Gracias de antemano por su ayuda.
__________________
Aprendiz de Embarcadero RAD Studio... |
#2
|
||||
|
||||
¿Has probado a tener hasta el Open abierto y en el botón sólo realizar el
PLAY? Habría que ver de todas formas si funciona y qué memoria llega a consumir...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Bueno, eso funcionaría si yo tuviera un solo botón, pero tengo varios y cada uno con un sonido diferente, y todos comparten el mismo MediaPlayer, habría que ver que tal si los 50 botones tuvieran su propio MediaPlayer. Pero busco una solución eficiente en cuánto a uso de memoria.
__________________
Aprendiz de Embarcadero RAD Studio... |
#4
|
|||
|
|||
Hola,
evidentemente el error te viene de tener que cargar el archivo en el momento. Tendras que tenerlos precargados. No se bien bien como se haria, probablemente puedas usar el archivo .res o bien usar streams o, tal como dice neftali, usando un mediaplayer para cada uno. Un saludo. |
#5
|
|||
|
|||
los componentes Jedi tienen un componente que se llama TJvWavePlayer,
que tiene la propiedad SourceType donde puedes escoger: File Ram Resource quizas te pueda servir y si quieres añadir mas opciones tambien puedes echar un vistazo a estos componentes, aunque son de pago: http://www.swiftsoft.de/mmwave.html y http://www.swiftsoft.de/mmeffekt.html otros componentes gratuitos que les puedes echar un vistazo, tienen buena pinta http://www.delphiarea.com/?dl_id=28 y otros más gratis y buenos http://symmetrica.net/newac/ estos los he probado y tienen un ejemplo que se llama MP3Player que me reproduce los mp3 al instante de cargarlos sin demora, creo que tira de DirectX para ello. te pego el programa reciencompilado para que lo veas: http://rapidshare.com/files/33383334...layer.rar.html Última edición por cocute fecha: 11-01-2010 a las 21:52:13. |
#6
|
||||
|
||||
¡Muchas gracias por su ayuda! Ya guardé la página para luego probar bien esos componentes, de todas formas ya lo probé en la máquina 'target' y sí, depende mucho de las capacidades de la máquina, ya vi que en esa sí funciona instantáneamente como debería ser, es la mía que no es tan potente como esa.
__________________
Aprendiz de Embarcadero RAD Studio... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Optimización! Optimización! | PiornoCKA&G | Varios | 1 | 31-12-2006 20:45:30 |
Optimizacion en Intraweb | jonnyxve | Internet | 0 | 10-04-2006 18:07:13 |
Optimización de los índices | AMINOA2R | Firebird e Interbase | 13 | 04-08-2005 17:18:50 |
optimizacion del SQL | seb@ | SQL | 1 | 22-09-2004 19:55:24 |
Optimizacion | manuelpr | Conexión con bases de datos | 3 | 30-07-2004 17:26:24 |
|