|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.10.2009, 13:24 | #1 |
Новичок
Джуниор
Регистрация: 29.10.2009
Сообщений: 4
|
Длительность (продолжительность) видео-файла и Access
Приветствую. Соорудил в акцессе базу для своей коллекции видео. Как программно из файла с видео (и возможно ли в акцессе вообще) вытащить длительность этого самого видео? В проводнике например (в строке состояния) продолжительность отображется. Компонент какой-то к акцессу подключить надо?... в какую сторону вообще рыть? Заранее спасибо
Последний раз редактировалось Рысь Комнатная; 29.10.2009 в 13:26. |
29.10.2009, 13:48 | #2 |
Пользователь
Регистрация: 23.10.2009
Сообщений: 11
|
А как вы в базу это дело впихнули ?
|
29.10.2009, 14:54 | #3 |
Новичок
Джуниор
Регистрация: 29.10.2009
Сообщений: 4
|
В базе только описание.
Для чего это работает: у меня много дисков и файлов с видео, решил привести все в порядок - открываешь базу, ищешь фильм, она тебе выдает - такой-то стеллаж, диск под нумером 15. ну и обложки печатать Как работает: открываю базу, вставляю в привод дивиди с файлами, нажимаю кнопку и в базу закидываются названия файлов и хочется еще их продолжительность. чтобы вручную не набирать Последний раз редактировалось Рысь Комнатная; 29.10.2009 в 15:02. |
29.10.2009, 19:58 | #4 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
Function GetValFileProperty(sFolder As String, sFileName As String, sNameProperty As String) As String
Dim objShellApp, objFolder, objFolderItems, objItem Dim strResult As String Dim i% Set objShellApp = CreateObject("Shell.Application") Set objFolder = objShellApp.Namespace(CStr(sFolder) ) Set objFolderItems = objFolder.Items() If (Not objFolderItems Is Nothing) Then Dim nCount nCount = objFolderItems.Count End If Set objItem = objFolder.ParseName(sFileName) strResult = "" For i = -1 To 40 If objFolder.GetDetailsOf(objFolderIte ms, i) = sNameProperty Then strResult = objFolder.GetDetailsOf(objItem, i) Exit For End If Next Debug.Print sNameProperty; " = "; strResult, vbInformation GetValFileProperty = strResult Set objItem = Nothing Set objFolderItems = Nothing Set objFolder = Nothing Set objShellApp = Nothing End Function |
29.10.2009, 20:12 | #5 | |||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
2 Abrakadabra
Хорошая функция. Не знал про неё раньше...
Вот только почему-то выводит значения не всех свойств: Код:
Цитата:
Цитата:
Не подскажете, почему так? (добавлено) Впрочем, для рисунков кое-что выдаёт... Цитата:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 29.10.2009 в 20:15. |
|||
29.10.2009, 20:49 | #6 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
29.10.2009, 21:24 | #7 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
raxp прав, действительно у разных файлов, некоторые свойства могут быть незаполненными.
to Рысь Комнатная, но тем не менее у всех AVI файлов я смог этим способом "посмотреть" длительность: Код:
|
30.10.2009, 11:57 | #8 |
Новичок
Джуниор
Регистрация: 29.10.2009
Сообщений: 4
|
Спасибо всем огромное за помощь буду сегодня пробовать
|
30.10.2009, 15:27 | #9 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Получить достоверную информацию о продолжительности AVI-файлов, можно лишь, выдрав эту информацию из самого файла:
Цитата:
Осталось только найти подобный код для VB... Поищу, если найду - выложу. (самому надо - макросом из Excel определять продолжительность видеороликов) |
|
30.10.2009, 15:56 | #10 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Оказывается, не всё так сложно...
Нашел достаточно информации здесь: http://forum.script-coding.info/viewtopic.php?id=1031 http://forum.codeby.net/index.php?showtopic=20206 Проще всего использовать компонент WindowsMediaPlayer: Вот весь код: Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
продолжительность жизни зависит от знака зодиака | Hallo | Свободное общение | 27 | 28.02.2014 15:34 |
как воспроизвести видео не из файла а из памяти? | s.Creator | Мультимедиа в Delphi | 9 | 06.01.2010 23:42 |
Как определить длительность ролика flv | Yong777 | PHP | 2 | 21.04.2009 22:02 |
Акцесс вопросы новичков | Yaga | Помощь студентам | 4 | 02.06.2008 00:16 |