flash RTMP 推流
flash曾经盛极一时,而如今却已日渐式微,就连微软和苹果都宣布不再支持flash。但是之前研究直播时用到基于rtmp协议的服务器red5其实就是一个flash直播框架。所以记录下,作为补充备忘,免得以后又做无用之功。
1.MovieClip
影片剪辑,不同于 Sprite 对象,MovieClip 对象拥有一个时间轴。相当于可以直接在代码中编写动画脚本。
如果修改包含补间动画的 MovieClip 对象的下列任一属性,该 MovieClip 对象中的播放头便会停止:alpha、blendMode、filters、height、opaqueBackground、rotation、scaleX、scaleY、scale9Grid、scrollRect、transform、visible、width、x 或 y。但是,它不会停止在该 MovieClip 对象的任何子 MovieClip 对象中的播放头。
2.FLA和action script关联
-
直接创建一个单独图层存放脚本,右键点击帧选择动作可以为每一帧添加脚本;
-
新建一个文件夹,命名A,在文件夹中新建A.fla文件和A.as文件,用adobe flash编辑A.fla,点击发布,A.as就会关联发布出去,可以在actionscript高级设置中查看关联。
如果脚本中有访问网络,需要将
发布设置->本地访问安全性
改为“只访问网络”
3.action script数据类型
String:文本值,例如,一个名称或书中某一章的文字
Numeric:对于 numeric 型数据,ActionScript 3.0 包含三种特定的数据类型:
-
Number:任何数值,包括有小数部分或没有小数部分的值
-
Int:一个整数(不带小数部分的整数)
-
Uint:一个“无符号”整数,即不能为负数的整数
Boolean:一个 true 或 false 值,例如开关是否开启或两个值是否相等
4.html向flash传递参数
<object id="forfun" classid="clsid:" width="400" height="300"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">
<param name="movie" value="simplest_as3_rtmp_streamer.swf?url=rtmp://192.168.20.189:1935/oflaDemo&stream=str5">
<param name="quality" value="high">
<param name="bgcolor" value="#F0F0F0">
<param name="menu" value="false">
<param name="wmode" value="opaque">
<param name="FlashVars" value="url=rtmp://192.168.20.189:1935/oflaDemo&stream=str5">
<param name="allowScriptAccess" value="sameDomain">
<embed id="forfunex" src="simplest_as3_rtmp_streamer.swf?url=rtmp://192.168.20.189:1935/oflaDemo&stream=str5"
width="400"
height="300"
align="middle"
quality="high"
bgcolor="#f0fff8"
menu="false"
play="true"
loop="false"
FlashVars="url=rtmp://192.168.20.189:1935/oflaDemo&stream=str5"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer"/>
</object>
falsh中获取参数:
var url:String = stage.loaderInfo.parameters["url"];
var stream:String = stage.loaderInfo.parameters["stream"];
flash场景的大小可以通过在打开fla,场景中Ctrl+J快捷键修改
5.action script RTMP相关类
NetConnection:连接服务器
NetStream:用来发布和接收流
Video:用来播放和显示