做了个网上视频教学的网站,视频转换成了swf格式,有三个问题请教:
1、用户只有完整看完本节视频之后,才可以点击下一节,怎么控制?
2、怎么记录用户观看的进度,下次进入时,从上次的播放位置继续观看。
3、怎么能有播放进度条,但是又不让用户往后拖着看。
播放视频代码如下:<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="360" height="280">
<param name="movie" value="shipin1.swf">
<param name="quality" value="high">
<param name="wmode" value="opaque">
<PARAM NAME="menu" VALUE="false">
<param name="loop" value="false">
<param name="swfversion" value="11.0.0.0">
<!-- 此 param 标签提示使用 Flash Player 6.0 r65 和更高版本的用户下载最新版本的 Flash Player。如果您不想让用户看到该提示,请将其删除。 -->
<param name="expressinstall" value="../Scripts/expressInstall.swf">
<!-- 下一个对象标签用于非 IE 浏览器。所以使用 IECC 将其从 IE 隐藏。 -->
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="<%=strVideoSrc%>" width="360" height="280">
<!--<![endif]-->
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="swfversion" value="11.0.0.0">
<param name="expressinstall" value="../Scripts/expressInstall.swf">
<!-- 浏览器将以下替代内容显示给使用 Flash Player 6.0 和更低版本的用户。 -->
<div>
<h4>此页面上的内容需要较新版本的 Adobe Flash Player。</h4>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="获取 Adobe Flash Player" width="112" height="33" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
1、用户只有完整看完本节视频之后,才可以点击下一节,怎么控制?
2、怎么记录用户观看的进度,下次进入时,从上次的播放位置继续观看。
3、怎么能有播放进度条,但是又不让用户往后拖着看。
播放视频代码如下:<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="360" height="280">
<param name="movie" value="shipin1.swf">
<param name="quality" value="high">
<param name="wmode" value="opaque">
<PARAM NAME="menu" VALUE="false">
<param name="loop" value="false">
<param name="swfversion" value="11.0.0.0">
<!-- 此 param 标签提示使用 Flash Player 6.0 r65 和更高版本的用户下载最新版本的 Flash Player。如果您不想让用户看到该提示,请将其删除。 -->
<param name="expressinstall" value="../Scripts/expressInstall.swf">
<!-- 下一个对象标签用于非 IE 浏览器。所以使用 IECC 将其从 IE 隐藏。 -->
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="<%=strVideoSrc%>" width="360" height="280">
<!--<![endif]-->
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="swfversion" value="11.0.0.0">
<param name="expressinstall" value="../Scripts/expressInstall.swf">
<!-- 浏览器将以下替代内容显示给使用 Flash Player 6.0 和更低版本的用户。 -->
<div>
<h4>此页面上的内容需要较新版本的 Adobe Flash Player。</h4>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="获取 Adobe Flash Player" width="112" height="33" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
如果全在一个swf里,那你是完全可控制。从开始播放视频开始记录一下时间,当然考虑到网速断网情况,或者无法精确计算,特别是引用外部视频。如果是导入视频就直接在帧里写代码,那是完全精确的。
2、怎么记录用户观看的进度,下次进入时,从上次的播放位置继续观看。
首先得是下次从缓存中读取swf文件,我记得flash里可以保存一个值的,相关请查看sharedobject
3、怎么能有播放进度条,但是又不让用户往后拖着看。
这个简单,自己写进度条,你不写拖放动作自然就不能拖着看。
flash里面有个叫“flvplayeback”组件,用他去载入flv,他有很多skin,你可以去选择。
监听videodisply的播放完毕事件,一旦播放完毕,修改flvplayeback里面的source为第二节的flv路径,设置自动播放autoPlay=false。
用ShareObject来实现断点续放是最好的办法。ShareObject你就把他当成永远不过期的cookies就行了。
至于进度条那个,不让用户拖动,那么我就不显示,我显示播放的时间进度。
网上百度 flash ShareObject 很多的
看了1和3我想我不会喜欢这个网站。太浪费时间了。对于2,可能可以用Flash和Javascript进行交互,然后把用户播放信息写在cookies里