Как определить, как долго песня использует winmm.dll?

2

Я P/Вызывается метод mciSendString из WinMM.dll:

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

Я могу воспроизводить, приостанавливать и останавливать песни (я также могу открыть/закрыть CD-привод, но это не важно). Теперь я хочу, чтобы мой пользователь мог пропустить определенную часть песни (например, 1:21). Я посмотрел на поиск функций документации, и это кажется довольно удачным, за исключением того, что я не могу понять, как долго длится песня. Имеет ли команда/метод для этого в WinMM?

  • 0
    Есть ли причина, по которой вы используете API MCI, а не DirectShow?
Теги:
winforms
media
pinvoke

1 ответ

4
Лучший ответ

Вероятно, это будет примерно так:

StringBuilder sb = new StringBuilder(128);
mciSendString("status mediafile length", sb, 128, IntPtr.Zero);
long songlength = Convert.ToUInt64(sb.ToString());
  • 0
    Это добилось цели. Благодарю. Кстати, отличный гаджет боковой панели Stackoverflow / Serverfault.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню