能不能分割播放一个视频文件? 想把一个视频文件的画面分成两个部分,分别在两个窗口里播放,这个能实现吗?请指教,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以的,使用OPENGL抓取每帧图像做纹理,然后再把每帧纹理贴出来。在贴出纹理的时候可以控制纹理坐标,显示一部分。类似于这样的==========================glBegin(GL_QUADS ); glTexCoord2f(1.0f*partPercent,1.0f); glVertex3f(0.0f,8.0f,-20.0f); glTexCoord2f(0.0f,1.0f); glVertex3f(-20.0f,8.0f,-20.0f); glTexCoord2f(0.0f,0.0f); glVertex3f(-20.0f,-8.0f,-20.0f); glTexCoord2f(1.0f*partPercent,0.0f); glVertex3f(0.0f,-8.0f,-20.0f); glEnd();glBegin(GL_QUADS ); glTexCoord2f(1.0f,1.0f); glVertex3f(20.0f,8.0f,-20.0f); glTexCoord2f(1.0f*partPercent,1.0f); glVertex3f(0.0f,8.0f,-20.0f); glTexCoord2f(1.0f*partPercent,0.0f); glVertex3f(0.0f,-8.0f,-20.0f); glTexCoord2f(1.0f,0.0f); glVertex3f(20.0f,-8.0f,-20.0f);glEnd(); 具体方法是重载两个函数:OnLButtonDown 和OnMouseMove // 重载后不允许调整大小 void CMySplitterWnd::OnLButtonDown(UINT, CPoint) { return; //就这么简单 } // 重载后不允许设置光标指针 void CMySplitterWnd::OnMouseMove(UINT, CPoint) { return; // 同上 } 直接return,其它什么也不做。通常当在切分条上点击鼠标时,MFC执行的是如下代码: // (在 WinSplit.cpp 中) void CSplitterWnd::OnLButtonDown(UINT, CPoint pt) { if (m_bTracking) return; StartTracking(HitTest(pt)); } DirectShow应该可以实现 SourceFilter --> splitter filter ---> Stream 1 不好意思,按错Enter了Graph: SourceFilter --> splitter filter ---> Stream 1 -->Renderer (显示需要的部分) --> Stream 2 -->Renderer (显示需要的部分) 可以,网上有例子,自已google下吧. 怎样在对话框上点击按钮,然后弹出文本?谢谢。 图片的区域选择 请问MFC中有类似时间轴的控件吗? 一个关于CMarkup使用的问题 用ATL写COM选中了MFC支持, 加入了一个MFC对话框.......... 急求投影变换和视角变化的高手! 第一次变dll文件,编译通过,链接LNK2019错误! 如何支持不同文件格式 一个问题提了好几遍了,怎么就没有高手能给我彻底解决呢? 请问MFC可扩展DLL如何导出成员函数和写。H文件 请问下:如何在程序里向某个网页的一个编辑框里填写字符串 谢谢(急) 如何取得记录的值?疑问重重(2)??
==========================
glBegin(GL_QUADS );
glTexCoord2f(1.0f*partPercent,1.0f); glVertex3f(0.0f,8.0f,-20.0f);
glTexCoord2f(0.0f,1.0f); glVertex3f(-20.0f,8.0f,-20.0f);
glTexCoord2f(0.0f,0.0f); glVertex3f(-20.0f,-8.0f,-20.0f);
glTexCoord2f(1.0f*partPercent,0.0f); glVertex3f(0.0f,-8.0f,-20.0f);
glEnd();glBegin(GL_QUADS );
glTexCoord2f(1.0f,1.0f); glVertex3f(20.0f,8.0f,-20.0f);
glTexCoord2f(1.0f*partPercent,1.0f); glVertex3f(0.0f,8.0f,-20.0f);
glTexCoord2f(1.0f*partPercent,0.0f); glVertex3f(0.0f,-8.0f,-20.0f);
glTexCoord2f(1.0f,0.0f); glVertex3f(20.0f,-8.0f,-20.0f);
glEnd();
// 重载后不允许调整大小
void CMySplitterWnd::OnLButtonDown(UINT, CPoint)
{
return; //就这么简单
}
// 重载后不允许设置光标指针
void CMySplitterWnd::OnMouseMove(UINT, CPoint)
{
return; // 同上
}
直接return,其它什么也不做。通常当在切分条上点击鼠标时,MFC执行的是如下代码:
// (在 WinSplit.cpp 中)
void CSplitterWnd::OnLButtonDown(UINT, CPoint pt)
{
if (m_bTracking)
return;
StartTracking(HitTest(pt));
}
SourceFilter --> splitter filter ---> Stream 1
SourceFilter --> splitter filter ---> Stream 1 -->Renderer (显示需要的部分)
--> Stream 2 -->Renderer (显示需要的部分)