Как отформатировать продолжительность песни в минутах и секундах?

1

Я работаю над Windows Form Application, в котором у меня есть музыкальный проигрыватель с помощью компонента "axWindowsMediaPlayer". Он может импортировать файлы mp3 и wav, отображать песни в списке, сохранять и загружать список воспроизведения и т.д.

Теперь я хочу, чтобы метка показывала прошедшее время песни, которая в данный момент воспроизводится в формате минут: секунды.

Как мне это сделать?

Здесь одна из моих попыток:

int count = (int)axWindowsMediaPlayer.currentMedia.duration;
count--;
elapsedLbl.Text = count.ToString();

Здесь, где я застрял.

[EDIT] В этот момент я отформатировал его правильно, но теперь счет не идет вниз.

  • 0
    Какое у тебя представление за прошедшее время?
  • 0
    Вы должны рассмотреть структуру TimeSpan . Если вам нужно больше информации, вам нужно будет предоставить нам более подробную информацию о том, что вы пытались.
Показать ещё 14 комментариев
Теги:
winforms
axwindowsmediaplayer

3 ответа

3

Если вы используете элемент управления ActiveX проигрывателя Windows Media, есть продолжительность и свойство currentPosition.

AxWindowsMediaPlayer1.currentMedia.duration

AxWindowsMediaPlayer1.Ctlcontrols.currentPosition

Оба в считанные секунды, поэтому вам просто нужно преобразовать их в нужный формат. Вы можете использовать:

TimeSpan.FromSeconds(double value)

Чтобы создать временной интервал, а затем с помощью этого времени переведите его в форматированную строку, как упоминал YoupTube. Или вручную преобразуйте секунды в минуты и секунды, как отметил Марк Шевченко.

1

Что-то вроде:

timespanVariable.ToString("mm:\\ss")

Или когда у вас есть DateTime:

datetimeVariable.ToString("mm:ss")

Как упоминал Мэтт Джонсон, вот ссылка на него.

  • 1
    Проверьте эту ссылку для более пользовательских форматов даты и времени: msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
  • 1
    Для временного промежутка вы должны избежать толстой кишки. "mm\\:ss" или @"mm\:ss" .
Показать ещё 1 комментарий
0

Объект AxWindowsMediaPlayer может извлекать текущий элемент мультимедиа через свойство currentMedia. На этом объекте durationString есть свойство, которое возвращает формат "HH: MM: SS". Другие форматы можно использовать с помощью объекта duration.

Документы AxWindowsMediaPlayer http://msdn.microsoft.com/en-us/library/windows/desktop/dd562405(v=vs.85).aspx

Документы интерфейса IWMPMedia http://msdn.microsoft.com/en-us/library/windows/desktop/dd563397%28v=vs.85%29.aspx

Ещё вопросы

Сообщество Overcoder
Наверх
Меню