2

WinMM.dllから mciSendString メソッドを P/Invoked しました:

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

曲の再生、一時停止、停止ができます (CD ドライブの開閉もできますが、それは重要ではありません)。ここで、ユーザーが曲の特定の部分 (例: 1:21) にスキップできるようにしたいと考えています。シーク関数のドキュメントを見てきましたが、曲の長さがわからないことを除けば、かなり簡単に思えます。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 に答える