Proyecto "Generador de acervo para dispositivos portátiles"

Post Reply

Topic author
Salva
Posts: 70
Joined: 08 Feb 2011 03:24

Proyecto "Generador de acervo para dispositivos portátiles"

#1

Post by Salva » 30 Jun 2013 05:23

Saludos a todos:

EL objetivo del proyecto fue desarrollar un programa para la plataforma windows que generara una copia de mi acervo musical para ser usado en dispositivos portátiles (tabletas, teléfonos, ipods, etc)

El lenguaje de programación seleccionado fue VB .NET

Lo que hace el programa es: Partiendo de una carpeta de referencia, clona la estructura a partir de la carpeta de referencia y convierte los archivo de música del formato que sea a formato Mp3 (no quiero calidad, mas bien portabilidad).

Para la codificación a MP3 se utilizo el programa de distribución libre Lame, compilado para windows

Se desarrolló una Interfaz gráfica de usuario o GUI (Graphic User Interface) sencilla con un control buscador de directorios, una caja de texto (donde se deposita el resultado de la selección del directorio base), y un control de lista donde se depositan los directorios anidados.

Algunos trucos importantes:

1.- Para la codificación de formato aiff o m4a (apple) primero se convierte a Wav empleando Faad2 compilado para windows.
2.- Los archivos en formato aiff o m4a pueden tiener asociado un archivo oculto que comienza con la cadena "._", estos se tienen que evitar mediante una instrucción tipo "If Then Else"
3.- Se tiene que incluir una línea que indique al programa que debe esperar a que finalicen los procesos por comando para que no se le haga bolas el engrudo :) (objProcess.WaitForExit())

A continuación encontrarán la rutina más truculenta del proyecto, es la que realiza la conversión con lame. Por cierto, si sustituyen lame por faad ya tienen ambas rutinas (solo que faad no requiere, necesariamente, dos argumentos en la línea de comando, pueden borrar el segundo y listo).

Public Sub ConvierteConLame(ByRef iRutyNomArch As String, ByRef RutayNomArchT As String)
' lame --abr 128 "sample.wav" "sample.mp3"
Dim objProcess As System.Diagnostics.Process
objProcess = New System.Diagnostics.Process()

Try
'objProcess = New System.Diagnostics.Process()
objProcess.StartInfo.FileName = "mi_ruta_lame\lame"
objProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal 'ProcessWindowStyle.Hidden
objProcess.StartInfo.Arguments = "--abr 128" & " " & """" & iRutyNomArch & """" & " " & """" & RutayNomArchT & ""
objProcess.Start()
'Espera a que termine el proceso
objProcess.WaitForExit()
objProcess.Close()
Catch
MessageBox.Show("Mis mensajes de error")
End Try

End Sub


rcalanis
Posts: 10
Joined: 10 Jun 2011 22:00

Re: Proyecto "Generador de acervo para dispositivos portátil

#2

Post by rcalanis » 30 Jun 2013 13:51

Buen dìa,

me parece una excelente aportaciòn e idea, en hora buena!

Saludos!
Tanto penar para morirse uno,
Miguel Hernández

Post Reply

Return to “Artí­culos y referencias técnicas”

Who is online

Users browsing this forum: No registered users and 1 guest