Dél*_*nio 2 c++ video qt multimedia codec
我正在尝试在我的应用程序中设置QVideoWidget,但我没有音频/视频.这是我创建相关对象的方式:
m_player = new QMediaPlayer;
m_playlist = new QMediaPlaylist(m_player);
m_playlist->addMedia(QUrl::fromLocalFile("/home/username/Documents/test.mp4"));
m_widgetVideo = new QVideoWidget;
m_player->setVideoOutput(m_widgetVideo);
m_layout = new QHBoxLayout(this);
m_layout->addWidget(m_widgetVideo);
this->setLayout(m_layout);
m_playlist->setCurrentIndex(0);
m_player->play();
Run Code Online (Sandbox Code Playgroud)
我得到的只是黑屏,没有音频和视频.我不知道我是否可以在这里发布MP4文件(这是从YouTube下载的测试文件),所以如果有人需要有关它的信息,请问我,我会得到它.以下是在测试文件上运行ffprobe的结果:http://pastebin.com/xpMYbApY
QMediaPlayer->duration(); = -1
QMediaPlayer->supportedMimeTypes(); = ()
QMediaPlayer->errorString() = ""
Run Code Online (Sandbox Code Playgroud)
另外,我有这些gstreamer包:
gstreamer0.10-alsa
gstreamer0.10-ffmpeg
gstreamer0.10-nice
gstreamer0.10-plugins-bad
gstreamer0.10-plugins-bad-multiverse
gstreamer0.10-plugins-base
gstreamer0.10-plugins-base-apps
gstreamer0.10-plugins-good
gstreamer0.10-plugins-ugly
gstreamer0.10-pulseaudio
gstreamer0.10-tools
gstreamer0.10-x
Run Code Online (Sandbox Code Playgroud)
gst-launch-0.10完美播放文件,这是否意味着Qt实际上找不到已安装的GStreamer编解码器?
问题是QMediaPlaylist.出于某种原因,它无法正常工作.我所要解决的只是:
m_player->setMedia(QUrl::fromLocalFile("path/to/file"));
Run Code Online (Sandbox Code Playgroud)