2

我已经从 WinMM.dll P/Invoked mciSendString 方法

[DllImport("winmm.dll")]
private static extern long mciSendString(string strCommand, StringBuilder strReturn,
                                         int iReturnLength, IntPtr hwndCallback);

我可以播放、暂停和停止歌曲(我也可以打开/关闭 CD 驱动器,但这并不重要)。现在我希望我的用户能够跳到歌曲中的某个部分(例如 1:21)。我查看了seek functions 文档,除了我不知道一首歌有多长之外,它看起来很简单。在 WinMM 中是否存在执行此操作的命令/方法?

4

1 回答 1

4

它可能是这样的:

StringBuilder sb = new StringBuilder(128);
mciSendString("status mediafile length", sb, 128, IntPtr.Zero);
long songlength = Convert.ToUInt64(sb.ToString());
于 2009-06-23T16:15:49.607 回答