转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> 网站运营 >> 正文
解决SW6.6中调用外部FLV视频的问题         ★★★

解决SW6.6中调用外部FLV视频的问题

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1120 更新时间:2009/3/1 0:34:39

相信有很多朋友和我们一样,用动易SW做了视频频道,早先的时候不管是自己上传还是外站引用,如今由于播客的兴起和flv的盛行,在原来用SW做的视频频道中引用外部flv已经有了很现实的意义。比如我们网站是采用了oblog开发的Oblog Video系统。

 

以前一直采用动易系统来做视频新闻,现在当然更愿意选择具有自动编译flv格式和隐藏原始地址功能的vlog了(早先用mms和直接上传的方式,造成我们一个视频文件被人在猫扑上用做签名,几乎吃光我们整个机柜的带宽……)。

 

但是原来的视频频道也必须继续运作下去。于是理所当然的想到了在SW中直接引用vlog的flv视频。一个vlog的标准flash引用地址如下:

 

http://vlog.taihainet.com/FLVPlayerMain.swf?unicode=1&playindex=0&c=0$$$761d50d7cfea242f&s=http%3A%2F%2Fvlog%2Etaihainet%2Ecom%2F

 

我们直接把这个swf格式的外部地址插入到动易的“软件”频道。保存没问题,但是发现不能观看。回到后台编辑,发现引用的一个外部地址被拆成了两行——很不幸的问题——vlog的分隔符“$$$”正好和动易的多地址分隔符“$$$”冲突了。

 

于是直接添加外部URL不可能了。于是我们又换了个思路:在软件简介中添加flash,制作一个新的内容页模板,不使用DownloadUrl。这个方案应该是没有问题的,不过我没有去做就否决了。因为第一、动易后台添加软件时地址不能为空,第二、既然用软件频道来做视频,却要以文章频道的方式添加视频源,这个方案很烂。

 

我采用的方式是:添加了一个自定义字段,命名为FlvUrl。添加视频时,如果是传统视频,照老样子操作,如果是flv格式视频,在视频地址处填写“vlog”即可。然后把上面的那段URL填写到自定义选项的“FlvUrl”里面。

 

可以考虑在ShowDownload.asp里直接读取和使用这个字段,但是这样会破坏系统的通用性。我的做法是在内容页模板里改,原来我们在内容页里用一个Iframe引用ShowDownload.asp来实现嵌入式播放,代码为:

以下内容为程序代码:
<IFRAME name="Video" frameBorder=0 scrolling=no src="{$InstallDir}{$ChannelDir}/ShowSoftDown.asp?SoftID={$SoftID}&UrlID=0" width="456" height="410"></IFRAME>

在ShowSoftDown.asp里原来就有根据后缀判断调用下载地址和实时播放的代码。我们增加了一个判断,如果DownloadUrl里含有“vlog”字样,则采用嵌入flash的方式来调用真实地址。实现在线播放。但是我们需要自定义字段的值。在动易系统里,我们添加的“FlvUrl”字段有一个模板标签——{$MY_FlvUrl}。

所以我在内容页模板里修改如下:

以下内容为程序代码:

<IFRAME name="Video" frameBorder=0 scrolling=no src="{$InstallDir}{$ChannelDir}/ShowSoftDown.asp?SoftID={$SoftID}&UrlID=0&flashUrl={$MY_FlvUrl}" width="456" height="410"></IFRAME>

然后在ShowDownload.asp中用Request.QueryString("flashUrl")来获取。

 

搞开发的朋友肯定已经意识到了将要出现的问题,我们的参数值里含有“&”符号,于是最前面我给出的那个flash地址在传递和获取之后,只剩下了第一个&符号前面的部分。

 

没办法,这个问题只能继续下去,打开include/PowerEasy.Soft.asp文件,找到GetHtml_Soft()这个函数,这是用来根据内容页模板生成内容页的代码。我的目的是在输出FlvUrl这个自定义字段值的时候,把&处理一下。

 

原来的代码:

以下内容为程序代码:

        Do While Not rsField.EOF
            strHtml = PE_Replace(strHtml, rsField("LabelName"), PE_HTMLEncode(vtempStr))
            rsField.MoveNext
        Loop

 

修改后的代码:

以下内容为程序代码:

        Do While Not rsField.EOF
                Dim vtempStr
                vtempStr = rsSoft(Trim(rsField("FieldName")))
                If Instr(vtempStr, "FlvUrl") > 0 Then vtempStr = Replace(vtempStr, "&", "$thand$")
            strHtml = PE_Replace(strHtml, rsField("LabelName"), PE_HTMLEncode(vtempStr))
            rsField.MoveNext
        Loop

 

这样我们的Request.QueryString("flashUrl")就可以得到完整的flash地址了,我们在使用它之前再把“$thand$”替换成“&”,放到flash嵌入代码的"Movie"参数值里。

 

测试结果:效果很好,内嵌的flash播放器就是vlog提供的具有全屏、随意拖动、随意变换电影风格、可控制进度、可暂停、可调音量的flash播放器。视频源地址依然是隐藏(对大多数访问者而言)。

 

半年没写ASP,我实现的方式可能对于天天在写ASP代码研究SW的朋友来说可能繁琐了一点。不过还是希望能给需要的朋友带来一点参考价值。

 

附:还有另外一个问题——视频缩略图如果添加外部地址,还是会在前面被加上主站缩略图上传路径的URL。添加外部URL地址如果不是以http开头的,也一样会被加上。而缩略图地址即使以http开头,仍然会被加上。建议这里加一个判断,如果以“http://”打头的,就不要再引用完整的上传路径了。

 

附2:如果你是自己管理,那么有更简单的方式,添加视频地址的时候把“$$$”改成“$$”,在ShowDownload.asp里再把它替换回去就行了。我是为了让编辑的添加工作简化,所以才把复杂的事情交给程序员来做。


[Web开发]解决phpmyadmin上传文件大小限制的配置方法  [Web开发]解决ecshop安装过程中“特定目录修改权限检查”出…
[Web开发]IIS安全配置详细讲解与指导  [Web开发]解决"操作必须使用一个可更新的查询"-ASP应用
[Web开发]解决在VS2005、VWD中创建用户时提示““密码最短长…  [Web开发]loop调用discuz大全
[MySql]解决mysql 1040错误Too many connections的方法  [办公软件]PowerPoint演示文稿无法打开的解决方案
[办公软件]解决PowerPoint 2007无法输入中文  [办公软件]解决PowerPoint课件中的菜单问题
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台