HiL*_*Los 4 c++ video qt widget qt-creator
这可能是一个非常菜鸟的问题...我对 Qt 很陌生,正在尝试在 Qt 创建者中编程。现在我从 Qt 创建者创建了一个新的 Qt Widgets 应用程序,并想用它播放视频。现在我的项目中有以下 6 个文件:
当我运行应用程序时(也许使用一些名为 QVideoPlayer 的工具),我应该在哪里以及如何编写代码以使其播放 Demo.mp4?我应该在 videoplayer.ui 上添加一些 Qwidget 吗?现在,我的 videoplayer.ui 上有四个按钮“播放”、“暂停”、“全屏”和“重新排列”。我想要的结果是具有以下特征的东西:
您正在寻找Qt 多媒体小部件。(运行 Linux 时您可能需要安装额外的软件包)。
基本思想是这样的:
QVideoWidget. 这是视频显示的地方。
.ui文件中的内容。fullScreen属性。QMediaPlayer控制播放内容和播放时间的 。
QMediaPlayer::setVideoOutput(yourVideoWidgetGoesHere);。QMediaPlaylist到你的QMediaPlayer.QMediaPlayer::play(),你应该可以走了如果到目前为止还有效,那么您需要一些基本的控件。QMediaPlayer提供了以下插槽,其功能正如其名称所示:
pause()play()stop()setPosition(int),参数以毫秒为单位。duration()可能会感兴趣。setVolume(int)和setMuted(bool)。音量从 0 到 100。setPlaybackRate(double)metaData(QString key):http ://qt-project.org/doc/qt-5/qmediaobject.html#metaData其中每一个都有一个相应的变化信号,对您来说非常有趣的可能是positionChanged(int)更新滑块或与当前位置类似的信号。
Qt 文档提供的基本示例:
player = new QMediaPlayer;
playlist = new QMediaPlaylist(player);
playlist->addMedia(QUrl("http://example.com/myclip1.mp4"));
playlist->addMedia(QUrl("http://example.com/myclip2.mp4"));
videoWidget = new QVideoWidget;
player->setVideoOutput(videoWidget);
videoWidget->show();
playlist->setCurrentIndex(1);
player->play();
Run Code Online (Sandbox Code Playgroud)