win32项目,关于播放视频SDL2,请教有经验的人指点。

maya8maya85 2016-06-13 08:11:43
背景:win32项目目+ Duilib + FFMPEG + SDL2
播放窗口hWnd是这样创建出来的
hWnd = CreateWindow(_T("#32770"), _T("WndMediaDisplay"), WS_VISIBLE | WS_CHILD, 0, 31, 0, 0, m_PaintManager.GetPaintWindow(), (HMENU)0, NULL, NULL);

然后通过以下代码创建画面
screen = SDL_CreateWindowFrom(hWnd);


第一个问题是:如何全屏?以下代码是我尝试过的,达不到效果

//整个播放窗口,整个桌面的像被拉扯一样,但桌面的图标,和软件的界面还是看到,没有全屏
SDL_SetWindowFullscreen(screen,SDL_WINDOW_FULLSCREEN);
//无效果
SDL_SetWindowSize(screen,GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN));
//dulib界面,画面也放大了,但没有铺到整个屏幕上,还是在原来的自绘窗口的域里。。。
SetWindowPos(hWnd, NULL, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), SWP_SHOWWINDOW);


=========================================================================
第二个问题是:这样创建hWnd默认是windows的灰色的[SDL未初始化前],但播放完视频后,由于SDL停止的绘制,窗口就变成了黑色,如何实现再播放呢?现在的情况是再播放的话,画面也是黑的,就是画页没有绘制上去。
播放完的处理代码
sws_freeContext(img_convert_ctx);
//SDL_DestroyWindow(screen);
SDL_Quit();
//--------------
av_frame_free(&pFrameYUV);
av_frame_free(&pFrame);
avcodec_close(pCodecCtx);
avformat_close_input(&pFormatCtx);

创建hWnd后

播放视频后

请有经验的高手指点一下。
...全文
256 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
顾小白xx 2019-08-13
  • 打赏
  • 举报
回复
兄弟你的代码能看一下吗? 我的为什么老是在创建纹理的时候失败代码能不能共享一下
zgl7903 2016-06-16
  • 打赏
  • 举报
回复
全屏的窗口 可能要 WS_POPUP 属性 有没有播放完的事件/消息? 处理一下
maya8maya85 2016-06-15
  • 打赏
  • 举报
回复
版主们都不说话了吗?
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