Agile
-
WMENC_SOURCE_TYPE=6?
2007-02-13
WMENC_SOURCE_TYPE=6?
上周这个问题困扰了我好几个小时,今天有时间记下来。
上周修改公司的一个直播编码器(基于Windows Media Encoder SDK开发),有一个功能是列出系统中所有的可用视频/音频设备。我们使用了种叫osprey的采集卡,总是无法区分出是视频还是音频设备。研究了一下sdk的api,发现一个函数:
HRESULT get_MediaType( WMENC_SOURCE_TYPE* penumMediaType );
调用此方法应该就可以得到当前的设备是哪种类型,好不高兴,试验了一下,还是没有检测出我想要的设备。
不得不Debug 了,结果很是奇怪,返回的值竟然是6,再看WMENC_SOURCE_TYPE的定义:
typedef enum WMENC_SOURCE_TYPE{
WMENC_AUDIO = 1, WMENC_VIDEO = 2, WMENC_SCRIPT = 4, WMENC_FILETRANSFER = 8
};
只有这四种值,那6是哪来的?经验判断,估计6是WMENC_VIDEO和WMENC_SCRIPT的“或 ”,测试一下果然得到了结果。
虽然结果正确了,还是不放心,刚才又上Google找到一个文章,正在是类似的问题:http://www.tech-archive.net/Archive/Media/microsoft.public.windowsmedia.encoder/2005-01/0213.html
基本上是这个结果了。
今天又有需求了,要求做成类似Windows Encoder的那种,在播放时可以显示出进度条和音频的音量指示,晕,感觉自己像块砖一样,什么地方需要就到什么地方去,有时真是受不了了,就在这里发发牢骚先。
越发喜欢Groovy了,强大,简单,最近又在项目中小试了一下,好使得很。
过年了,还没有搞到票,郁闷啊,难道要到初一才能回吗?:(
该死的票贩子,昨天去北站问了一下,一张票要1000块,原价可是连200都不到,飞机票也没有这么贵。
随机文章:
Groovy字符串操作 2008-02-14Groovy实现的字符串逻辑运算DSL 2007-12-31Why is Groovy so slow? 2007-12-27Groovy 1.5发布 2007-12-08Groovy 脚本小技巧两则 | 解决vpnc覆盖resolv.conf的问题 2007-12-03
收藏到:Del.icio.us







评论
这样就可以判断混合资源了,比如单独的声音源会得到1,声音加脚本的混合源会得到5。