Название: Qt+GIF на Android Отправлено: Kron от Сентябрь 15, 2016, 09:50 Добрый день. Стоит такая задача. Написать приложение на Qt для Android, чтобы можно было просматривать gif анимации. В свою очередь гифки скачиваются по url. Если Gif скачать как обычный файл, то мы ждем пока скачается весь файл(а вес 5-10 мб, что для мобильного интернета многовато), а потом уже можно будет его просмотреть. Вариант это открывать gif через браузер, то есть webview. Тогда мы сможем смотреть анимацию пока она будет качаться. WebKit и WebKitWidgets не поддерживаются на android. Пишут на форумах, что только WebView - QML и WebEngine Qt. С WebEngine возникли проблемы, компилятор не хотел делать билд под Android из-за того, что он не мог найти модуль(скачивал даже последнию версию Qt, ставил на MacOS - не помогло).
Тогда обратил внимание на QML. С ним раньше не работал и опыта мало. Но нашел пример интеграции QML в Qt с помощью QDeclarativeView и QQuickEngine на офф. сайте. И тут возникла проблема. QQuickEngine загружает GIF как надо, но только он рисует поверх(overlay) содержимого Widget, что мне не подходит. Код: QQuickView *quickView = new QQuickView; QDeclarativeView встраивается в виждет в Qt и рисует зеленый квадрат: Код: QDeclarativeView *qmlView = new QDeclarativeView(QUrl("qrc:/opnhtml.qml")); qml opnhtml.qml (просто пример, чтобы просмотреть откроется ли страничка) Код: import QtQuick 1.0 Но когда я в qml файле раскомментирую хотя бы import QtWebKit 1.0. На экране ничего, просто белый фон. И соответственно если убрать и комментарии на теле WebView все тот же белый экран и ничего не происходит. Подскажите, пожалуйста, решение. Если можно загружать и проигрывать gif одновременно, не открывая его как страничку(без использования QML, WebEngine), скиньте пример или в какую сторону копать напишите. Или что неправильно сделал с QML WebView? Название: Re: Qt+GIF на Android Отправлено: qate от Сентябрь 15, 2016, 11:53 я бы рассмотрел возможность написания своего класса просмотра gif с подкачкой данных - всяко гибче получится, потом может и перемотку кому захочется или чего еще
Название: Re: Qt+GIF на Android Отправлено: Kron от Сентябрь 16, 2016, 06:08 я бы рассмотрел возможность написания своего класса просмотра gif с подкачкой данных - всяко гибче получится, потом может и перемотку кому захочется или чего еще Я тоже над этим задумывался, но это упирается в время написание, ибо готового подобного в интернете нет. Есть разбор формата gif по байтово и С++ декодирование. Хотелось бы реализовать готовыми методами.Название: Re: Qt+GIF на Android Отправлено: qate от Сентябрь 16, 2016, 08:40 Хотелось бы реализовать готовыми методами. можно попробовать при чтении очередной порции данных просто посмотреть и подрезать до корректного размера и далее передать данные файла готовому классу отображения gif Название: Re: Qt+GIF на Android Отправлено: Kron от Сентябрь 16, 2016, 09:46 можно попробовать при чтении очередной порции данных просто посмотреть и подрезать до корректного размера и далее передать данные файла готовому классу отображения gif ммм... интересный вариант. Я думал писать свой плеер из-за того, что не получается с QML. Спасибо, попробую при скачивании буфер считывать, разбирать байты и скармливать уже QMovie. |