之前试了很多种方法,都不能实现视频播放的过程中滚动条的实时显示,出现的情况都是滚动条指到哪然后就从哪播放,但是滚动条不会随着视频的播放自己移动。现在已经能够实现了。
//////////////让视频中产生滚动条,并让滚动条实时刷新/////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#include"cv.h"
#include "highgui.h"
int g_slider_position = 0;
CvCapture* g_capture = NULL;
void onTrackbarSlide(int pos)
{
cvSetCaptureProperty(g_capture, CV_CAP_PROP_POS_FRAMES, pos);
}
int main(int argc, char** argv)
{
cvNamedWindow("Example4", CV_WINDOW_AUTOSIZE);
g_capture = cvCreateFileCapture(argv[1]);
int frames = (int)cvGetCaptureProperty(g_capture, CV_CAP_PROP_FRAME_COUNT);
if (frames != 0)
{
cvCreateTrackbar("Position", "Example4", &g_slider_position, frames, onTrackbarSlide);
}
int NewPos = g_slider_position;
IplImage* frame=NULL;
while ((frame = cvQueryFrame(g_capture))!=NULL)
{
cvShowImage("Example4", frame);
cvCreateTrackbar("Position", "Example4", &NewPos, frames, onTrackbarSlide);
NewPos++;
char c = cvWaitKey(33);
if (c == 27) break;
}
cvReleaseCapture(&g_capture);
cvDestroyWindow("Example4");
return 0;
}