迎风向前,是唯一的方向
移动平台开发:iPhone,Brew等。多媒体方面开发,涉及DirectShow,Direct3D,ffmpeg等

导航

 

2009年2月19日

摘要: 记得在刚开始学习D3D时,曾看到D3D的一个例子程序,一个人(模型)在走,身旁是一堵一堵的电视墙,而里面都在播放同一段视频。程序中同时展现出3D和视频画面给我留下了深深印象。在后来的工作中,却主要是做音视频方面程序开发,直到最近比较闲,又看到论坛里有这方面的贴子,便琢磨,能不能把它做出来呢。通过几天的努力后,终于实现了其基本功能,做出了一个Demo。将一些感受写下来,欢迎大家讨论,借... 阅读全文
posted @ 2009-02-19 21:53 cyrys 阅读(557) 评论(2) 推荐(0) 编辑
 

2008年3月18日

摘要: DirectShow中用好智能连接 前段时间,在做一个播放器时,内存泄漏很严重。为了达到要求,Filter Graph要按照事先已确定的一种链路来建立,所以刚开始时我在程序中将Filter逐个进行连接,即创建一个,再连接一个,这样虽然能构建出事先确定的链路,但很麻烦,代码冗长,而且在每打开一个媒体文件时,因为上一次得到的接口难以释放彻底,会造成严重的内存泄漏。后来,我将程序改为智能连接,... 阅读全文
posted @ 2008-03-18 15:36 cyrys 阅读(796) 评论(0) 推荐(1) 编辑
 

2007年3月20日

摘要: 我写的媒体播放程序,如果单独播放是正常的,但接上电视后就不能正常显示了,原因应在于不能正确得到视频大小,为何?硬件原因还是程序没能充分判断? 阅读全文
posted @ 2007-03-20 21:09 cyrys 阅读(212) 评论(0) 推荐(0) 编辑
 

2007年1月22日

摘要: 这两天遇到一个奇怪的问题,程序启动时,报错:试图进行系统不支持的操作.百思不得其解,在网上查找,最后单步跟踪,发现是资源文件改变了,但没有删掉对应的控件变量引起的,改过后就正常了! 阅读全文
posted @ 2007-01-22 19:13 cyrys 阅读(260) 评论(0) 推荐(0) 编辑
 

2007年1月6日

摘要: 这几天在做CD抓轨,从网上找到一个例子,但抓取下来的WAVE文件,比原始文件少了十几秒,而且音质明显逊色很多。我想不通为何这样,后来找到原始代码中固定设置采样率为48000Hz,而常见的CD音频采样率为44100Hz,将其改过来就OK了。这个参数是写到文件头中的,只是这么一个参数,告诉播放器应该如何播放这个WAVE文件,不能搞错了! 阅读全文
posted @ 2007-01-06 01:00 cyrys 阅读(249) 评论(0) 推荐(0) 编辑
 

2006年12月15日

摘要: 今天好不容易找到一种处理媒体文件的办法,为得到整个媒体文件的信息,需要将其内容快速处理一次,写了一个Renderer Filter,它什么也不做,得到数据就返回。这样处理一般的歌曲文件只要10秒左右!但在修改过程中,却遇到一个奇怪的问题,从下午到晚上都在解决这个简单而好笑的问题,最后了现是初始化时两条语句写反了,形如:for(i=0;i++;i<a)改为for(i=0;i<a;i++)... 阅读全文
posted @ 2006-12-15 19:25 cyrys 阅读(200) 评论(0) 推荐(0) 编辑
 

2006年11月15日

摘要: 这两天碰到了奇怪的问题,加入DeleteMediaType()释放内存后,编绎成功,但链接失败,找到N个重名符号.查找帮助文档,依葫芦画瓢,替换成以下代码就正常了,看来DirectShow也知道会有这个问题吧:Use this function to release any media type structure that was allocated using either CoTaskMem... 阅读全文
posted @ 2006-11-15 13:10 cyrys 阅读(956) 评论(0) 推荐(0) 编辑
 

2006年11月13日

摘要: 我的程序中,设置音量,会改变Volume Mixer中的波形音量。经过查找,发现问题在于,用了不同的Audio Render,系统提供了两个Audio Render,CLSID不同:CLSID_DSoundRenderCLSID_AudioRender使用第一个Filter不会影响系统的音量设置,而第二个会改变波形音量!再看帮助文档,是这样叙述的:对于枚举出来的每个音频播放设备,都有两个Filte... 阅读全文
posted @ 2006-11-13 23:18 cyrys 阅读(903) 评论(0) 推荐(0) 编辑
 

2006年11月6日

摘要: 要静下心来解决问题,也许并不清楚解决问题的方向,也许还没有头绪,但请把精力集中在问题上,试着用不同的方法来改变它。即使解决不了,也一定会有收获的!就像这两个名字相同的Video Renderer Filter,我想过问题的原因,但一直在尝试自己写双屏Renderer Filter,推测是GraphEdit能更好地控制DirectShow程序,但一直没有真正静下来解决这个问题,其实这两个Video ... 阅读全文
posted @ 2006-11-06 23:36 cyrys 阅读(371) 评论(0) 推荐(0) 编辑
 

2006年11月4日

摘要: Direct3D制作二维界面总结 因为工作关系,最近用Direct3D中的二维部分制作了一个软件的界面部分,在这里将其中的感受写下来,与大家分享,也欢迎大家讨论! GDI与Direct3D简单对比GDI: CPU占用少,但易产生画面闪烁现象,在现成的函数中,可达到画面效果比起Direct3D少的多。可以用现成的控件,处理消息方便,但受一定的系统限制!对硬件要求低。Direct3D:由于程序结构... 阅读全文
posted @ 2006-11-04 23:46 cyrys 阅读(574) 评论(0) 推荐(0) 编辑