Russian Qt Forum
Ноябрь 23, 2024, 04:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сборка QML плагина с использованием libvlc  (Прочитано 6428 раз)
Silver_swift
Гость
« : Апрель 19, 2012, 13:57 »

Мне нужно сделать компонент QML внутри которого отображалось бы видео. Уже делал нечто похожее с помощью vlclib и виджетов. Попробовал собрать из своего класса плагин. Все вроде собралось, но не подцепились библиотеки vlc и при открытии qml файла вылетает ошибка:
Код:
qmlviewer: symbol lookup error: /home/.../plugins/libPlayer.so: undefined symbol: libvlc_new
.

Как поправить ошибку не понимаю. Что нужно сделать чтобы плагин видел библиотеку?

Все исходники приложены в архиве.
Записан
mutineer
Гость
« Ответ #1 : Апрель 19, 2012, 14:14 »

Тебе принициально юзать именно vlc? в QtMultimediaKit есть qml-элемент для воспроизведения видео
Записан
Silver_swift
Гость
« Ответ #2 : Апрель 19, 2012, 15:07 »

Вообще не принципиально и идея использования готового компонента хороша, но мне принципиально разобраться с этой ошибкой. Тем более как мне кажется причина ошибки лежит где-то на поверхности.
Записан
Silver_swift
Гость
« Ответ #3 : Апрель 19, 2012, 16:00 »

Потерял
Код:
LIBS += -lvlc

Правда картинка в виджет не транслируется.
Записан
Silver_swift
Гость
« Ответ #4 : Апрель 25, 2012, 08:30 »

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

С QtMultimediaKit тоже какие-то проблемы. QtMobility  у меня установлен (пакеты qtmobility-dev и  qtmobility-examples), но пример:
Код:
пример  import Qt 4.7
 import QtMultimediaKit 1.0

 Video {
     id: video
     width : 800
     height : 600
     source: "video.avi"

     MouseArea {
         anchors.fill: parent
         onClicked: {
             video.play()
         }
     }

     focus: true
     Keys.onSpacePressed: video.paused = !video.paused
     Keys.onLeftPressed: video.position -= 5000
     Keys.onRightPressed: video.position += 5000
 }
не заускается. qmlviewer пишет:
Код:
module "QtMultimediaKit" is not installed 
      import QtMultimediaKit 1.0
     ^
SDK у меня последний, но библиотеки будто бы остались версии 4.7.4. Я что-то уже совсем ничего не понимаю. Хотя б подскажите где искать ответы.

edited:
Мне нужно просто воспроизвести видео внутри QML компонента. Как и на чем это будет реализовано мне в принципе не важно. Подскажите пожалуйста наименее проблемный путь.
« Последнее редактирование: Апрель 25, 2012, 08:32 от Silver_swift » Записан
Ubuntu_linux
Гость
« Ответ #5 : Апрель 26, 2012, 03:16 »

Я использовал для десктопа Phonon,все работало. Просто сделал свой qml компонент и без проблем его юзал.
Записан
Silver_swift
Гость
« Ответ #6 : Апрель 26, 2012, 10:08 »

У меня в kubuntu 11.04 были проблемы с бэк-ендами для фонона. Потому я использовал libvlc.
http://www.prog.org.ru/topic_20025_0.html

Можно посмотреть пример компонента с использованием фонона?
Записан
Ubuntu_linux
Гость
« Ответ #7 : Апрель 27, 2012, 11:10 »

Та нечего особенного, просто наследник от QGraphicsItem  и все.
Записан
Silver_swift
Гость
« Ответ #8 : Май 18, 2012, 13:06 »

Цитировать
Та нечего особенного, просто наследник от QGraphicsItem  и все.
Забавно, но у меня почему-то ничего не получается. Может проще будет рабочий примерчик выложить?

Пробовал по-всякому. Вариант крайней попытки приложил в архиве.

Пробема та же - компонент не отображается внутри другого. К тому же закомментированные вызовы play() и stop() выкидывают ошибки вроде:
Код:
qmlviewer: symbol lookup error: /usr/lib/qt4/plugins/phonon_backend/phonon_gstreamer.so: undefined symbol: _ZNK6Phonon11MediaSource3mrlEv

QtMultimediaKit использовать не получается. Его не обнаруживает qmlviewer. Хотя aptitude говорит что установлена самая новая версия qtmobility-dev.

vlc плеер встроить в QML, как я понял, вообще не получится потому что он привязывается к winID() которого в QML нет.

Помогите разобраться до конца хоть с каким-то вариантом и реализовать его.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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