隐藏<ASP:MediaPlayer>控件播放文件地址

这段时间在做微软山西移动流媒体发布平台时遇到MediaPlayer控件播放地址隐藏的问题

在播放视频时,直接查看页面源文件可看到视频文件地址,MediaPlayer将在页面上加上如下初始化语句:

 

MediaPlayer初始化可查看到源文件地址

 

解决方案是先建立一个字符串加密解密服务

加密、解密工具类:

 

加密、解密工具类

 

 加密、解密WebService,调用工具内加密、解密方法:

 

加密、解密服务

 

在播放页面加载时,先调用WebService内加密方法对播放地址进行加密,然后注册JavaScript脚本调用视频文件播放方法:

 

播放页面加载

 

JavaScript调用WebService通过微软提供的WebService.htc实现,ASP.NET中使用WebService.htc需要在HTML代码中添加如下代码:

<div id="serviceDiv" style="behavior: url(WebService.htc)"></div>

注意:该div必需在forms之外

 

Javascript代码:

Javascript代码

 

有几点需说明:

1. 为什么在Page_Load事件里注册脚本不直接调用Javascript内播放方法,因为页面需完全加载后,WebService.htc才会被初始化,所以我用setTimeout方法延迟一段时间再调用播放方法。

2. 大家在使用WebService回调函数时记得判断返回结果是否成功。

 

通过以上方法,在页面上查看源文件便无法查看到播放文件地址了,MediaPlayer初始化语句更新为如下:

 

更改后MediaPlayer控件初始化

 

不过这只是争对一般用户,如果大家有更好的方法可以拿出来一起共享,希望我的文章对大家有帮助。

posted @ 2009-07-16 00:12  Terence  阅读(1994)  评论(9编辑  收藏  举报