PDA

Ver la Versión Completa : Lectura archivos cda desde unidad CD


Guillermo80
08-05-2007, 18:33:10
Hola, quería comentar varias cuestiones que necesito resolver, a saber:

1.¿Cómo podría hacer un programa que me leyera un archivo de audio cda y que me lo guardara en el disco duro como wav?

2.¿Cómo se manipulan ficheros con Delphi?

Soy novato total con esto de Delphi, para manipular ficheros lo hacía con c++.

Gracias y ayudadme¡¡

cHackAll
09-05-2007, 18:48:49
Creo que pides algo facil, y algo hecho por pocos. Para tu Ripeador: Te aconsejo usar componentes existentes que utilicen preferentemente a "lame_enc.dll" para convertir, revisa porsiacaso la LGPL. Te dejo un ejemplo muy orientador de Alexei O. Sabline (http://www.inspired.sk/delphi/components/t/tlame.zip) (pero creo que en realidad lo realizó Silhwan Hyun)

Para tu otra consulta, pedías una guía del acceso a archivos, pues es sencillo. Delphi utiliza el legado del Pascal para tal acceso, las funciones son:
AssignFile // Asigna
Reset // Abre
ReWrite // Abre/Crea/Trunca
FileSeek // Salta
CloseFile // Cierra
ReadLn // Lee una línea (texto)
Read // Lee un caracter
Write // Escribe un caracter
(etc), escríbelas en Delphi y pulsa F1 para obtener una descripción y un ejemplo. (revisa: "file management routines")
También podrás encontrar un buen soporte (menos orientado a texto) con "TFileStream".

Personalmente ninguno me agrada, cuando usaba Turbo Pascal aceptaba dichas funciones pues realizaban exactamente lo mismo que las interrupciones del DOS hacían, una llamada y punto. Ahora lo complicaron bastante al realizar una interpretación al lenguaje, así que de te dejo las funciones que cualquier lenguaje de programación termina utilizando para acceder al sistema de archivos mediante el S.O. (en este caso Güindos)

CreateFile, ReadFile, WriteFile, SetFilePointer, SetEndOfFile, CloseHandle, etc.

(claro que el bajar de nivel te da la desventaja de tener que volver a realizar algunas rutinas pero...)

PD: Buena honda que te hayas pasado a Delphi!

Guillermo80
09-05-2007, 21:06:30
Chackall, en 1er lugar, muchas gracias por la información, en los próximos días voy a estar muy ocupado haciendo mis pinitos con Delphi y creo que empezaré aprendiendo a manejar la librería y leyendo la cabecera de un .cda.

Realmente tienes razón en esto de que la lectura de archivos cda desde la unidad de cd/dvd es cosa que no está muy prodigada por los promagadores y me estaba costando trabajo conseguir información al respecto.

Por mi parte he encontrado una librería con funciones que creo que son similares (todavía no la he analizado a fondo) a la LAME_ENC.DLL, que se llama akrip32.h usada en C, entonces se me plantea:

¿Será mejor tirar de la .dll o por el contrario importar la akrip32.h en delphi y crearme mi dll...?mmm...me estoy ¿liando?

Por cierto, muy interesante lo de leer la LESSER GENERAL PUBLIC LICENCE, he encontrado un enlace en español, que voy a dejar por si a alguien en mi misma situación le pudiera interesar:

http://gugs.sindominio.net/licencias/lgpl-es.html

Bueno pues voy a seguir investigando un poco el tema. Hasta pronto¡¡

Guillermo80
09-05-2007, 21:09:26
Un tema, el lame no es para codificar a mp3, segun el enlace que me distes es para pasar de cda a mp3, ¿no? ¿hay algún acceso intermedio que simplemente coja cda y me almacene un wav en disco?