我正在尝试使用Qt或Qml在iOS应用程序中播放带声音的视频 . 我的环境是:
-
Qt 5.4
-
OSX Yosemite 10.10.2
-
iPad 2(iOS 8.3)和Iphone6(iOS 8.3)
测试代码(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模拟器上的执行都失败 .
我尝试添加 QTPLUGING
但是,应该是,Creator发现它是重复的 . 我尝试使用 QMAKE_BUNDLE_DATA
,但这也不起作用 . 我在QML版本和C版黑屏上有一个白色屏幕 .
谢谢你的帮助 .
1 回答
这是一个Qt错误 . https://bugreports.qt.io/browse/QTBUG-31422 https://bugreports.qt.io/browse/QTBUG-36175
据推测固定在Qt 5.5中 .