Silverlight对视频流HTTP请求头的要求很BT,折腾了一天才发现这个问题。
Silverlight播放视频时,视频源可以是其他域的,即是可以跨域的。读取其他数据是不可以跨域的,比如XML数据等。
Silverlight是集成了Windows Media Player的解码器的,在没有安装Windows Media Player的情况下,只要安装了Silverlight就可以在Silverlight中播放WMV、ASF、MP3等格式的视频和音频文件。Silverlight 1.1 Alpha版安装包总共不到5M,是WPF的精简版,因此解码器精简的程度也可见一斑。
自己弄了个HTTP服务,HTTP响应头并不规范,但这些视频流能在Windows Media Player或者WPF下播放,却不能在Silverlight下播放。但是如果是放在IIS下则能正常播放,于是开始观察HTTP请求,看看二者有什么不一样。然后按照IIS下的HTTP请求头重写了HTTP服务,使其HTTP响应头与IIS下的一样,结果发现果然能够正常播放了!再经仔细测试,发现HTTP响应头中只要含有协议、状态和Content-Length就可以了。
由于Silverlight有DownloadProgressChanged和BufferingProgressChanged等事件,不知是不是因为没有Content-Length导致Silverlight无法判断当前视频流的下载状况而不能正常播放。
您可能对这些文章也感兴趣:- 奇怪的Silverlight更新
- Silverlight 2 Beta 2: Available very soon
- 在Silverlight 2中使用嵌入字体
- Silverlight 1.1 Alpha & VS 2008 Beta 2 将于11月1日过期
- Silverlight版Windows Vista
- 返回指定Canvas中的所有TextBlock
- 让Silverlight的大小随浏览器大小变化
- Silverlight 1.1 Tools for Visual Studio 2008
- 这就是PPStream的概念版网络电视?
- Silverlight VS Flash,谁更强?
与该文相关的评论:(我也想说几句)
Copyright © 2005-2008,Fdream All Rights Reserved
Processed in 0.0937584 second(s) , unknow queries
Powered by OWord V0.1, Even Not Alpha
(此博客程序为半成品,请勿索取,以免给您的心灵造成创伤^_^)
鄂ICP备05026031号
Processed in 0.0937584 second(s) , unknow queries
Powered by OWord V0.1, Even Not Alpha
(此博客程序为半成品,请勿索取,以免给您的心灵造成创伤^_^)
鄂ICP备05026031号
2007-8
我来说两句:
用户中心
日志分类

最新日志
统计信息





