elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderadores: Novlucker, seba123neo, kub0x, Eleкtro)
| | | |-+  Copiar Archivos a tarjeta Sd de Windows Phone
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Copiar Archivos a tarjeta Sd de Windows Phone  (Leído 387 veces)
Ripajes

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Copiar Archivos a tarjeta Sd de Windows Phone
« en: 2 Marzo 2017, 06:12 »

Buena tarde, este esta es mi primera entrada en este foro, estoy aprendiendo a programar en vb.net con Visual Studio 2015, así que por favor téngame un poco de paciencia.

Cuento con un Nokia Lumia 530 con Windows Phone 8.1, lo que trato de hacer es sincronizar mi música con este celular, el cual cuenta con una tarjeta sd, así que lo que se me ocurrió, dado que toda mi música la administro con Itunes, es exportar una lista de reproducción desde Itunes en formato *.txt, y la idea es, con esta lista, copiar estos archivos a la tarjeta sd, pero en el siguiente orden, por cada mp3 se tiene que crear una carpeta con el nombre del artista y una subcarpeta con el nombre del album. por lo que en la tarjeta sd los archivos se copiarán de esa forma.

Hasta este punto, he podido leer el archivo *.txt, identificar la ruta de cada mp3 e incluso obtener sus etiquetas, como el artista y el álbum. La segunda parte, y en la que me he atorado un poco es copiar estos archivos a la tarjeta SD, la cual explico en los siguiente párrafos.

Primero traté con FolderBrowserDialog para tener un directorio en el cuál trabajar, pero no funcionó, ya que no reconoce directorios de dispositivos portables, así que buscando en google encontré esto: http://dev.flauschig.ch/wordpress/?p=212, por lo que pude entender, ocupa la shell32 de windows, para obtener el directorio, así que con esto puedo obtener el directorio en el cual necesito copiar mi música. El codigo lo muestro a continuación, báscamente es el mismo código que el del link, sólo que en vb.net:

Código:
Dim objshell As Shell32.Shell
        Dim ssfWINDOWS As Long
        Dim objFolder As Shell32.Folder
        ssfWINDOWS = 36

        objshell = New Shell32.Shell
        objFolder = objshell.BrowseForFolder(CInt(Handle), "Choose Folder", 0, 0)
        Dim fi As Shell32.FolderItem = TryCast(objFolder, Shell32.Folder3).Self
        Dim path As String = fi.Path
        txt_rutamusic.Text = path
        CopyFiles(Path2Folder("C:\Users\Rivera\Desktop\Music"), objFolder)
        

Con esto obtengo una ruta como esta: "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\\?\usb#vid_0421&pid_06fc&mi_00#6&b6d8f3&0&0000#{6ac27878-a6fa-4155-ba85-f98f491d4f33}\SID-{20001,MTP Volume - 131073,15539896320}\{00000000-00E0-0040-0000-000000000000}"

La cual en el explorador se ve así: "Este equipo\Windows Phone\SD card\Music".

La línea CopyFiles(Path2Folder("C:\Users\Rivera\Desktop\Music"), objFolder), copia todos los archivos de la carpeta ...\Desktop\Music a la ruta ...\SD card\Music, con el código siguiente:

Código:
   Public Shared Sub CopyFiles(srcFolder As Shell32.Folder, dstFolder As Shell32.Folder)
        For Each currFolderItem As Shell32.FolderItem In srcFolder.Items()
            dstFolder.CopyHere(currFolderItem, 0)
        Next
    End Sub

    Public Shared Function Path2Folder(path As String) As Shell32.Folder
        ' Create Folder if needed
        'Directory.CreateDirectory(path)
        ' Create ShellObject
        Dim shell As New Shell32.Shell
        ' Convert to Shell Folder
        Return shell.[NameSpace](path)
    End Function

Sin embargo, esto está limitado a copiar sólo los archivos que se encuentran en la carpeta ...\Desktop\Music, y lo que quiero, como expliqué, es copiar los mp3 de una lista de reproducción que se encuentra en un archivo *.txt, de los cuales ya tengo identificados las rutas de cada una, y que se ordeden en carpetas por artista y dentro de ésta, por álbum. Pero hasta este punto parece algo bastante complicado. Lo que se me ocurrió es crear, mediante un proceso iterativo, las carpetas de artistas y dentro de éstas, las de los álbumes con los tags que obtengo de los mp3, y copiar ahí cada mp3. Para crear las carpetas podría utilizar el siguiente código:

Código:
objFolder.NewFolder("Carpeta_Artista")

Sin embargo, para crear subcarpetas de cad album  Carpeta_Album tendría que moverme de directorio manualmente con la instrucción:

Código:
objFolder = objshell.BrowseForFolder(CInt(Handle), "Choose Folder", 0, 0)


Además, hasta este punto no sé cómo copiar un archivo mp3 especificando únicamente su ruta.  :(

Así que si alguien puede ayudarme o tiene alguna otra idea de cómo crear estas carpetas y copiar cada archivo mp3, le agradecería mucho  ;-).

Saludos.


« Última modificación: 2 Marzo 2017, 06:16 por Ripajes » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines