我正在尝试编写一个传输视频然后播放视频的应用程序。但一开始我试图打开视频并播放它,我遇到了麻烦。 这是我的代码:
VideoPlayer::Play()
{
CvCapture *capture = cvCreateFileCapture(m_FileName.c_str());
IplImage* frame = cvQueryFrame(capture);
int frame_number = 0;
cvNamedWindow("stream_server", CV_WINDOW_AUTOSIZE);
while (true)
{
if (!frame)
{
std::cout << "Failed\n";
break;
}
cvShowImage("stream_server", frame);
++frame_number;
frame = cvQueryFrame(capture);
}
cvReleaseCapture(&capture);
}
事情是 - 当我运行这个程序时,我看到videoWindows出现,但它显示灰色屏幕并挂着沙子时钟。
你能帮帮我吗?
答案 0 :(得分:1)
您需要调用waitKey
才能更新窗口。如果用户按下字母'c',这将停止:
int c = waitKey(10);
if( (char)c == 'c' ) { break; }