平时我们播放
wmv
有很多办法
:
用
wm reader filter
直接
load
后
render
或者类似与这样
ShellExecute(NULL,"","g://1.wmv",NULL,NULL,SW_SHOWNORMAL);
但是上述的方法都只适合播放指定的文件,没有对缓存中的数据如何处理做说明。
P2P
的特征是得到不同客户端分发来的数据
,
然后在创建多个
buffer
并进行编号。播放策略有两种办法:
1.
直接自己实现
解码帧头
,把缓冲数据后推送到本地
http://127.0.0.1:8888
。可以参考
pc
的
mms
类
(
包含
asf.h)
,这种方法是可以用任何支持
WMV
的播放器播放。
2.
通过
wmsdk
对数据进行播放,
wmfsdk
里都是使用
IWMReader->open(url,...)
;这样的方法把文件读取到
Buffer
,然后通过OnSample生成非压缩sample,通过OnStreamSample生成压缩sample。