2009-12-09 7 views
1

Im используя WMPLib, чтобы сделать простой mp3player в C#. Я почти закончил, но это еще одна вещь, которую я хочу сделать.C# WMPLib Продолжительность mp3

Я хотел бы, насколько далеко ушла песня, а также, сколько осталось от песни. , используя, например, панель прогресса.

благодаря

Адам

+0

не против сказать, что делает программа? =) – Marcelo

+0

прямо сейчас его файлы воспроизведения, поддерживаемые WMPLIb: P, но я не могу понять, как заставить контроллер прогресса перемещаться на одну секунду за раз: P –

ответ

1
private void timer1_Tick(object sender, EventArgs e) 
{ 
    double percent = 0; 
    if (mp.Length != 0) 
    percent = ((double) wplayer.controls.currentPosition/wplayer.controls.currentItem.duration); 
    progressBar1.Value = (int)(percent * progressBar1.Maximum); 
} 
0

У меня есть идея, просто попробуйте добавить StatusStrip в форму проекта, и попытаться добавить ToolStripStatusLabel и ToolStripProgressBar к нему, а затем вы можете использовать этот простой код, он работает на 100%:

public void Sound_Progress(ToolStripStatusLabel l1, ToolStripProgressBar psb) 
    { 
     //NASSIM LOUCHANI 


      int i = Convert.ToInt32(Player.controls.currentItem.duration); 
      int j = Convert.ToInt32(Player.controls.currentPosition); 
      int Defrence = (i-j); 
      l1.Text = Player.controls.currentPositionString + " | " + Player.controls.currentItem.durationString; 

      psb.Maximum = i; 
      psb.Minimum = 0; 

      if (Defrence == i) 
       psb.Value = i; 
      else if (Defrence != i) 
       psb.Value = Defrence; 
      else if (Defrence == 0) 
       l1.Text = ""; 

    } 

и не забудьте добавить таймер в форму проекта и поставить Sound_Progress (ваш ToolStripStatusLabel, ваш ToolStripProgressBar) в ваше событие Timer_Tick().

Спасибо!