解决手机Windows Mobile系统无法获取DRM License问题

近段时间在做手机WAP视频项目时,用户下载DRM加密视频时需要进行License预发放,发现DRM License无法获取成功。

页面获取License代码如下:

License获取object:

<object name="netobj" classid="clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062" id="netobj" width="0"></object>
 
Javascript代码:
 
 1 <script type='text/javascript'>
 2     try
 3     {
 4         netobj.GetLicenseFromURL ('''" + url + "');
 5         alert('获取License成功!');");
 6     } 
 7     catch (e) 
 8     {
 9         alert('无法获取许可证:: ' + e.name + '. Error message: ' + e.message); 
10     }
11 </script>
 
以上代码在PC机上可以获取License,但是一到手机上运行便怎么也无法获取,后来将代码改造了一下:
HTML代码:
 
<%= printObject() %>
 
在ASPX页面上只加上了这一句,在后台CS文件中添加了该方法:
 
 1 public string printObject()
 2 {
 3     //获取License页面地址
 4     string url = "http://192.168.1.5:8009/IssueLicense.aspx" + para;
 5 
 6     Response.Write("<OBJECT name='netobj' classid='clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062' height='0' id='netobj' width='0' /></OBJECT>");
 7     Response.Write("<script type='text/javascript'>");
 8     Response.Write("try{");
 9     Response.Write("netobj.GetLicenseFromURL ('', '" + url + "');");
10     Response.Write("alert('获取License成功!');");
11     Response.Write("} catch (e) {alert('无法获取许可证:: ' + e.name + '. Error message: ' + e.message); }");
12     Response.Write("</script>");
13     return "";
14 }
 
采用以上写法,在PC上以及手机上都可以成功获取License。
但是原因未明,唯一的解释便是在手机上需要用Response.Write的方法将object代码写到页面,该object才生效。
大家以后如果做手机视频网站时需要预发放License可采用此方法便可获取成功。
posted @ 2009-07-16 07:45  Terence  阅读(1685)  评论(3编辑  收藏  举报