Qt または Qml を使用して、iOS アプリケーションでサウンド付きのビデオを再生しようとしています。私の環境は:
- Qt 5.4
- OS X ヨセミテ 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++ バージョンでは黒い画面が表示されました。
ご協力いただきありがとうございます。