Я использую службы Windows Media 9 для предоставления услуг потоковой передачи и хочу, чтобы пользователи могли играть только в течение определенного интервала, чтобы предотвратить злоупотребления. Медиа-сервер читает и из файла asx, и игрок может начать и завершить с правильным смещением. Я могу получить начальное смещение на AuthorizePlayEvent используяКак получить значение продолжительности от служб Windows Media 9
IWMSContext.GetQwordValue(WMSDefines.WMS_PRESENT_START_TIME,WMSDefines.WMS_PRESENT_START_TIME_ID, out dec, 0);
Но у меня проблема получения продолжительности или в конце смещения. Я знаю, что Windows Media Server записывает журнал, содержащий c-starttime и x-duration. Но x-duration здесь, похоже, не то, что я хочу. Мне нравится обнаруживать, что он передается из файла asx либо в AuthorizeOpenEvent, либо в AuthorizePlayEvent. Это возможно?
Спасибо!
Я попытался извлечь WMS_PRESENT_DURATION_LO и WMS_PRESENT_TOTAL_PLAY_TIME_LO из IWMSContext на моем 32-битном компьютере Windows, но результат не отражает длительность или конец смещения, которые я хотел бы получить. – wen
Я нашел сообщение, http: //www.winserverkb.com/Uwe/Forum.aspx/windows-media-server/1004/limit-the-duration-of-multiple-connected-clients, точно описано, что я пытался делать. Мне также не нравится идти на решение с сердцем. Любая лучшая идея? Благодаря! – wen
ОК. Теперь я пытаюсь получить плейлист, как описано в http://msdn.microsoft.com/en-us/library/dd892922(v=VS.85).aspx, чтобы я мог получить ElapsedSimpleTime у игрока. Тем не менее, я получаю сообщение об ошибке: Тип «MSXML.IXMLDOMDocument» определен в сборке, на которую не ссылаются. Вы должны добавить ссылку на сборку «Interop.MSXML». – wen