首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用QMediaRecorder录制视频的Qt不工作

使用QMediaRecorder录制视频的Qt不工作
EN

Stack Overflow用户
提问于 2014-03-17 10:52:29
回答 1查看 3.6K关注 0票数 3

我在qt中录制视频有问题。如果有人知道答案或给出提示,我会非常高兴的。:)

我正在使用:

  1. Windows 7 64位
  2. QT 5.1.1
  3. 带OpenGL的MSVC 2010 32位

问题是:

我遵循了文档(http://qt-project.org/doc/qt-5.0/qtmultimedia/cameraoverview.html)和其他文档(http://www.meetingcpp.com/index.php/br/items/recording-videos-with-qt5.html)中解释的示例,并这样做:

代码语言:javascript
运行
复制
 m_camera = new QCamera;
 m_mediaRecorder = new QMediaRecorder(m_camera);
...
...
 QVideoEncoderSettings settings =  m_mediaRecorder->videoSettings();
 settings.setResolution(800, 600);
 settings.setQuality(QMultimedia::LowQuality);
 settings.setFrameRate(30.0);
 m_mediaRecorder->setVideoSettings(settings);
...
 m_camera->setCaptureMode(QCamera::CaptureVideo);
...
 m_camera->focus();

在“记录”按钮上单击:

代码语言:javascript
运行
复制
m_camera->focus();
bool ret = m_mediaRecorder->setOutputLocation(QUrl::fromLocalFile("testvideo.mp4"));
qDebug()<<"ret: "<<ret;
m_mediaRecorder->record();

按钮停止:

代码语言:javascript
运行
复制
m_mediaRecorder->stop();

这个想法是不存在输出视频。我打印了函数m_mediaRecorder.setOutputLocation()的返回,该函数总是返回false。文档给出了setOutputLocation如何失败的示例(使用QUrl网络,这不是我的情况),但没有指定如何使用本地QUrl失败。我认为给出不正确的路径会使mediaRecorder抱怨,所以我也尝试了以下几点:

代码语言:javascript
运行
复制
bool ret = m_mediaRecorder->setOutputLocation(QUrl::fromLocalFile(QCoreApplication::applicationDirPath() + "/" + "testvideo.mp4"));
bool ret = m_mediaRecorder->setOutputLocation(QUrl("file:///path/to/my/working/directory/testvideo.mp4"));

但它也失败了。

有人能帮我解决这个问题吗?非常感谢您提前!

EN

回答 1

Stack Overflow用户

发布于 2014-08-01 22:52:14

问题似乎在于,由于尚未完全实现插件更改,录制仍然无法用于windows,正如这里所解释的那样。

我在mac电脑上测试过,效果很好。为了在windows上修复这个问题,我使用了QtMEL库

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22452432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档