¡Hola, chicos del scripting!

Bienvenido a la columna TechNet en la cual, por medio de Microsoft Scripting Guy, se abordan las preguntas frecuentes acerca de las secuencias de comandos para la administración de sistemas. ¿Tiene alguna pregunta sobre las secuencias de comandos para la administración de sistemas? Envíe un correo electrónico a scripter@microsoft.com. No podemos garantizarle que seremos capaces de responder todas las preguntas que nos lleguen, pero haremos todo lo posible.

Y no se olvide de consultar el Archivo de ¡Hola, chicos del scripting!.

Pregunta del día: ¿cómo puedo cambiar la propiedad Title de un archivo .WMA?


¿Cómo puedo cambiar la propiedad Title de un archivo .WMA?

P

¡Hola, chicos del scripting! ¿Cómo puedo cambiar la propiedad Title de un archivo .WMA?

-- LL

R

Hola LL. Aquí tiene una pequeña anécdota. Originalmente, la conocida canción de los Beatles Yesterday se tituló Scrambled Eggs. (Empiece a cantar la canción, pero en lugar de “Yesterday” diga “Scrambled eggs”.) Sin embargo, antes de que el grupo la grabara, Paul escribió una nueva letra y, durante el proceso, cambió también su título. El resto, como se suele decir, es historia.

Sin duda, su próxima pregunta será la siguiente: ¿utilizó Paul McCartney una secuencia de comandos para cambiar el título de Scrambled Eggs? A decir verdad, no lo sabemos; siempre quisimos preguntárselo a Paul, pero cada vez que nos vemos parece que surgen otras cosas y nos olvidamos de preguntarle. Sin embargo, no hay duda de que podría haber utilizado una secuencia de comandos como ésta para cambiar el título:

Set objPlayer = CreateObject("WMPlayer.OCX" )
Set objMediaCollection = objPlayer.MediaCollection
Set objTempList = objMediaCollection.getByName("Scrambled Eggs")
Set objSong = objTempList.Item(0)
objSong.setItemInfo "Name", "Yesterday"

Antes de continuar, deberíamos señalar que esta secuencia cambia el título de la canción únicamente en el Reproductor de Windows Media. Cuando se visualice la lista de canciones en el Reproductor de Windows Media, la canción anteriormente conocida como Scrambled Eggs aparecerá ahora como Yesterday. Sin embargo, esta secuencia no cambia el archivo .WMA en sí: el nombre del archivo permanece tal cual y si hace clic con el botón secundario del mouse (ratón) y examina Propiedades del resumen, el título seguirá siendo Scrambled Eggs. Por desgracia, no conocemos un método para cambiar la propiedad Title en el propio archivo; lo único que podemos hacer es cambiar la forma en que el título se muestra en el Reproductor de Windows Media.

Nota. ¿Cómo dice? ¿No sabía que se podían crear secuencias de comandos para el Reproductor de Windows Media? Se conoce que no ha visitado nunca Dr. Scripto’s Fun Zone (en inglés).


Si se conforma con sólo cambiar el título que aparece en el Reproductor de Windows Media, puede continuar leyendo. Como puede observar, nuestra secuencia comienza creando una instancia del objeto WMPlayer.OCX, que es simplemente el objeto que proporciona acceso mediante programación al Reproductor de Windows Media. A continuación, utilizamos estas dos líneas de código para enlazar con la colección de medios del Reproductor de Windows Media y devolver una lista de todas las canciones que tienen el título Scrambled Eggs:

Set objMediaCollection = objPlayer.MediaCollection
Set objTempList = objMediaCollection.getByName("Scrambled Eggs")

Y sí, necesitamos devolver una colección: el motivo es que el Reproductor de Windows Media permite tener varias canciones con el mismo título. Vamos a suponer que ha asignado a todas las canciones unos títulos exclusivos; eso nos permite tomar un pequeño atajo al enlazar con la canción y cambiar el título. Si tiene varias canciones con el título Scrambled Eggs, puede utilizar esta secuencia modificada para cambiar el título de todas ellas:

Set objPlayer = CreateObject("WMPlayer.OCX" )

Set objMediaCollection = objPlayer.MediaCollection Set objTempList = objMediaCollection.getByName("Scrambled Eggs")

For i = 0 to objTempList.Count - 1 Set objSong = objTempList.Item(i) objSong.setItemInfo "Name", "Yesterday" Next

Ahora, volvamos a la secuencia de comandos en la que se asume que sólo tiene una canción titulada Scrambled Eggs. Si ese es el caso, sólo necesitamos esta línea de código para enlazar directamente con la única canción que tiene dicho título (omitiendo completamente el bucle For Next que tuvimos que utilizar en la secuencia anterior):

Set objSong = objTempList.Item(0)

Una vez realizada la conexión, cambiar el título resulta tan sencillo como utilizar el método setItemInfo para modificar la propiedad Name de la canción a Yesterday:

objSong.setItemInfo "Name", "Yesterday"

El resto, como se suele decir, es historia.

Casualmente, a los chicos del scripting también nos gusta más el título Scrambled Eggs; al menos, queda bien con la canción I Am the Walrus (“I am the egg man, they are the egg men”). Pero los Beatles nunca nos pidieron nuestra opinión sobre esta canción. Deseamos que las cosas les fueran bien aún sin nuestra ayuda.


Para más Información

Consulte el Archivo de ¡Hola, chicos del scripting!.

Arriba Arriba