Я пытаюсь воспроизвести видео со звуком в приложении iOS с Qt или Qml. Моя среда:Qt 5.4 QML VideoOutput не работает на iOS
- Qt 5.4
- OSX Yosemite 10.10.2
- IPad 2 (IOS 8,3) и Iphone6 + (IOS 8,3)
код Test (QML версия):
import QtQuick 2.4
import QtMultimedia 5.0
VideoOutput {
anchors.fill: parent
fillMode: VideoOutput.PreserveAspectFit
source: player
MediaPlayer {
id: player
autoPlay: true
onStatusChanged: {if (status==MediaPlayer.EndOfMedia) play();}
source: "qrc:/videos/vid2.mp4"
}
}
Тестовый код (C++ версии):
QMainWindow w;
QVideoWidget* pVWidget = new QVideoWidget;
QMediaPlayer* pPlayer = new QMediaPlayer;
pPlayer->setMedia(QUrl("qrc:/videos/vid2.mp4"));
w.setCentralWidget(pVWidget);
w.show();
pPlayer->play();
Мой файл проекта (.pro
):
TEMPLATE = app
QT += core gui network sql widgets xmlpatterns quick qml multimedia multimediawidgets
SOURCES += main.cpp
RESOURCES += qml.qrc
Источник испытания:
- из ресурса:
qrc://videos/vid2.mp4
- из локального файла после преуспевающим копии на хранение:
/var/mobile/Containers/Data/Application/12BD0B54-46B3-439F-9869-E06E1AC6CD87/Library/Application Support/data/vid1.mp4
- из видео онлайн:
http://www.rmh.de/9d0386eada217cd63a752458aeca89d6/9d0386eada217cd63a752458aeca89d6.mp4
Все работает отлично при исполнении Android или OS X, тогда как выполнение не выполняется как на устройствах iOS, так и на iOS Simulator.
Я попытался добавить QTPLUGING
, но, как и должно быть, создатель обнаружил, что он дублировал. Я пробовал использовать QMAKE_BUNDLE_DATA
, но это тоже не сработало. Я получил белый экран на QML-версии и черный экран на C++-версии.
Благодарим за помощь.
Есть ли выход на консоли (панель «Application output» в Qt Creator)? –
Нет ничего, нет сообщения об ошибке, нет предупреждения ... – Yannick
Я только что обнаружил, что когда я проверяю onStatusChanged из MediaPlayer, эта остановка на MediaPlayer.InvalidMedia с строкой ошибки «Не удалось загрузить носитель». Другое открытие заключается в том, что если я загружаю свой qml из папки «Документы» приложения, видео указывается ... (с некоторыми другими проблемами макета, но начиная ...). Если я запускаю точно такой же qml-файл из ресурсов, запуск видео не запускается. – Yannick