【发布时间】:2015-03-14 02:50:34
【问题描述】:
【问题讨论】:
【问题讨论】:
来自Simple MCI Player - CodeProject,略有改动:
public int GetCurrentPosition()
{
String command = "status MediaFile position";
error = mciSendString(command, returnData,
returnData.Capacity, IntPtr.Zero);
return error == 0 ? int.Parse(returnData.ToString()) : 0;
}
public int GetSongLenght()
{
if (IsPlaying())
{
String command = "status MediaFile length";
error = mciSendString(command, returnData, returnData.Capacity, IntPtr.Zero);
return error == 0 ? int.Parse(returnData.ToString()) : 0;
}
else
return 0;
}
【讨论】:
GetCurrentPosition 获取文件的当前位置,然后将轨迹栏的值设置为该位置。
在 VB 中,我在 Timer Tick Sub 中执行了此操作...真的很简单...
rem 音频是 mcisendstring 的东西 rem TotalLength 是当前曲目的总秒数
Dim PlayPosition As Long = 0
PlayPosition = audio.SecondsPlayed
If PlayPosition > 0 And PlayPosition < TotalLength Then
TrackBar1.Value = (PlayPosition / TotalLength) * TotalLength
End If
【讨论】: