3

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++ バージョンでは黒い画面が表示されました。

ご協力いただきありがとうございます。

4

1 に答える 1

0

これは Qt のバグです。 https://bugreports.qt.io/browse/QTBUG-31422 https://bugreports.qt.io/browse/QTBUG-36175

おそらくQt 5.5で修正されました。

于 2015-05-04T01:16:30.600 に答える