SDL是一种既是开源的,也是跨平台的多媒体开发包,在各种平台上应用很广,经常和ffmpeg等解码器同时使用。对于在windows mobile等缺乏通用播放器的平台来说,是一种很好的选择。
网上很多代码,介绍SDL的用法,主要需要注意的情况有3种:
第一: 绑定播放窗口问题:
char sdl_var[128]; 
sprintf(sdl_var, "SDL_WINDOWID=0x%lx", m_hWnd );//主窗口句柄 
SDL_putenv(sdl_var); char *myvalue = SDL_getenv("SDL_WINDOWID");
这端代码,需要放在播放窗口初始化之前,否则,容易造成全屏。

第二:SDL本身响应窗口菜单的问题
SDL官方提供以下代码响应窗口菜单:
while(1) {
SDL_WaitEvent(&event);
{
case

}

}
但也可以我们在程序里面重新初始化并显示新菜单,就可以不用这种办法,直接用我们自己的程序响应菜单。
第三:关于缩放:
网上很多代码容易误导人。
把SDL_SetVideoMode和SDL_CreateYUVOverlay的参数都设置成一样的,这种办法导致屏幕图象缩放显示不正常,正确的方法 应该是:SDL_SetVideoMode的参数显示新的显示大小,而SDL_CreateYUVOverlay(只需建立一 次,SDL_SetVideoMode更换时,不需要跟着更换)的参数则是图片的原始大小 。
而在SDL_DisplayYUVOverlay中用到的SDL_Rect,大小则和SDL_SetVideoMode一样,也就是新的显示大小。

SDL附着window窗口的方法相关推荐

  1. WPF关闭应用程序,释放Window窗口资源方法

    WindowsForm里一个Application.Exit();方法就可以关闭应用程序,释放掉资源. WPF里Application类没有该方法,但是有一个Exit的事件驱动,在WPF应用程序里面关 ...

  2. window.open window.showModelDialog 打开一个新窗口/子窗口中调用父窗口的方法

    window.open 只打开一个窗口是将 oNewWindow   =   window   .   open   (   sURL   ,   sName   ,   sFeatures   , ...

  3. javascript window 属性和方法。

    closed 获取引用窗口是否已关闭. defaultStatus 设置或获取要在窗口底部的状态栏上显示的缺省信息. dialogArguments 设置或获取传递给模式对话框窗口的变量或变量数组. ...

  4. Window 窗口层次关系

    相信在Window 下面编程的很多兄弟们都不是很清楚Window 中窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所以便整理一下.下面就说说Window ...

  5. OpenGL创建hello Window窗口

    OpenGL创建hello Window窗口 OpenGL创建hello Window窗口简介 源代码剖析 主要源代码 OpenGL创建hello Window窗口简介 这是我们与GLEW(OpenG ...

  6. 用SDL创建一个窗口

     原文来自:http://www.aaroncox.net/tutorials/2dtutorials/sdlwindow.html 注意:这里我们想当然你已经知道怎么在你的IDE集成开发环境里配 ...

  7. JavaScript中的Window窗口对象【转载】

    本文转载自:http://www.ijavascript.cn/jiaocheng/javascript-window-65.html 他是JavaScript中最大的对象,它描述的是一个浏览器窗口. ...

  8. VC启动窗口画面制作方法研究

    VC启动窗口画面制作方法研究 源代码运行效果图如下: 1. 概述 前几天在设计软件时,选择VC作为开发工具,想做个启动画面,由于以前没有制作过,所以到网上搜了一通.网上有几篇相关文章,有两篇我觉得很有 ...

  9. js获取window窗口高度(页面滚动条可滚动高度) - 代码篇

    js中获取窗口高度的方法 取窗口滚动条滚动高度 (如下文 · 截图) 一. javascript 和 jquery代码: //原生 javascript 代码: let scrollHeight = ...

最新文章

  1. 版本控制8(译文) -(完)
  2. C 引用和指针的区别
  3. 的拼音怎么改正_「我就退出家长群怎么了?」:多少中年父母的崩溃,从家长群开始...
  4. qt5中重绘工具栏_Qt ------ QPainter 和控件组件的重绘
  5. QT每日一练day15:QColorDialog颜色对话框
  6. 骨牌覆盖问题 KxM
  7. Java的一些基础问题
  8. Java、JSP小区车辆停车管理系统
  9. jquery手机端弹窗插件
  10. 分享:微信淘宝客自动查券找券返利机器人实现的原理和思路
  11. android root测试,android检测是否已经具有root权限
  12. 程序猿12个“人艰不拆”的真相
  13. 事务 Transcation 是什么?
  14. 【FeatherNets】《FeatherNets:Convolutional Neural Networks as Light as Feather for Face Anti-spoofing》
  15. 直播系统代码,自行更改导航栏样式
  16. mysql 主键列_MySQL列属性 之 主键
  17. jquery 身份证工具类插件
  18. Zcash 对以太坊来说意味着什么?
  19. UE4/UE5引擎 FPS游戏逆向工程
  20. python批量裁剪并保存图片

热门文章

  1. [转]Stream 和 byte[] 之间的转换
  2. 从数据库导出到EXCEL文件的sql语句
  3. python提供了名称为什么的构造方法_python面向对象编程(1)——基本概念,术语,self,构造器...
  4. Android下如何计算两经纬点之间距离?
  5. 大型网站架构演变和知识体系(转)
  6. Hyper-V用差异磁盘克隆系统
  7. Zxing 的集成 ---- Maven 对应 Gradle 的写法
  8. linux基础-权限管理,手工添加用户,umask,bash配置文件
  9. java抓取动态生成的网页
  10. Delphi BLE 控件