sonidos en db

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
taoru
Hacker del Foro
Mensajes: 72
Registrado: 31 Mar 2010, 07:53
Ubicación: buenos aires
Contactar:

sonidos en db

Mensaje por taoru »

hola a todos!.
estoy desarrollando juegos para personas ciegas, audiojuegos, y tienen bastante sonidos.
en vez de incluir 1 a 1 los sonidos con fileinstall y extraerlos todos en una carpeta, se me ocurría porque no meterlos en una bd sqlite y extraerlos de ahí cada vez que lo necesite, ahora mi consulta es:

hay alguna librería de sonido que reproduzca una variable binaria de sonido?.
y como leer el contenido binario del audio y cargarlo en la variable para guardar esa variable?.

mi idea es cargar el mp3 en una variable, y guardarla en el sqlite, cuando necesite ese sonido leer de la bd, cargarlo en la variable y reproducirlo.

* ¿es posible?, o se sobrecargaría demasiado el script.
* o se les ocurre alguna otra forma para meter todos los sonidos dentro de un solo archivo?.

la mayoría de sonidos son pequeños, mp3 de 50k a 200k aprox. hay muy pocos que son secuencias mas largas, pero la mayoría son pequeños.
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: sonidos en db

Mensaje por Dany »

Puedes modificar este código.

http://www.autoit.de/index.php?page=Thr ... post134718


y agregar algo parecido a esto.

Código: Seleccionar todo

#include <sqlite.au3>
#include <sqlite.dll.au3>
Local $hQuery,$aRow
_SQLite_Startup()
_SQLite_Open(@ScriptDir & "\artists.db")
_SQLite_Exec(-1,"Create table Songs (Title not null, mp3Path not null, LyricPath not null);" & _
                "Insert into Songs values ('abb','C:\Foo.mp3','C:\foo.txt');" & _
                "Insert into Songs values ('slipknot - before I forget','C:\bif.mp3','C:\bif.txt');")
$d = _SQLite_Exec(-1, "Select Songs.Title From Songs;", "_result")
Func _result($aRow)
    For $s In $aRow
        ConsoleWrite($s & @TAB)
    Next
    ConsoleWrite(@LF)
EndFunc
_SQLite_Close()
_SQLite_Shutdown()
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: sonidos en db

Mensaje por arkcrew »

Por lo que a mi respecta, considero que almacenar cosas que no sean texto en una BD es desaprovechar el potencial, te recomendaría que o bien hicieses un fileinstall, que las incluyeses junto con tu archivo por separado, que hagas streaming de los archivos, o que los descargues de internet, pero meterlos en la BD.... en serio? XD


Saludos!
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: sonidos en db

Mensaje por Dany »

arkcrew escribió:Por lo que a mi respecta, considero que almacenar cosas que no sean texto en una BD es desaprovechar el potencial, te recomendaría que o bien hicieses un fileinstall, que las incluyeses junto con tu archivo por separado, que hagas streaming de los archivos, o que los descargues de internet, pero meterlos en la BD.... en serio? XD


Saludos!

No esto de acuerdo.

BLOB. The value is a blob of data, stored exactly as it was input.
http://www.sqlite.org/datatype3.html

He visto muchas proyecto que guardan música, imagenes, etc en db.

Saludos
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: sonidos en db

Mensaje por arkcrew »

Buenas Dany,

Personalmente me paso el día entero peleándome con bases de datos inmensas, Oracle, SQL Server y MySQL y ya te digo yo que a nivel de recursos, aunque almacenemos como texto o como puñetas se almacene, se está realizando un proceso inecesario de conversión a blob para almacenarlo, y uno de conversión al formato que queremos cuando leemos. Esa operación nos la podemos ahorrar simplemente haciendo lo que comentaba en mi post anterior.

Que hayas visto muchos proyectos no implica que necesariamente sea bueno, poniendo un ejemplo muy brutal, yo veo a mucha gente drogarse y no no por ello deja de estar bien xDDD

Ya te digo, a nivel de optimización de recursos, es mucho más recomendable no almacenar ese tipo de contenidos en bases de datos, que cada uno piense y haga lo que quiera, pero óptimo no es, piensa que estás engordando el tamaño de una base de datos de forma inecesaria.

Eso pienso yo y me baso en hechos, guardar datos así consume más recursos que no hacerlo.

Saludos
taoru
Hacker del Foro
Mensajes: 72
Registrado: 31 Mar 2010, 07:53
Ubicación: buenos aires
Contactar:

Re: sonidos en db

Mensaje por taoru »

hola!, gracias dani, si eso es lo que andaba buscando, tendré bastante para investigar con esto hasta que lo haga andar, gracias por la orientación y gracias por la respuesta.
lo que no me quedó muy claro es como guardar el código binario, osea leer todo el mp3 cargarlo en la variable y transformar ese dato binario en string para guardar. en la web muestra como tiene todo el sonido en variables. pero eso lo tendré que investigar, vamos a encontrar la forma.

arkcrew, tienes razón con lo que dices, actualmente utilizo los sonidos suelto en la carpeta y incluyo fileinstall por si eliminan alguno.
pero cuando terminan siendo muchos moverlos, categorizarlos etc termina siendo tedioso, así que quería probar esto de tenerlo todo en una base de datos. aparte hay programas puntuales que solo llevan quizás 10 sonidos, si lo podés compilar en el mismo programa me parece mucho mas cómodo, no estrae nada.
por potencia cuando hay muchas máquinas potentes hoy en día, si son soft pequeños no me preocupo, son juegos educativos y puntuales, nada de mucha complejidad, juego de memoria o de reflejo es lo que intento hacer.
termine ahora ejemp un cronómetro, seguramente cuando termine de retocar unas cositas lo publicaré por el foro.
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: sonidos en db

Mensaje por Dany »

Si me da tiempo te dejo un ejemplo.

saludos
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: sonidos en db

Mensaje por Dany »

Aquí te dejo el ejemplo:

abres ejemplo.au3 lo ejecutas seleccionas la canción y le das a reproducir.

https://www.sendspace.com/file/lr6dvc

saludos
  • ............................................Imagen
    ......................................Imagen
Responder