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:用来播放和显示

参考:http://blog.csdn.net/leixiaohua1020/article/details/43936141

Loading Disqus comments...
Table of Contents