Как получить значение длительности от Windows Media Services 9
Я использую службы Windows Media 9 для предоставления услуги потоковой передачи и хотел бы убедиться, что пользователи могут играть только в течение указанного интервала, чтобы предотвратить злоупотребления. Медиасервер читает и из файла asx, и проигрыватель может начинаться и заканчиваться с правильным смещением. Я могу получить начальное смещение в AuthorizePlayEvent, используя
IWMSContext.GetQwordValue(WMSDefines.WMS_PRESENT_START_TIME,WMSDefines.WMS_PRESENT_START_TIME_ID, out dec, 0);
Но у меня проблемы с получением продолжительности или конечного смещения. Я знаю, что Windows Media Server пишет журнал, который содержит c-starttime и x-duration. Но x-длительность здесь, кажется, не то, что я хочу. Мне нравится обнаруживать то, что передается из файла asx в AuthorizeOpenEvent или AuthorizePlayEvent. Это возможно?
Спасибо!
1 ответ
Я закончил тем, что катил свой собственный синхронизированный словарь, чтобы отслеживать активных игроков при каждом ударе и отключать игрока, который превышает указанный интервал. Я потратил около 2 дней на поиск параметров на стороне сервера и с удивлением обнаружил, что ничего не доступно надежно.