3

QT マルチメディア フレームワーク (5.0.1) を使用してムービーを再生しようとしていますが、H.264 でコード化されたムービーの黒い画面しか表示されません。

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QWidget *mainWidget = new QWidget();
    mainWidget->setGeometry(0,0, 1920, 1080);

    QVideoWidget *widget = new QVideoWidget(mainWidget);
    widget->setGeometry(0, 0, 1920, 1080);

    QMediaPlayer *player = new QMediaPlayer;
    QUrl localUrl = QUrl::fromLocalFile("test_mov.mov");
    player->setMedia(localUrl);
    qDebug() << "Player error state -> " << player->error();
    qDebug() << "Media supported state -> " << QMediaPlayer::hasSupport("video/mov");
    player->setVideoOutput(widget);

    mainWidget->show();

    player->play();

    return a.exec();
}

コードは正しくコンパイルされ、コンソールに次の出力が表示されますが、ビデオ ウィジェットは黒のままです。

Player エラー状態 -> QMediaPlayer::NoError
Media supported state -> 1 // 「おそらくサポートされている」を意味します

Mac OSX 10.7.5 で Qt 5.0.1 を使用しています。ファイルはプレーヤーによって正しく再生され、ffmpeg -i test_mov.mov は

時間: 00:00:02.52、開始: 0.000000、ビットレート: 63708 kb/s ストリーム #0:0(eng): ビデオ: h264 (メイン) (avc1 / 0x31637661)、yuv420p、1920x1080、63684 kb/s、SAR 1745 :1920 DAR 349:216、25 fps、25 tbr、25 tbn、50 tbc

QT Multimedia でサポートされているフォーマットを知っている人はいますか?

ありがとうございました

4

1 に答える 1

0

Windows では、通常、QT ビデオ ファイル形式は .mov ファイル名拡張子で表示されます。QuickTime が (さまざまな程度で) ネイティブにサポートするその他のファイル形式には、AIFF、WAV、DV、MP3、および MPEG-1 があります。

于 2014-05-09T15:06:03.580 に答える