C# 如何将歌曲的持续时间格式化为分和秒?

C# 如何将歌曲的持续时间格式化为分和秒?,c#,.net,winforms,axwindowsmediaplayer,C#,.net,Winforms,Axwindowsmediaplayer,我正在开发一个Windows窗体应用程序,其中有一个使用axWindowsMediaPlayer组件的音乐播放器。它可以导入mp3和wav文件,在列表框中显示歌曲,保存和加载播放列表等 现在我想要一个标签来显示当前以分:秒格式播放的歌曲经过的时间 我该怎么做 以下是我的一个尝试: int count = (int)axWindowsMediaPlayer.currentMedia.duration; count--; elapsedLbl.Text = count.ToString(); 这就

我正在开发一个Windows窗体应用程序,其中有一个使用axWindowsMediaPlayer组件的音乐播放器。它可以导入mp3和wav文件,在列表框中显示歌曲,保存和加载播放列表等

现在我想要一个标签来显示当前以分:秒格式播放的歌曲经过的时间

我该怎么做

以下是我的一个尝试:

int count = (int)axWindowsMediaPlayer.currentMedia.duration;
count--;
elapsedLbl.Text = count.ToString();
这就是我被困的地方

[编辑]此时我已正确格式化,但现在计数没有下降。

类似于:

timespanVariable.ToString("mm:\\ss")
或者当您有约会时间:

datetimeVariable.ToString("mm:ss")
正如马特·约翰逊(Matt Johnson)所提到的,事情到此为止。

类似于:

timespanVariable.ToString("mm:\\ss")
或者当您有约会时间:

datetimeVariable.ToString("mm:ss")

正如Matt Johnson所提到的,这里是它。

如果使用Windows Media Player ActiveX控件,则有一个持续时间和currentPosition属性

AxWindowsMediaPlayer1.currentMedia.duration

AxWindowsMediaPlayer1.Ctlcontrols.currentPosition
两者都以秒为单位,因此您只需将它们转换为所需的格式。您可以使用:

TimeSpan.FromSeconds(double value)

创建timespan,然后使用该timespan将其转换为YoupTube提到的格式化字符串。或者如马克·舍甫琴科所述,手动将秒转换为分和秒。

如果使用Windows Media Player ActiveX控件,则有一个持续时间和currentPosition属性

AxWindowsMediaPlayer1.currentMedia.duration

AxWindowsMediaPlayer1.Ctlcontrols.currentPosition
两者都以秒为单位,因此您只需将它们转换为所需的格式。您可以使用:

TimeSpan.FromSeconds(double value)

创建timespan,然后使用该timespan将其转换为YoupTube提到的格式化字符串。或者如Mark Shevchenko所述,手动将秒转换为分和秒。

AxWindowsMediaPlayer对象可以通过currentMedia属性检索当前媒体项。此durationString对象上有一个返回“HH:MM:SS”格式的属性。使用duration对象可以使用其他格式

AxWindowsMediaPlayer文档

IWMP媒体接口文档

AxWindowsMediaPlayer对象可以通过currentMedia属性检索当前媒体项。此durationString对象上有一个返回“HH:MM:SS”格式的属性。使用duration对象可以使用其他格式

AxWindowsMediaPlayer文档

IWMP媒体接口文档

那么,到目前为止,您对经过的时间有什么表示?您应该回顾一下结构。如果您需要更多详细信息,您必须向我们提供您尝试过的更多详细信息。我是新来的我今天注册了,如何插入代码段?编辑您的问题。使用编辑器中的“代码”按钮。注释中的代码段应限制为1行代码,在这些代码段中,您可以用一对反勾来突出显示这样的代码。如果您的问题已解决,请单击解决问题的答案旁边的复选标记。如果所有答案都不能解决您的问题,请在下面添加您自己的答案。大约一天后,你可以接受自己的答案。不要将标题更改为“[已解决]”,这不会标记您在UI中已解决的问题。那么,到目前为止,您对所用时间有何表示?您应该查看结构。如果您需要更多详细信息,您必须向我们提供您尝试过的更多详细信息。我是新来的我今天注册了,如何插入代码段?编辑您的问题。使用编辑器中的“代码”按钮。注释中的代码段应限制为1行代码,在这些代码段中,您可以用一对反勾来突出显示这样的代码。如果您的问题已解决,请单击解决问题的答案旁边的复选标记。如果所有答案都不能解决您的问题,请在下面添加您自己的答案。大约一天后,你可以接受自己的答案。不要将标题更改为“[已解决]”,因为这不会标记您的问题在UI中已解决。有关更多自定义日期时间格式,请查看此链接:对于timespan,您必须转义冒号。mm\\:ss或@mm\:ss。还应注意,这将完全切断小时、天数等。例如,如果时间跨度为3小时20分钟,则仅显示20:00的分和秒部分。查看此链接了解更多自定义日期时间格式:对于时间跨度,您必须转义冒号。mm\\:ss或@mm\:ss。还应注意,这将完全切断小时、天数等。即,如果时间跨度为3小时20分钟,则仅显示20:00分和秒部分。