【Flash】分类文章列表

虚拟主机空间无法播放FLV文件的解决办法阅读全文»

虚拟主机空间无法播放FLV文件的解决办法
购买的虚拟主机大部分不能播放FLV视频文件,我在制作过程中也遇到了这样的问题,通过学习下面文章可以得到解决:
我的解决方法是:新建设一个.flv文件目录,再将flv文件命名为index.htm或者index.html等索引文件即可,这种方法就需要一个个修改文件 名了;最好是服务器能修改增加扩展文件名;
今天的问题真是一个接一个,刚找到FLV网页播放器的代码,又无法自动播放,现在可以自动播放了,上传到空间又无法运行,虽然最近事情比较多,所以有不解的问题的就要用正确的方法去解决,现在把收集到的资料与大家分郭一下。
FLV格式文件上传服务器后不能播放因为国内大多都是Win2003的主机.默认是没有指定输出FLV这种格式的虽然FTP里面可以看见,但无法通过http访问,也就无法播放了.
  [原因:WIN2003加强了IIS6的MIME验证,一切未注册扩展文件格式统统显示404错误。手动在IIS中HTTP头->MIME添加MIME影射关系,MIME类型: video/x-flv 扩展名:.flv,即可通过Flash7+客户端Load进来播放]
  [办法解决“虚拟主机都不支持Flv格式文件”的问题:比如你的Flv文件名称是a.flv,在虚拟主机上建一个名为“a.flv”的目录,在此目录下放你的Flv格式文件,将其改名为:index.htm,这样就行了,播放器中的文件名保持原样不动 ]
 
Flv文件不能播放的原因有种种,最近遇到了“Flv文件在本地能显示,上传到服务器上不能播放”,解决流程如下:
首先是检查网页中FLV相关文件上传是否缺失。
因为在网页中插入Flv视频文件时Dreamweaver会自动生成多个SWF文件以及SCRIPT文件夹下的JS文件。所以我们必须要确保这些文件的全部上传,以及相关路径的正确性。
其次在确认了所有文件的正确上传之后,FLV视频仍然不能播放。如有条件,将所有文件上传到另外服务器空间上,如果在该空间上能正常显示,那就可能说明当前不能播放的服务器是WIN2003服务器,鉴于2003系统没有定义.FLV的这种mime-type类型,ADOBE官方也给出了相应解决方案。
不过通过搜索获得方法中我测试了依然出现了问题。比如有个方案是这样的:

1.在2003服务器上,找开IIS管理器。
2.展开本地服务器名称,右击选择属性,在Internet信息服务标签上,点击最下方的计算机MIME映射下面的编辑按钮。
3.点击”新类型”按钮,扩展名添上”.FLV”,内容类型(MIME)添上“flv-application/octet-stream”
4.点击确定
5.重新启动www服务。

通过该方案在重新启动了IIS之后,新建的FLV MIME类型又没有了。所有又尝试使用如下方法:

打开IIS下的本地计算机,选择网站右键属性,打开HTTP头的MIME类型
新建扩展名“.FLV”,MIME类型值为“flv-application/octet-stream”。
应用即可实现了WIN2003下网页播放FLV的功能。

日期:2010年06月12日 | 分类:Flash

网页播放视频的制作方法,网页播放flv文件的制作方法阅读全文»

