Я доставляю мультимедийное содержимое в клиентскую систему (загрузка из Интернета) и хочу подтвердить, что мультимедийный файл был открыт (и просмотрен) оператором.
Я использую средство просмотра файловой системы (C # 3.5), чтобы проверить время последнего доступа к файлу (поэтому, когда воспроизводится медиафайл, я должен получить событие) и отправляю подтверждение.
Я включил время последнего доступа в реестр моей машины с Windows 7 здесь и перезагрузил систему. Наблюдатель за файловой системой запускает события в открытом каталоге, но не в режиме воспроизведения мультимедиа.
Вот мой код:
private FileSystemWatcher fsWatcher = null;
private static Object objLock = new Object();
private void StartAccessWatcher(string _folderPath)
{
fsWatcher = new FileSystemWatcher(_folderPath, "*.*");
fsWatcher.Changed += new FileSystemEventHandler(fsWatcher_Changed);
fsWatcher.IncludeSubdirectories = true;
fsWatcher.NotifyFilter = NotifyFilters.LastAccess;
fsWatcher.EnableRaisingEvents = true;
}
private void fsWatcher_Changed(object sender, FileSystemEventArgs e)
{
lock (objLock)
{
fsWatcher.EnableRaisingEvents = false;
DisplayMessage(string.Concat(e.ChangeType, " ", e.FullPath));
fsWatcher.EnableRaisingEvents = true;
}
}
private void btn_StartWatcher_Click(object sender, EventArgs e)
{
StartAccessWatcher(@"E:\Surewaves\Media-Store\MP1 Videos");
}
Вы также можете скачать мой пример кода с здесь .
Скажите, пожалуйста, как лучше всего этого достичь? Мне нужно получить последнее время доступа (когда какой-либо плеер воспроизводил видео, аудио, изображение или файл .swf)?