我在qt中录制视频有问题。如果有人知道答案或给出提示,我会非常高兴的。:)
我正在使用:
问题是:
我遵循了文档(http://qt-project.org/doc/qt-5.0/qtmultimedia/cameraoverview.html)和其他文档(http://www.meetingcpp.com/index.php/br/items/recording-videos-with-qt5.html)中解释的示例,并这样做:
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();
在“记录”按钮上单击:
m_camera->focus();
bool ret = m_mediaRecorder->setOutputLocation(QUrl::fromLocalFile("testvideo.mp4"));
qDebug()<<"ret: "<<ret;
m_mediaRecorder->record();
按钮停止:
m_mediaRecorder->stop();
这个想法是不存在输出视频。我打印了函数m_mediaRecorder.setOutputLocation()的返回,该函数总是返回false。文档给出了setOutputLocation如何失败的示例(使用QUrl网络,这不是我的情况),但没有指定如何使用本地QUrl失败。我认为给出不正确的路径会使mediaRecorder抱怨,所以我也尝试了以下几点:
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"));
但它也失败了。
有人能帮我解决这个问题吗?非常感谢您提前!
https://stackoverflow.com/questions/22452432
复制相似问题