0

ビデオを送信して再生するアプリケーションを作成しようとしています。しかし、最初はビデオを開いて再生しようとしていますが、それで問題が発生しています。これが私のコードです:

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 が表示されますが、灰色の画面が表示され、砂時計でハングします。

それを手伝ってもらえますか?

4

1 に答える 1

1

waitKeyウィンドウを更新するには、呼び出す必要があります。ユーザーが文字「c」を押すと、これは停止します。

int c = waitKey(10);
if( (char)c == 'c' ) { break; }
于 2012-12-05T22:24:26.830 に答える