视频网站的视频播放制作的方法
网页播放视频的制作方法,网页播放flv文件的制作方法,网页播放视频文件 的制方法,网页播放flv文件的代码
FLV 是FLASH VIDEO 的简称,相比较SWF 文件体积庞,FLV 流媒体格式文件极小、加载速度极快,目前各在线视频网站均FLV视频格式,如新浪播客、56、优酷、土豆、酷6、Youtube 等,FLV 已经成为当前视频文件的主流格式,是目前增长最快、最为广泛的视频传播格式。
FLV 是在sorenson 公司的压缩算法的基础上开发出来的,FLV格式不仅可以轻松的导入Flash 中,速度极快,而且能起到保护版权的作用,并且可以不通过本地的微软或者REAL 播放器播放视频。
想要在网页中播放FLV 格式的文件,首先需要一个FLV 播放器,然后就是添加一段实现FLV 播放的代码。
FLV 播放器下载地址:http://www.aliyoga.com/yujia/wp-content/uploads/flvplayer.swf
FLV文件网页播放代码:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="500" height="400">
    <param name="movie" value="http://www.aliyoga.com/yujia/wp-content/uploads/flash/flvplayer.swf" />
    <param name="quality" value="high" />
    <param name="allowFullScreen" value="true" />
    <param name="FlashVars" value="vcastr_file=http://podcast.hjbbs.com/podcast/20080916/20080916123827687_969.flv&LogoText=www.aliyoga.com&BufferTime=3" />
    <embed src="http://www.aliyoga.com/yujia/wp-content/uploads/flvplayer.swf" allowfullscreen="true" flashvars="vcastr_file=http://podcast.hjbbs.com/podcast/20080916/20080916123827687_969.flv&LogoText=www.aliyoga.com" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="500" height="400"></embed>
</object>
代码说明:
1. http://podcast.hjbbs.com/podcast/20080916/20080916123827687_969.flv 是要播放的FLV 文件地址。
2. [...]

日期:2010年01月30日 | 分类:Flash

网页设计透明flash代码的使用方法 控制Flash透明显示的代码阅读全文»

网页设计透明flash代码的使用方法 控制Flash透明显示的代码
透明flash代码的wmode属性值
最多用到的代码是:
插入flash的代码中插入
<param name="wmode" value="transparent">
即可实现flash背景透明
插入Flash的代码,透明,无坐标控制:
注意wmode=”transparent”是控制Flash是否透明显示的,如果不想让它显示为透明的,直接把wmode=”transparent”去掉即可。
透明FLASH代码部分:
<EMBED height=360 pluginspage=http://www.macromedia.com/go/getflashplayer src=img/1.swf type=application/x-shockwave-flash width=500 wmode="transparent" quality="high"></EMBED>
(二)加入绝对坐标的透明Flash,绝对坐标意味着不管你的窗口拉多大,那个Flash依然乖乖地在原地不动
透明FLASH代码部分:
<EMBED style="LEFT: 250px; WIDTH: 550px; POSITION: absolute; TOP: 200px; 
HEIGHT: 1000px" align=right src=http://user.hjenglish.com/yangbb/pics/snow.swf width=500 height=2000 type=application/octet-stream ;; quality="high" wmode="transparent">
(三)如何加入相对坐标的透明Flash,注意下面代码的table部分,这主要是使用表格作为容器,把Flash“装”到表格里,这样不管浏览者把浏览器拉多大,Flash永远和表格一起动。而且,表格可以设置背景图片,表格上面再放一个透明Flash与背景图片相配合,哇塞,效果好得不得了。
透明FLASH代码部分:
<table border="0" cellPadding="0" cellSpacing="0" width=600 height=382 align=center
 background=/book/ewebeditor/UploadFile/20051212165525581.jpg>   
<TD width=600 height=382><EMBED pluginspage=http://www.macromedia.com/go/getflashplayer   
src=http://user.hjenglish.com/yangbb/pics/hearts.swf width="100%" height="100%"   
type=application/x-shockwave-flash wmode="transparent"   
quality="high"></EMBED></TD></td></table>

日期:2010年01月29日 | 分类:Flash

网页FLASH遮挡住其它层元素的解决方法阅读全文»

网页FLASH遮挡住其它层元素的解决方法
让flash在网页最底层播放的方法
主要是加入这一句

