Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-11-2008
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 393
Poder: 15
rrf Va por buen camino
¿ Se puede leer/escribir/reproducir archivos MP3 a/desde un MemoryStream ?

Hola a tod@s.

Uso Delphi 5 pro y quiero guardar/leer archivos MP3 en campos blob de una tabla en Firebird para luego reproducirlos directamente (sin grabar el archivo MP3 en el disco duro).

No se si esto es posible y por ello consulto por si hay alguien que sabe si se puede hacer y me puede dar información acerca de como hacerlo.

La idea es que el programa:

1- Lea un archivo MP3 (que estaba en el disco duro), lo convierta en un MemoryStream y lo guarde en un campo blob. Lo de guardar el MStream en un blob no creo que me de problemas, pues ya lo hago con imágenes y me funciona.

2- Luego debería leer ese MemoryStream de Firebird y reproducirlo directamente (sin grabarlo antes en el disco duro).

Estuve probando un componente (MP3Tag) que (en el ejemplo que incluía) se combinaba con el MediaPlayer y lo hacía, con la excepción de que había que grabar el archivo en el disco duro para que MediaPlayer lo pudiera leer y reproducir. Por ello, creo que no me serviría.

Si esto no es posible, también agradecería la información.

Gracias por adelantado.

Ramón.

Última edición por rrf fecha: 20-11-2008 a las 21:46:59.
Responder Con Cita
  #2  
Antiguo 21-11-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 13
cHackAll Va por buen camino
hola rrf, lo primero que me viene a la mente es una BD con BLOBs de ~5 Mb. pues creo que ello no es algo "muy óptimo".Creo que deseas que el usuario final no pueda acceder a los MP3 y que tu app sea la unica encargada de reproducir la musica (digamos "protegida").

Si no importa tanto la calidad del sonido lo que te podria aconsejar es convertir los archivos de audio en wav (hasta compreso) y reproducirlo con la API PlaySound usando SND_MEMORY, de ésta forma evitarás que sea escrito en disco. Tambien puedes considerar buscar algun componente encargado de descomprimir dicho formato (lame), de tal forma que puedas enviar por bloques (API waveOutWrite) la informacion sonora.

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #3  
Antiguo 21-11-2008
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 393
Poder: 15
rrf Va por buen camino
Hola Javier.

Te aclaro que lo que quiero guardar es sonido de voz en el menor espacio posible; no se trata de música.

Con relación a ocultar los archivos MP3, no es lo que buscaba. Pensé que hacer el proceso en memoria sería más rápido que realizarlo grabando y leyendo del disco.

Supongo que lo que me quieres decir es que guarde la información en archivos en formato WAV comprimiendolo antes y que luego lo reproduzca. Lo voy a probar.

Gracias por tu recomendación.

Ramón
Responder Con Cita
  #4  
Antiguo 22-11-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 13
cHackAll Va por buen camino
Cita:
Empezado por rrf Ver Mensaje
...Te aclaro que lo que quiero guardar es sonido de voz en el menor espacio posible; no se trata de música.

Con relación a ocultar los archivos MP3, no es lo que buscaba...
Ok, entonces debes asegurarte que su calidad sea lo suficientemente "baja" para que ocupe poco espacio ~(mono de 8.0 kHz), y de allí considerar algun algoritmo de compresión.

Cita:
Empezado por rrf Ver Mensaje
...Pensé que hacer el proceso en memoria sería más rápido que realizarlo grabando y leyendo del disco...
No, guardarlo en una BD implica que "al final" va a guardarlo en algun archivo al cual accederá, y de alli lo convertira a un Blob, luego a un Stream y luego lo reproducirá; ésto implica varios procesos extra que va a reducir la "velocidad".

Fuera de la recomendacion inicial (que sin desearlo percibiste), creo que lo demás son complicaciónes inecesarias.

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
leer y escribir en archivos .txt o cualquier otra extension jafi666 Varios 1 13-03-2008 23:14:19
Leer Archivos .PDF desde delphi Poperman Varios 5 31-01-2008 01:59:49
problema al leer archivos desde windows.... omardelahoz Windows 1 06-02-2007 21:43:03
Leer archivos xml desde delphi Ivanzinho Varios 3 21-12-2006 17:19:25
Reproducir Archivos *.vob abelg Varios 3 06-04-2005 08:43:18


La franja horaria es GMT +2. Ahora son las 17:40:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi