Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/04/2009, 23:09
Avatar de kusanagi_shadow
kusanagi_shadow
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Leer tags de mp3 en tiempo de ejecución con c#

Bueno, saludos a todos

Ando desarrollando un reprouctor de mp3 en c#, pero tengo un pequeño problema, quiero sacar los tags del archivo que se está ejecutando en tiempo real mediante un control de windows media player, pero al momento de querer hacerlo ocurre un error ya que marca que no puede leer al mismo tiempo que se está ejecutando el mp3.
Alguien sabe algún otro metodo para sacar los tags en tiempo de ejecución?
Aqui les dejo el código con el que saco los tags.


if (Reproductor.playState == WMPLib.WMPPlayState.wmppsPlaying)
{
string fileMP3;
fileMP3 = Reproductor.currentMedia.sourceURL.ToString();

if (fileMP3.Length > 0)
{
FileStream fs;
fs = new FileStream(fileMP3, FileMode.Open);
byte[] buffer = new byte[128];
fs.Seek(-128, SeekOrigin.End);
fs.Read(buffer, 0, 128);
fs.Close();

Encoding enc = new ASCIIEncoding();
string id3 = enc.GetString(buffer);

if (id3.Substring(0, 3).Equals("TAG"))
{
txtTrack.Text = id3.Substring(3, 30).TrimEnd();
txtArtista.Text = id3.Substring(33, 30).TrimEnd();
txtAlbum.Text = id3.Substring(63, 30).TrimEnd();
}

else
{
MessageBox.Show("No tag", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

Saludos, y espero puedan ayudarme.
De antemano gracias