代码如下:
  <object width="1006" height="586" data="images/new.swf" type="application/x-shockwave-flash"><param name="src" value="images/new.swf" /> <param name="wmode" value="Opaque" /><param name="quality" value="high" /></object>
  在做web开发中可能会遇到flash遮挡页面中元素的情况,无论怎么设置flash容器和层的深度(z-index)也无济于事,现有的解决方案是在插入flash的embed或object标签中加入”wmode”属性并设置为wmode=“transparent”或”opaque”,但wmode属性到底是什么意义,为什么可以解决这个问题呢?
  window模式
  默认情况下的显示模式,在这种模式下flashplayer有自己的窗口句柄,这就意味着flash影片是存在于Windows中的一个显示实例,并且是在浏览器核心显示窗口之上的,所以flash只是貌似显示在浏览器中,但这也是flash最快最有效率的渲染模式。由于他是独立于浏览器的HTML渲染表面,这就导致默认显示方式下flash总是会遮住位置与他重合的所有DHTML层。
  但是大多数苹果电脑浏览器会允许DHTML层显示在flash之上,但当flash影片播放时会出现比较诡异的现象,比如DHTML层像被flash刮掉一块一样显示异常。
  Opaque模式
  这是一种无窗口模式,在这种情况下flashplayer没有自己的窗口句柄,这就需要浏览器需要告诉flashplayer在浏览器的渲染表面绘制的时间和位置。这时flash影片就不会在高于浏览器HTML渲染表面而是与其他元素一样在同一个页面上,因此你就可以使用z-index值来控制DHTML元素是遮盖flash或者被遮盖。
  Transparent模式
  透明模式,在这种模式下flashplayer会将stage的背景色alpha值将为0并且只会绘制stage上真实可见的对象,同样你也可以使用z-index来控制flash影片的深度值,但是与Opaque模式不同的是这样做会降低flash影片的回放效果,而且在9.0.115之前的flashplayer版本设置wmode=”opaque”或”transparent”会导致全屏模式失效。
  ”Opaquewindowless”和”Transparentwindowless”都可与HTML层交互,从而允许SWF文件上方的层遮蔽应用程序。这两种选项之间的差异在于”Transparent”允许透明,因此,如果SWF文件的某一部分是透明的,则SWF文件下方的HTML层可以透过该部分显示出来,而”opaque”则不会显示。

日期:2009年11月19日 | 分类:Flash

loadVariables和LoadVars和使用方法分析阅读全文»

loadVariables和LoadVars和使用方法
LoadVars使用起来更方便
并且当独立的使用onload事件时
LoadVars的写法更直接
使用更有效
不使用按钮直接得到文件的值的方法就可以使用LoadVars类
loadVariables这个指令并不陌生,在MX版本之前就已经存在了,而为何在MX版本开始要增加多一个LoadVars事件呢?
我想很多人都在使用loadVariables吧,简单而且不用像LoadVars那样麻烦还要写一大堆,这也是这两个时间不同的关键所在。
对于不懂的朋友,那么我们先来建立一个外部文件,然后再看看loadVariables和LoadVars的写法:
external.txt
myText=这是外部文件
那么先来看看loadVariables的写法:
loadVariables(“external.txt”,_level0);
btn.onRelease = function() {
trace(myText); //获得的输出结果是 “这是外部文件”
}
这样就可以很顺利的取得外部文件的变量myText的值了,但是如果我们不是要在按钮事件发生之后才取得变量呢?
我们也来试试看把之前的代码改成
loadVariables(“external.txt”,_level0);
trace(myText); //获得的输出结果是 “undefined”
为何会不一样呢? 原因很简单,因为要取得外部变量之前,我们必须先载入该文件完毕之后才能够取得当中的变量。简单来说就像你是用loadMovie载入图片,在此图片还没有载入完毕之前你是无法知道图片的宽度,高度,颜色等资料。为了证明出这样的结果,我们再把之前的代码修改一下
System.useCodepage = true;
loadVariables(“external.txt”, _level0);
onEnterFrame = function() {
for(var i in _level0) {
if( i == “myText”) {
delete this.onEnterFrame;
}
trace(i);
}
trace(“——————–”);
}
trace(“myText = “+myText+”\n”);
我们使用循环追踪变量myText的结果如下:
myText = undefined //这里是一开始我们所要取得myText变量的结果
onEnterFrame //这里是第一次循环,可以得到的只有三个变量,就是循环本身,Flash版本和按钮
$version
btn
——————–
myText //而在第二次循环的情况下我们可以看到了,场景中已经完全载入好外部文件并取得当中的变量了
onEnterFrame
$version
btn
——————–
所以从以上来看,要使用loadVariables取得外部就必须是在按钮事件或自己定义循环侦测,这样的伸缩性就不大。因此在我以前使
用Flash 5时做起事情来可是蛮费时间,幸好MX版本之后出现了LoadVars以解决这个恼人的问题。
那么LoadVars怎么使用呢?那么我们再建立一个Flash文件,输入以下代码然后和external.txt储存在同一路径后测试
System.useCodepage = true;
var myLoad = new LoadVars(); //定义LoadVars这个类
myLoad.load(“external.txt”); //指定LoadVars载入external.txt这个文件
myLoad.onLoad = function(success) { //LoadVars的载入事件
if(success) {
trace(this.myText);
}
}
看到输出结果了吗?是不是只多几行代码就可以达到你所要的结果。在LoadVars最主要的关键就是onLoad事件了,在这个事件中会回传一个布林值,即代表了通知代码文件是否已经载入成功。所以在onLoad事件当中我们最好使用if来判断回传值是成功还是失败,如果成功的话文件中的变量会以object的方式储存在LoadVars当中,所以我们可以使用myLoad.myText或this.myText来取得。
这也是很多人没去看帮助档就提问为何trace()在onLoad事件之外就无法取得变量,此onLoad方法既然可以判断文件可否被载入,当然也可以拿来测试文件是否存在。如果指定的文件不存在,onLoad事件也就马上会回传载入不成功的布林值。

