crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Анимированный помощник
Румата Эсторский
  опции профиля:
сообщение 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  


Цитата(Румата Эсторский @ 2.2.2011, 2:40) *
- как воспроизводить видео.

Тут вероятно только через фонон. Примеры думаю можно найти в ассистанте.

Цитата(Румата Эсторский @ 2.2.2011, 2:40) *
как сделать прозрачный виджет

Вопрос интересный, если узнаешь как, отпишись тут пожалуйста. Я в свое время делал так. Брал последовательность *png (с прозрачностью), создавал виджет, в таймере клал картинки на этот виджет, и обрезал его с учетом альфа-канала текущей картинки... В итоге получал киношку на прозрачном фоне... Как это сделать при проигрывании avi - чесгря надо пробовать/читать... Так сходу не соображу. Тока если как-то сделать:
1. Взять виджет
2. Взять какой-нить png-маску (сделать на нем те части прозрачными, которые нужно)
3. Наложить картинку на виджет (там установка флагов при отрисовке еще должна быть вроде - так не вспомню, нужно код смотреть, а не могу, домашний комп сдох вчера......)
4. На виджет сверху картинки (или может под нее... нужно пробовать) накладывать через фонон VideoWindow, в которое выводить твою анимацию...

Не уверен конечно что так будет работать, но может стоит попробовать... Хотя нет... Если у тебя там форма картинки меняется, то так не пойдет. Маску вероятно нужно как-то делать на лету - определять текущий проигрваемый кадр авишки - и вот по этой маске обрезать виджет... Ххы.. интересно.

Цитата(Румата Эсторский @ 2.2.2011, 2:40) *
Если использовать Phonon то насколько это переносимо, что будет если DirectX у пользователя не поставлен?

Переносимо. DirectX в винде тут не причем. В смысле его SDK. Сами по себе dll-файлы DirectX уже стоят на любой машине с виндой. При распространении программы на другие компы нужно таскать с собой плагин фонона.

Ну а в линуксе там все хитрее... Но тоже в принципе все подъемно. Можешь поискать тут на форуме, я в свое время тут много писал/спрашивал как и с чем его есть. И в первую очередь как вообще его заставить работать даже на машине разработчика.

Цитата(Румата Эсторский @ 2.2.2011, 2:40) *
через что лучше проигывать звуки через 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  


Цитата(Румата Эсторский @ 2.2.2011, 3:40) *
Есть такая задача - хочется сделать для своей программы помощника на подобие что в 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,
извините, что долго не отвечал.
Да такое. Там только область экрана вокруг кошки хоть и прозрачная, но не передает управления на находящийся за ней объект, хотя может быть это и лишнее. Мне очень понравилось.
Скажите а на исходники глянуть можно? :blush2:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 7.2.2011, 18:40
Сообщение #6


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(Румата Эсторский @ 7.2.2011, 19:05) *
Там только область экрана вокруг кошки хоть и прозрачная, но не передает управления на находящийся за ней объект, хотя может быть это и лишнее

да это зак захотел - ореол вокруг кошки. Это 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  


ясно )

Румата Эсторский, тогда ящик давай
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.12.2024, 10:57