Russian Qt Forum
Июнь 01, 2024, 21:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: [Qt 4.8.x] Phonon + MinGW  (Прочитано 7800 раз)
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« : Февраль 27, 2013, 10:05 »

Понадобилось по работе проигрывать медиафайлы, то есть, нужно собирать фонон. Гугл намекает на то, чо фонон под мингвом собрать без шаманства не получится, но посты, в основном, старые и многие ссылки битые. Кто собирает? Можете решение описать? Потом оформим и прикрепим на форуме.
« Последнее редактирование: Февраль 27, 2013, 10:19 от Пантер » Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Bepec
Гость
« Ответ #1 : Февраль 27, 2013, 10:14 »

Ещё б написать под какую версию Qt собирать, я тогда на досуге попытаюсь.

Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Февраль 27, 2013, 10:19 »

Ещё б написать под какую версию Qt собирать, я тогда на досуге попытаюсь.
Поправил заголовок.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #3 : Февраль 27, 2013, 11:05 »

Если задача просто воспроизвести файл я бы с Phonon не заморачивался вообще - есть множество более "легких" способов это сделать. Если не только воспроизвести - тем более (слишком возможности у него слабенькие на фоне проблем с его сборкой).
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Февраль 27, 2013, 11:05 »

Если задача просто воспроизвести файл я бы с Phonon не заморачивался вообще - есть множество более "легких" способов это сделать. Если не только воспроизвести - тем более (слишком возможности у него слабенькие на фоне проблем с его сборкой).
Можно подробнее про способы?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #5 : Февраль 27, 2013, 13:35 »

Я бы посмотрел на libvlc
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #6 : Февраль 27, 2013, 13:43 »

А проще нет? Мне и нужно-то - проигрывать файл и рубить проигрывание, когда нужно. Все.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #7 : Февраль 27, 2013, 13:47 »

фонон собрать достаточно просто, буквально недавно на 4.8.2 это проделывал как раз на MinGW. Делал следующее

1. отредактировал файл src\plugins\phonon\ds9\ds9.pro

следующим образом

Код:
DESTDIR = $$QT_BUILD_TREE/plugins/phonon_backend
QT += phonon
win32:!wince*:contains(QT_CONFIG,opengl):LIBS += -lopengl32
win32:!wince*:LIBS += -lgdi32
win32-msvc2005:DEFINES += _CRT_SECURE_NO_WARNINGS
LIBS += -lstrmiids -ldmoguids -luuid -lmsdmo -lole32 -loleaut32
TARGET = phonon_ds9
INCLUDEPATH += "E:/Perl___/c/x86_64-w64-mingw32/include/"

DEFINES += PHONON_MAKE_QT_ONLY_BACKEND
PHONON_DS9_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/ds9

# Input
HEADERS += \
           $$PHONON_DS9_DIR/abstractvideorenderer.h \
           $$PHONON_DS9_DIR/audiooutput.h \
           $$PHONON_DS9_DIR/backend.h \
           $$PHONON_DS9_DIR/backendnode.h \
           $$PHONON_DS9_DIR/effect.h \
           $$PHONON_DS9_DIR/fakesource.h \
           $$PHONON_DS9_DIR/iodevicereader.h \
           $$PHONON_DS9_DIR/mediagraph.h \
           $$PHONON_DS9_DIR/mediaobject.h \
           $$PHONON_DS9_DIR/videowidget.h \
           $$PHONON_DS9_DIR/videorenderer_soft.h \
           $$PHONON_DS9_DIR/volumeeffect.h \
           $$PHONON_DS9_DIR/qbasefilter.h \
           $$PHONON_DS9_DIR/qpin.h \
           $$PHONON_DS9_DIR/qasyncreader.h \
           $$PHONON_DS9_DIR/qaudiocdreader.h \
           $$PHONON_DS9_DIR/qmeminputpin.h \
           $$PHONON_DS9_DIR/compointer.h \
           $$PHONON_DS9_DIR/phononds9_namespace.h