日期:2009年11月19日 | 分类:Flash

flash实现停留一段时间再执行的方法 flash 延迟问题阅读全文»

flash实现停留一段时间再执行的方法 flash 延迟问题
setInterval()
可用性
Flash Player 6。
用法
setInterval(functionName, interval [, param1, param2, ..., paramN])
参数
functionName 一个函数名或者一个对匿名函数的引用。
interval 对 functionName 参数的两次调用之间的时间(以毫秒为单位)。
param1, param2, …, paramN 传递到 function 或 methodName 参数的可选参数。
那如果我没有函数直接放在as中间呢?应该怎么办?
[flash怎么样实现在让某帧停留1分钟方法有两种,一种就是利用倒计时的方法,下面是另一种]
s=new Date();
st=s.getSeconds();
onEnterFrame=function(){
n=new Date();
nt=n.getSeconds();
if(st>nt) nt+=60;
if(nt-st==60) gotoAndPlay(nextFrame());
}
stop();
写在你需要停的那一帧上面。
另一种!
function 函数(){
//执行你的东西
clearInterval(延迟)
}
延迟=setInterval(函数,延迟时间)
setInterval
帮助中有详细的讲解
方法一:
stop();
var loadTime=getTimer();
this.onEnterFrame=function()
{
//设置停顿时间,单位毫秒
if((getTimer()-loadTime)>=1000)
{
play();
delete this.onEnterFrame;
}
}
方法二:
stop();
//设置停顿时间,单位毫秒
var loadTime=setInterval(playMC,1000);
function playMC()
{
play();
clearInterval(loadTime);
}
1.延迟只是为了生成或初始化某些组件的话 ,用UIObject.doLater()
2.如果只是timeout执行某函数的话,且是flash8,那么使用 flash8未公开的setTimeOut(),简洁。
设置:复制内容到剪贴板代码:
function someFunc() {
trace(”exected.”);
}
var intervalID:Number = setTimeout(someFunc, 1000);清除复制内容到剪贴板代码:
clearTimeout(intervalID);
//清除setTimeout();

日期:2009年11月13日 | 分类:Flash

flash使影片剪辑隐藏和显示的代码 c阅读全文»

