将变量转换为时间(mm ss)

时间:2013-11-22 03:11:19

标签: c# audio

我正在尝试将C#中的变量audio.Duration转换为显示字符串的时间。基本上,audio是使用打开文件对话框加载的DirectX音频实例。我希望能够在标签内的进度条结束时显示持续时间,但是DurationLabel = audio.Duration.ToString();会给我一些愚蠢的值,例如350.2739201

如何对其进行转换,以便将文本显示为mm:ss:(milliseconds)

2 个答案:

答案 0 :(得分:2)

Audio.Duration是双倍的 http://msdn.microsoft.com/en-us/library/windows/desktop/bb324228(v=vs.85).aspx

试试这个

TimeSpan time = TimeSpan.FromSeconds(audio.Duration);

DurationLabel.Text = String.Format("{0:D2}:{1:D2}:{2:D2}", 
                    (int)time.TotalHours,
                    time.Minutes,
                    time.Seconds);

答案 1 :(得分:1)

你可以使用

DurationLabel.Text =TimeSpan.FromSeconds(audio.Duration).ToString(@"hh\:mm\:ss");