Здраствуйте. У меня такая проблема. Я хочу написать программу, которая будет крутить на рабочем столе указанный видеофайл. Я пробовала писать так: разбивала видео на картинки и потом обычной последовательностью, с определенной задержкой выводила их на рабочий стол. Способ не из удачных: 1. При разбиении видео на фотки увеличиваеться вес. 2. Система немного притормаживает от резкой смены картинок и обновления экрана. 3. Очень плохо для глаз. Я не выдержала и пару минут. Писала на Delphi. Думаю исходный код вам ни к чему, так как тут и так понятно как я это реализовывала. Вывести на рабочий стол видео мне так и не удалось нормально без всяких багов. Помогите пожалуйста. Я уже просто незнаю куда обратиться. Никто не знает как это сделать. Заранее благодарна. [MALISSA]
Malissa А чем стандартные средства не угодили? Как MediaPlayer, VFW, DSPack (DirectX). Я чето не очень пониамаю зачем огород городить, когда все просто выводиться.
Надежного ответа незнаю, пишу "от скуки" Токого даже невидел никада, слыхал шо winamp может крутить "свою красоту" прямо на рабочем столе, значит эта вазможна)). Как вариант: мож получить hWnd ( hDC ) рабочего стола и проделать c ним стандартные манипуляции по выводу видео. Если глупость прости...
Поищи по форуму, нормальный вывод видео обсуждался, а куда его выводить на рабочий стол или в отведённое окно разница не большая Ещё загляни в пример от KeyMax
Всем спасибо за ответы. Попробу ActiveX, хотя хотелось без него, но походу прийдеться, как сделаю напишу, что вышло.
Я с ActiveX делал следующее: написал контрол на Direct3D который изображает вращающийся 3D кубик. потом на html страницу и все работало По идее если видео DirectShow проигрывать будет тоже самое.
Winamp может, и при чём довольно шустро. Вот статейка по этой теме. http://www.silicontaiga.ru/home.asp?artId=5748
Malissa Честно говоря не совсем понял как работаешь с видео. Используешь стандартный контрол для видео (как его не помню), и с помощью него выводишь? Опиши получше механизм алгоритма, так как всёж не понятно как реализовывала. В VCL такого не делал, но можно как сказал ViCooper Так вполне можно. А вообще использовать для видео VCL, не совсем хорошая идея. Есть DirectShow который может выводить видео в любое окно, в том числе Desktop, знает кучу форматов, позволяет делать эффекты. Но вообще насчёт VCL, лучше обращаться на форумы Delphi, Builder.
Так ей поди и нужен видео оверлей... http://www.delphimaster.ru/articles/directx/index.html Рисование на рабочем столе "под значками" с большой скоростью и без всяких визуальных конфликтов с GDI - "то-что-делает-WinAmp'овский-AVS-если-включить-overlay-mode-и-set-desktop-to-color". Как оно работает, как сделать подобное и для чего ещё можно использовать.
Lex2029 все это находится в DirectX SDK. Там же находятся справочные данные и примеры (правда, для начала немного сложновато, но я в свое время разобрался). Весит он порядка 350 метров, так что лучше не тащи с инета, а поищи по знакомым и радиорынку. Задача вполне реализуема, я даже выводил видео в окно Блокнота, не говоря уже про рабочий стол. В DX SDK все либы для Visual C++. Под билдер тоже есть, я в инете находил. Никаких ActiveX не нужно
под асм - нету. Лучше сначала разберись как на C это делать, там и так работы прилично. Затем уже переписывай на асм, с сей проблем меньше. Учти, там абсолютно все на технологии COM
ну, самый элементарный и надежный способ - LoadLibrary/GetProcAddress, тем более функций вызывается там немного. Вообще, я не думаю что делать подобное на асме - хороший метод. Объем работы очень большой + еще и COM. Разберись сначала с DirectShow, а потом уже придумаешь как его на асм переложить. В конце концов, необязательно все писать на асме. Часть с dshow откомпилируй на VC++, управляющую часть - на асме и слинкуй это все вместе.