flash使影片剪辑隐藏和显示的代码 显示隐藏元件的代码
this._visible=false; //隐藏某个MC
MC2._visible=true;//显示某个MC
代码
先创建出这6个不同的影片剪辑,放在舞台上。位置就看你的喜欢了,然后为6个影片剪辑都加上名称“MC1”—“MC6”,为“MC2”—“MC6”加上脚本:
onClipEvent (load) {
this._visible=false;
}
让它隐藏。
再给“MC1”加上脚本:
on (release) {
MC2._visible=true;
}
让MC2出现。以此类推就能实现你要的效果了。

日期:2009年11月13日 | 分类:Flash

Flash利用SharedObject类实现本地存储Cookie信息阅读全文»

Flash利用SharedObject类实现本地存储Cookie信息
Flash主要是利用SharedObject类实现本地存储信息(类似Cookie,下文用Cookie代替),在AS调用如下图:
SharedObject 类用于在用户计算机上读取和存储有限的数据量。共享对象提供永久贮存在用户计算机上的对象之间的实时数据共享。
用法:
创建Cookie
代码:
//实例化一个SharedObject对象FlashCookie,名为:CookieNameQQX
//如果CookieNameQQX不存在则创建该Cookie,如果存在则读取
var FlashCookie:SharedObject = SharedObject.getLocal("CookieNameQQX");
//定义一个Cookie变量UserName并赋值为:000
FlashCookie.data.UserName = "000";
FlashCookie.data.Sex = "男";
FlashCookie.data.Life = 100;
//可以存储数组数据
var Score_array:Array = new Array(80,90,99,70,84);
FlashCookie.data.Score = Score_array;
//写入Cookie
FlashCookie.flush();
 
删除Cookie:
 
代码:
var FlashCookie:SharedObject = SharedObject.getLocal("CookieNameQQX");
FlashCookie .clear();
 
读取Cookie值
 
代码:
var FlashCookie:SharedObject = SharedObject.getLocal("CookieNameQQX");
trace(FlashCookie.data.UserName);
trace(FlashCookie.data.Score[0]);

日期:2009年11月13日 | 分类:Flash

Flash中传出改变cookie的信息 在Flash中调用cookit函数阅读全文»

Flash中传出改变cookie的信息 在Flash中调用cookit函数
  当你需要由Flash中传出改变cookie的信息时,你需要传递一对变量。这对变量的其中一个就是cookie的变量名,另一个当然就是这个cookie变量的值。假如你想写入一个名为”myname”、值为”Joho Smith”的cookie,那你就要调用像这样调用cookit函数: cookit(‘myname’,’John Smith’).
  你每一次向cookie中写入需要的值时都必须成对的形式。同样,由于各种浏览器和平台对cookies有着不同的操控方式,最好是将你的所有的cookie值一次传递完。不过当你用cookit函数从Flash电影中添加变量时值可以每次添加一对值。(嘻嘻!当然着只是个例子而已,高手自然可以编出更好的函数^_^)。这里我们又会问了,那又如何在Flash中调用cookit函数呢?
  你可能打算大量不同类型的信息放置在cookie中以备今后读取(假如你曾看过 ‘Bake Cookies for your Visitors with Flash’ 你就会这么做了!)在这个教程的例子(fla)里,我们通过Flash向cookie中写入两个变量。其中一个文本框是作为tztName(名称)的输入处,另一个文本框作为txtComment(注解)的输入处。注意看”按此写入cookies”按钮的Action.它是这么写的:
Get URL ("JavaScript:cookit(‘txComment’,'" & /:txComment & "’,'txName’,'" & /:txName & "’)")
  注意这个URL的前面是用”JavaScript”引导的:他告诉浏览器就要执行Javascript函数了。接着你就可以调用cookit函数了,传递变量。这个Get URL命令调用cookit函数,将你想在访问者下一次访问是提取的信息写入了他的计算机中。假如你好有些迷糊,你可以研究一下源码Flash中的字符变量。
  第三部分:”按此读取cookies”按钮
  在这个教程所附的源码中你还能看见一个叫”按此读取cookies”的按钮,这个按钮用Get URL 调用了另一个Javascript小程序。
  JavaScript:if(document.cookie.length< 1){alert(‘No cookie for this site.’)}else{alert(‘Your Cookie is:’+document.cookie)}
  这段JavaScript 打开了一个弹出式窗口列出你访问者所有的cookie信息,这是一个从Bookmarklets.com 的一个bookmarklet变化而来的。
  英文原著参见http://www.virtual-fx.net/tutorials/html/flookies.html 第一版翻译,经验不足,欢迎指正

