Анимированный помощник |
Здравствуйте, гость ( Вход | Регистрация )
Анимированный помощник |
Румата Эсторский |
2.2.2011, 1:40
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 2.2.2011 Пользователь №: 2388 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте!
Извините за глупые вопросы - с мультимедиа в Qt не работал. Есть такая задача - хочется сделать для своей программы помощника на подобие что в Microsoft Office (Скрепыш, ученый и т.д.) При реализации встало сразу несколько вопросов: - как воспроизводить видео. Если через класс QMovie то он поддерживает только 2 формата (по крайней мере у меня) gif и mng, обы формата не очень подходят. Gif ограничен цветностью в 256 цветов, mng выходят большие файлы. Так допустим, что в avi занимает 100 Кб, то в mng занимет 4 Мб. Да и сохранять из 3ds max удобнее в avi (так по крайней мере мне сказал художник). - как сделать прозрачный виджет, т.е. чтобы заднего фона не было и при клике на прозрачном фоне фокус бы передавался стоящему за ним окну? Если использовать Phonon то насколько это переносимо, что будет если DirectX у пользователя не поставлен? Еще вопрос не имеющий отношения к помощнику, но имеющий к Phonon: через что лучше проигывать звуки через QSound или Phonon? Нужно чтобы работало под всеми платформами. Звуки небольшие - 1-5 сек, события в программе. |
|
|
Litkevich Yuriy |
2.2.2011, 8:15
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Румата Эсторский, одна проблема - одна тема.
|
|
|
Rocky |
2.2.2011, 9:05
Сообщение
#3
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
- как воспроизводить видео. Тут вероятно только через фонон. Примеры думаю можно найти в ассистанте. как сделать прозрачный виджет Вопрос интересный, если узнаешь как, отпишись тут пожалуйста. Я в свое время делал так. Брал последовательность *png (с прозрачностью), создавал виджет, в таймере клал картинки на этот виджет, и обрезал его с учетом альфа-канала текущей картинки... В итоге получал киношку на прозрачном фоне... Как это сделать при проигрывании avi - чесгря надо пробовать/читать... Так сходу не соображу. Тока если как-то сделать: 1. Взять виджет 2. Взять какой-нить png-маску (сделать на нем те части прозрачными, которые нужно) 3. Наложить картинку на виджет (там установка флагов при отрисовке еще должна быть вроде - так не вспомню, нужно код смотреть, а не могу, домашний комп сдох вчера......) 4. На виджет сверху картинки (или может под нее... нужно пробовать) накладывать через фонон VideoWindow, в которое выводить твою анимацию... Не уверен конечно что так будет работать, но может стоит попробовать... Хотя нет... Если у тебя там форма картинки меняется, то так не пойдет. Маску вероятно нужно как-то делать на лету - определять текущий проигрваемый кадр авишки - и вот по этой маске обрезать виджет... Ххы.. интересно. Если использовать Phonon то насколько это переносимо, что будет если DirectX у пользователя не поставлен? Переносимо. DirectX в винде тут не причем. В смысле его SDK. Сами по себе dll-файлы DirectX уже стоят на любой машине с виндой. При распространении программы на другие компы нужно таскать с собой плагин фонона. Ну а в линуксе там все хитрее... Но тоже в принципе все подъемно. Можешь поискать тут на форуме, я в свое время тут много писал/спрашивал как и с чем его есть. И в первую очередь как вообще его заставить работать даже на машине разработчика. через что лучше проигывать звуки через QSound или Phonon? Нужно чтобы работало под всеми платформами. Звуки небольшие - 1-5 сек, события в программе. Тут смотри в чем штука. Во всяком случае так было в кьюте 4.6.3 (с тех пор я мультимедией не занимался). Через QSound вроде только wav можно проигрывать. Через QSound было невозможно одновременно проиграть 2 звука. Только последовательно. Если нужно чтоб в каких-то местах 2-й звук начинал проигрваться когда еще не закончил 1-й - тогда нужно юзать phonon. А это элементарно - пользователь быстро нажал две кнопки подряд... Все, 2-е нажатие будет в тишине (если звук от 1-го нажатия не проигрался). Может и можно как-то обойти, но я не допер тогда и перешел на фонон. Но в фононе тоже был косяк... Самое первое проигрывание звукового файла было с достаточно заметной задержкой. Но: можно через бэкэнды фонона проигрывать все, что вообще можно в системе, можно одновременно или с частичным наложением проигрывать файлы. В итоге, борьба со звуками у меня закончилась тем, что в винде я юзал фонон, а для линукса написал типа класс обертку и юзал mplayer =) В принципе, все работало... |
|
|
Алексей1153 |
2.2.2011, 18:19
Сообщение
#4
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Есть такая задача - хочется сделать для своей программы помощника на подобие что в Microsoft Office (Скрепыш, ученый и т.д.) глянь, вот такое ты имеешь в виду http://files.shelek.su/limited/private-fil...ll%20REDCAT.zip Сообщение отредактировал Алексей1153 - 2.2.2011, 18:21 |
|
|
Румата Эсторский |
7.2.2011, 17:05
Сообщение
#5
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 2.2.2011 Пользователь №: 2388 Спасибо сказали: 0 раз(а) Репутация: 0 |
Алексей1153,
извините, что долго не отвечал. Да такое. Там только область экрана вокруг кошки хоть и прозрачная, но не передает управления на находящийся за ней объект, хотя может быть это и лишнее. Мне очень понравилось. Скажите а на исходники глянуть можно? |
|
|
Алексей1153 |
7.2.2011, 18:40
Сообщение
#6
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Там только область экрана вокруг кошки хоть и прозрачная, но не передает управления на находящийся за ней объект, хотя может быть это и лишнее да это зак захотел - ореол вокруг кошки. Это PNG с белым кругом, градиентно снановящимся прозрачным от центра к краю. Можно легко убрать исходники могу дать, но там мало комментариев, не знаю, разберёшся или нет ) В крайнем случае можешь мне заказ потом сделать, если есть кадры для перса, я напишу машину состояний. Исходники залить мне надо время, напомни потом в ЛС, а то забуду |
|
|
Алексей1153 |
8.2.2011, 7:54
Сообщение
#7
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Румата Эсторский,
Цитата Невозможно отправить это сообщение, так как получатель отключил свой личный ящик, или он попросту переполнен. Это личное сообщение не отправлено |
|
|
igor_bogomolov |
8.2.2011, 8:59
Сообщение
#8
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Алексей1153, все новички ограничены в правах. Он не может пользоваться личным ящиком и править свои сообщения пока не наберёт 20 сообщений на форуме
|
|
|
Алексей1153 |
8.2.2011, 9:12
Сообщение
#9
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
ясно )
Румата Эсторский, тогда ящик давай |
|
|
Текстовая версия | Сейчас: 28.12.2024, 10:28 |