Russian Qt Forum
Сентябрь 09, 2010, 16:02
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Мультимедиа
(Модератор:
Sergeich
) >
[РЕШЕНО][Qt 4.6.1]Phonon vs Windows
Страниц: [
1
]
2
« предыдущая тема
следующая тема »
Печать
Автор
Тема: [РЕШЕНО][Qt 4.6.1]Phonon vs Windows (Прочитано 1450 раз)
Vitto74
Новичок
Offline
Сообщений: 44
[РЕШЕНО][Qt 4.6.1]Phonon vs Windows
«
:
Март 10, 2010, 00:27 »
Пишу электронный учебник в котором есть видео проигрыватель. В Linux все заработало на ура без лишних телодвижений. Но вот в вендой начались проблемы.
И так WinXP SP3. По умолчанию в ней есть поддержка только не сжатого видео и wmv (почему меня это не удивляет). Прога собирается в QtSDK (QtCreator+Qt4+MinGw) без ошибок, но при создании Phonon::VideoPlayer, в консоль попадает вот это
Код:
the video widget cold not be initialized correctly
Формат видео пробовал wmv и, после установки кодеков, ogv. Но формат я думаю роли не играет - это ошибка на этапе инициализации. Последняя версия DirectX установлена.
Вот фрагмент кода, вызывающий эти сообщения:
Код:
player = new Phonon::VideoPlayer(Phonon::VideoCategory);
На всякий случай прикрепляю проект с проигрывателем.
«
Последнее редактирование: Март 12, 2010, 00:01 от Vitto74
»
Записан
Vitto74
Новичок
Offline
Сообщений: 44
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #1 :
Март 11, 2010, 01:51 »
После установки DirectX SDK все заработало, но встала другая проблема. Что это проге нужно для работы на компе без SDK? Скомпиленная прога продолжала нормально работать даже после полного удаления SDK, но при переносе на свежепоставленную систему (с последним DirectX) работать отказывалась - виждет Phonon::VideoPlayer вообще не появлялся.
Народ! Помогите! Ведь реально важная проблема и не только для меня.
Записан
Akaiten
Самовар
Offline
Сообщений: 110
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #2 :
Март 11, 2010, 09:35 »
Что за система? Какой DirectX стоит? Проверь dependencies у exe-шника. Проверь есть ли поддержка VMR-9 на этой системе?
Записан
Vitto74
Новичок
Offline
Сообщений: 44
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #3 :
Март 11, 2010, 10:00 »
Компилилось на WinXP SP3 + QtSDK + DirectX SDK + DirectX (9.0c).
Запускалось на WinXP SP3 + DirectX (9.0c) + qt-либы.
PS можно по подробнее о dependencies и VMR-9?
Записан
Amigo_sa
Самовар
Offline
Сообщений: 133
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #4 :
Март 11, 2010, 11:22 »
Цитата: Vitto74 от Март 11, 2010, 01:51
После установки DirectX SDK все заработало, но встала другая проблема. Что это проге нужно для работы на компе без SDK?
Читал
тут
, что Phonon на винде проигрывает с помощью директ шоу
Записан
Vitto74
Новичок
Offline
Сообщений: 44
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #5 :
Март 11, 2010, 11:32 »
Читал. Но на сколько я понимаю DirectShow входит в DirectX, который уже установлен.
Assistant говорит как использовать phonon на винде
Цитировать
On Windows, building Phonon requires DirectX and DirectShow version 9 or higher. You'll need additional SDKs you can download from Microsoft.
Но как распространять скомпиленную прогу там не сказано.
Записан
Amigo_sa
Самовар
Offline
Сообщений: 133
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #6 :
Март 11, 2010, 11:40 »
Цитата: Vitto74 от Март 11, 2010, 11:32
Читал. Но на сколько я понимаю DirectShow входит в DirectX, который уже установлен.
Assistant говорит как использовать phonon на винде
Цитировать
On Windows, building Phonon requires DirectX and DirectShow version 9 or higher. You'll need additional SDKs you can download from Microsoft.
Но как распространять скомпиленную прогу там не сказано.
Цитата из вики
Цитировать
В октябре 2004, DirectShow удаляется из официальной поставки DirectX и переносится к дополнениям DirectX. В апреле 2005, DirectShow полностью удаляется из официальных поставок DirectX и перемещается в Windows Server 2003 SP1 версию Microsoft Platform SDK[2]. Тем не менее для компиляции некоторых примеров из документации всё ещё требуется DirectX SDK[7]. А вот уже с выходом Windows Vista и документация начинает поставляться совместно с Windows SDK [2].
Просто я когда портировал на пустые компы под виндой прогу с phonon ставил и директХ и директШоу и кодеки, все работало.
Записан
Vitto74
Новичок
Offline
Сообщений: 44
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #7 :
Март 11, 2010, 13:25 »
Блин! Ненавижу винду и мелкомягких! Где этот DirectShow взять? Весь сайт облазил. Ничего не подходит.
Виджет Phonon::VideoPlayer просто не появляется.
Записан
Amigo_sa
Самовар
Offline
Сообщений: 133
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #8 :
Март 11, 2010, 13:44 »
Там же написано, что он теперь в комплекте Windows SDK. А так я гуглил и качал отдельный инсталлятор.
Записан
Akaiten
Самовар
Offline
Сообщений: 110
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #9 :
Март 11, 2010, 14:01 »
Цитата: Vitto74 от Март 11, 2010, 10:00
можно по подробнее о dependencies и VMR-9?
Можно например воспользоваться тулзой Dependency Walker от Microsoft.
Насчет VMR9, в исходниках только одно упоминание строки "the video widget cold not be initialized correctly",
а именно в файле videorenderer_vmr9.cpp при неудачном выполнении кода
Код
C++ (Qt)
m_filter
=
Filter
(
CLSID_VideoMixingRenderer9
,
IID_IBaseFilter
)
;
Посмотри ещё
MSDN
насчет VMR.
Записан
Vitto74
Новичок
Offline
Сообщений: 44
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #10 :
Март 11, 2010, 17:03 »
На сайте у мелкомягких лазить все равно проктологом работать! Не возможно! Дайте ссылку на установщик DirectShow, ато реально
zaebalo.com
Записан
Akaiten
Самовар
Offline
Сообщений: 110
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #11 :
Март 11, 2010, 18:43 »
Что ещё за установщик DirectShow? Это нонсенс. Что вам конкретно нужно? DirectShow SDK? Так он щас включён в Windows SDK (раньше был в DirectX 9.0 SDK Update - (February 2005) Extras). Реализацию DirectShow составляет в основном библиотека quartz.dll и по-моему, она изначально входит в Windows.
Записан
Vitto74
Новичок
Offline
Сообщений: 44
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #12 :
Март 11, 2010, 19:04 »
Мдя.... чувствую себя ламером. Вот что значит сесть на Linux!
Опишу проблему еще раз - вдруг что-то не так сказал.
Пишу простенький плеер в виде QDialog, которому в конструкторе передается имя видео файла. Исходник в первом посте.
Если скомпилить на системе только с QtSDK, то виджет Phonon::VideoPlayer появляется (просто черная область), но воспроизведение не идет и при его создании в консоль попадает "the video widget cold not be initialized correctly".
Если поставить DirectX SDK, то то плеер работает нормально, но сообщение "the video widget cold not be initialized correctly" в консоли все равно появляется.
Если перенести скомпиленную прогу и нужные dll из qt на чистую систему, то виджет Phonon::Player не появляется вообще.
Я хочу понять что нужно установить на чистую систему для работы уже скомпиленного плеера и где это зять.
Записан
Akaiten
Самовар
Offline
Сообщений: 110
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #13 :
Март 11, 2010, 20:14 »
Пришлось таки скачать проект, скомпилировать, запустить виртуальную машину (!) и проверить что за дела. А ведь лень, лень одолевает
А кто phonon backend с собой брать будет? А?
См. библиотеки в папке %QTDIR%/plugins/phonon/phonon_backend/
По крайней мере .avi проигрался, WinXP 5.1 (сборка 2600), DirectX 9.0c, Qt 4.6.2
Записан
Vitto74
Новичок
Offline
Сообщений: 44
Re: [Qt 4.6.1]Phonon vs Windows
«
Ответ #14 :
Март 11, 2010, 23:23 »
Огромное спасибо! Даже не знаю как благодарить! Два дня мучился.
Проблема стала гораздо понятнее. Проге нужен файл phonon_ds94.dll, который расположен непременно в папке D:\qt\2010.01\qt\plugins\phonon_backend\ (туда я установил qt) и нигде больше. Он в упор не замечает его рядом с исполняемым файлом и в папках c:\windows и c:\windows\system32.
Пробовал класть его в папку plugins\phonon_backend\ рядом с исполняемым файлом и в c:\windows\plugins\phonon_backend\ безрезультатно.
Пытался менять значение переменной QTDIR на c:\windows и ложить файл в c:\windows\plugins\phonon_backend\ не помогло.
Выставлял чистые системные переменные - все равно ищет там же.
Переставлять qt ради одной библиотеки это не по джедайски! Как заставить прогу видеть эту библиотеку в папках, указанных в PATH?
Записан
Страниц: [
1
]
2
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Пользовательский интерфейс (GUI)
=> Model-View-Controller (MVC)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование
=> Мультимедиа
=> 2D и 3D графика
=> Интернационализация, локализация
=> XML
=> Печать
=> Qt Script
=> ActiveX
=> Установка, сборка, отладка, тестирование
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
=> Общие вопросы
=> Уроки и статьи
=> Вопросы новичков
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
=> Архив
===> Программирование
=====> Мультимедия
=====> Python
=====> Delphi
=====> GTK
=====> Другие GUI библиотеки
===> Веб программирование
=====> PHP, PERL, CGI
=====> JavaScript
=====> WebDesign and all
Загружается...