日期:2009年11月13日 | 分类:Flash

从Flash中写Cookies Javascript操控由Flash传递出的变量阅读全文»

从Flash中写Cookies Javascript操控由Flash传递出的变量
  单独依靠Flash来写cookies是不可能的。在这里我们又一次用到了Javacript来设置你的cookies。一般在Flash中调用过程的方式都使用FS_command,但是它并不能很好的和所有浏览器保持协调。Flash专家在Bookmarklets这个设计中做了尝试, 利用Get URL命令来调用Javascript函数。写入cookie是比读取稍微复杂一些,不过紧跟下面的内容,你就可以做到。
  准备Javascript过程
  Javascript函数是一个迷你的程序,你可以在你需要的时候调用它们。我们将创建一个名叫”cookit”Javascript函数,用来操控由Flash传递出的变量。在以下这段代码代码中,我们将在 cookie中写入并驻留9个月。
< script language="JavaScript1.1" >
< !–
function cookit() {
  exDate = new Date
  exDate.setMonth(exDate.getMonth()+9)
  // This function writes a cookie sting from your Flash file.
  // to call this function, use the Get URL command and pass the
  // two variables to the JavaScript.
  for(i=0;i< cookit.arguments.length;i++) {
    ckThing = cookit.arguments[i] + ‘=’ + cookit.arguments[i+1]
    i++
    document.cookie = ckThing + ‘; expires=’ + [...]

日期:2009年11月13日 | 分类:Flash

Javascript脚本传递Cookie信息给flash阅读全文»

Javascript脚本传递Cookie信息给flash 将所有cookie变量传入Flash电影
  这第二段Javascript脚本代码是用来将Flash电影嵌入网页且将信息传入页面中的Flash文件的。除了刚才我们建立的cookString变量外,这第二段代码中我们还用到了其他三组变量:flName, flColor, flHeight 和 flWidth。flName变量是用来表示Flash文件再服务器上的位置。flColor变量是指定Flash电影的背景颜色的,而flHeight和flWidth是分别指定你嵌入Flash电影的高度和长度的。
< script language="JavaScript1.1" >
< !–
  // Name the variables
  flName = "flookies-fx.swf"
  flColor = "#99cc99"
  flHeight = "300"
  flWidth = "200"
  // This portion of the script is a modified version of Colin Moock’s
  // flash cookie importer, query string version script.
  // Slight modifications have been made to
  // work with the get cookies script.
document.write(‘< OBJECT ‘
  + ‘classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"’
  + [...]

日期:2009年11月13日 | 分类:Flash

Javascript从浏览器中获取Cookie的信息传入Flash文件阅读全文»

Javascript从浏览器中获取Cookie的信息传入Flash文件
  从浏览器中读取cookie你需要将以下的Javascript代码放置在页面中
< script language="JavaScript1.1" >
  < !–
      // Get Cookies script
    cookString = "?"
      // does the visitor have a cookie?
      if(document.cookie != "") {
      theCook = document.cookie.split("; ")
      // add each part of the cookie to a string variable
      for (i = 0; i < theCook.length; i ++) {
       cookString += theCook[i] + "&"
          }
      }
  // — >
< /script >
  这段脚本是察看访问者是否拥有cookie,然后创建一个字符串(cookString)保存所有的cookie信息。一旦信息保存完毕,你就可以用另一个脚本语言将其传入Flash文件了。

日期:2009年11月13日 | 分类:Flash