SOURCES += \
           $$PHONON_DS9_DIR/abstractvideorenderer.cpp \
           $$PHONON_DS9_DIR/audiooutput.cpp \
           $$PHONON_DS9_DIR/backend.cpp \
           $$PHONON_DS9_DIR/backendnode.cpp \
           $$PHONON_DS9_DIR/effect.cpp \
           $$PHONON_DS9_DIR/fakesource.cpp \
           $$PHONON_DS9_DIR/iodevicereader.cpp \
           $$PHONON_DS9_DIR/mediagraph.cpp \
           $$PHONON_DS9_DIR/mediaobject.cpp \
           $$PHONON_DS9_DIR/videowidget.cpp \
           $$PHONON_DS9_DIR/videorenderer_soft.cpp \
           $$PHONON_DS9_DIR/volumeeffect.cpp \
           $$PHONON_DS9_DIR/qbasefilter.cpp \
           $$PHONON_DS9_DIR/qpin.cpp \
           $$PHONON_DS9_DIR/qasyncreader.cpp \
           $$PHONON_DS9_DIR/qaudiocdreader.cpp \
           $$PHONON_DS9_DIR/qmeminputpin.cpp

#the EVR renderer (only available on desktop)
!wince*:SOURCES += $$PHONON_DS9_DIR/videorenderer_evr.cpp \
                   $$PHONON_DS9_DIR/videorenderer_vmr9.cpp
!wince*:HEADERS += $$PHONON_DS9_DIR/qevr9.h \
                   $$PHONON_DS9_DIR/videorenderer_evr.h \
                   $$PHONON_DS9_DIR/videorenderer_vmr9.h
wince*:SOURCES  += $$PHONON_DS9_DIR/videorenderer_default.cpp
wince*:HEADERS  += $$PHONON_DS9_DIR/videorenderer_default.h

target.path = $$[QT_INSTALL_PLUGINS]/phonon_backend
INSTALLS += target

include(../../qpluginbase.pri)

2. в INCLUDEPATH рекомендуют указать путь к dsound.h который лежит в DirectX SDK, но у меня с ним было связанно много проблем, phonon начал требовать какие то еще заголовки которые приходилось собирать по всей системе. В итоге плюнул и указал путь к dsound.h который идет вместе с perl.
3. configure бла бла && make
4. профит
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #8 : Февраль 27, 2013, 13:48 »

Кстати есть еще способ для проигрывания звуков, вот прям из проекта

Код:
QSound::play(QDesktopServices::storageLocation(QDesktopServices::TempLocation) + QDir::separator() + "zatvor.wav");
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #9 : Февраль 27, 2013, 13:48 »

А проще нет? Мне и нужно-то - проигрывать файл и рубить проигрывание, когда нужно. Все.
А что тут под медиафайлами понимается - звук или видео?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #10 : Февраль 27, 2013, 13:48 »

А проще нет? Мне и нужно-то - проигрывать файл и рубить проигрывание, когда нужно. Все.

сам понимаешь, что проигрывание не бывает такое простое. Либо простой API со сложным бэкендом, который хрен соберёшь, или API посложнее, но прямое, как libvlc. Посмотри ещё на QMediaPlayer из Qt Mobility, но там наверняка тоже бэкенд нужен.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #11 : Февраль 27, 2013, 13:53 »

А проще нет? Мне и нужно-то - проигрывать файл и рубить проигрывание, когда нужно. Все.
А что тут под медиафайлами понимается - звук или видео?

А любой, формат можно подобрать. Сейчас mp3 в наличии, но могу сконвертить в какой угодно.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #12 : Февраль 27, 2013, 14:01 »

Кстати есть еще способ для проигрывания звуков, вот прям из проекта

Код:
QSound::play(QDesktopServices::storageLocation(QDesktopServices::TempLocation) + QDir::separator() + "zatvor.wav");
Работает. Есть какие-нибудь проблемы с этим способом?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #13 : Февраль 27, 2013, 14:05 »

Работает. Есть какие-нибудь проблемы с этим способом?

Особо не замечал. Знаю точно ,что хорошо воспроизводит wav и не работает с ресурсами.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #14 : Февраль 27, 2013, 14:26 »

Работает. Есть какие-нибудь проблемы с этим способом?

Ты же здесь не сможешь остановить проигрывание.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 19.