准备工具:$"QåúÖ www.flash-bbs.comÁí}D[¡[|1、Flash Media Server;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|2、Flash 8 && Flash 8 Player;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|3、一个摄像头,一个麦克;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|此教程及附带源文件仅做网友个人交流学习使用.请勿用于商业用途.需要商业版请单独联系.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|1、打开FLASH,新建一个FLASH文档.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|2、CTRL + L调出库..在库的右上角有个三角,点一下.然后选择"新建视频元件";
$"QåúÖ www.flash-bbs.comÁí}D[¡[|命名为:video
$"QåúÖ www.flash-bbs.comÁí}D[¡[|3、在主场景里新建2个图层,一个名字叫 video_record,另一个叫video_play;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|4、将库里的视频元件分别拖到这2个图层中.起名字叫video_r和video_p.video_r是用来录视频的.video_p是用来放视频的.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|5、下面起新建MC啊,或命名一类的我就不写了.只做程序介绍.如果连MC命名都不知道的话相信也看不懂这教程.大家见谅
$"QåúÖ www.flash-bbs.comÁí}D[¡[|程序部分:$"QåúÖ www.flash-bbs.comÁí}D[¡[|var server_uri:String = "rtmp://localhost/tensharp";
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//FMS地址;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|var videoName:String = "KeeRula";
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//视频名.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|var my_nc:NetConnection = new NetConnection ();
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//新建一个连接对象,用来连接FMS;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|my_nc.connect (server_uri);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//连接FMS;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|var my_ns:NetStream = new NetStream (my_nc);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//新建流,用来捕获和播放视频;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|var my_cam:Camera = Camera.get ();
$"QåúÖ www.flash-bbs.comÁí}D[¡[|video_r.attachVideo (my_cam);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//获得慑像头,并将摄像头获取的视频载入到video_r里.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|my_cam.setQuality (1024, 90);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//设置带宽和质量;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|var my_mic:Microphone = Microphone.get ();
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//获得MIC;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|my_ns.attachVideo (my_cam);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|my_ns.attachAudio (my_mic);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//将摄像头图象和MIC声音装载到流.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|video_p._visible = false;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//将播放窗口设置为不可见.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|my_nc.onStatus = function (thisObj

bject)
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//trace (thisObj.code);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|if (thisObj.code == "NetConnection.Connect.Success")
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|RecordStop ("空闲中");
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//执行录制停止方法.并将状态设置为空闲
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|else
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|trace ("错误:服务器未启动或URI输入错误.");
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//onStatus这里是指服务器的连接状态.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|function Record ()
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|video_r._visible = true;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//将录制窗口设为可见.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|video_p._visible = false;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//播放窗口设置为不可见.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|my_ns.publish (videoName, "record");
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//关键就在这句了.写了这么多全围绕它来的.record为录制.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|StreamInfo ("NowRecord");
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//执行StreamInfo方法,并将参数设置为NowRecord;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|btn_pr.btn_text.text = "停止";
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//按钮文字:停止.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|RecordInterval = setInterval (RecordTime, 1000);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//统计录制时间.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//方法:录制.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|var timeNum:Number = 0;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//录制时间.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|function RecordTime ()
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|timeNum ++;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|txt_status.text = "正在录制" + " " + "时间:" + Math.floor (timeNum / 60) + "分" + (timeNum % 60) + "秒";
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//方法:录制时间统计.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|function RecordStop (__status:String)
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//__status是当前状态文字.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|txt_status.text = "当前状态:" + __status;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|btn_pr.btn_text.text = "录制";
$"QåúÖ www.flash-bbs.comÁí}D[¡[|StreamInfo ("NowStop");
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//执行StreamInfo方法..并将参数设置为NowStop;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|clearInterval (RecordInterval);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|timeNum = 0;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//不录了..要把统计时间清空.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|if (__status == "录制完成")
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|Finished ();
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//这个应该不用偶说了..
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//方法:空闲或录制完成.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|function Finished ()
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|my_ns.close();
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//完成了..就要关闭录制.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|var thisObj = this;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|var FinishAlert:MovieClip = _root.attachMovie ("Alert", "FinishAlert", 100);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//这个是一个弹出框.具体看库里的MC:Alert.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|with (FinishAlert)
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|alertTitle.html = true;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|alertTitle.htmlText = "<b>" + "录制完成!" + "</b>";
$"QåúÖ www.flash-bbs.comÁí}D[¡[|info.text = "录制完成..请选择下一步操作."
$"QåúÖ www.flash-bbs.comÁí}D[¡[|_x = video_r._x + (video_r._width - _width) / 2;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|_y = video_r._y + (video_r._height - _height) / 2;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|btn_sub.btn_txt.text = "播放";
$"QåúÖ www.flash-bbs.comÁí}D[¡[|btn_cln.btn_txt.text = "重录";
$"QåúÖ www.flash-bbs.comÁí}D[¡[|btn_sub.onRelease = function ()
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|thisObj.PlayVideo ();
$"QåúÖ www.flash-bbs.comÁí}D[¡[|thisObj.closeAlert (FinishAlert);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|btn_cln.onRelease = function ()
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|thisObj.Record ();
$"QåúÖ www.flash-bbs.comÁí}D[¡[|thisObj.closeAlert (FinishAlert);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|closed.onRelease = function ()
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|thisObj.closeAlert (FinishAlert);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|btn_pr.enabled = false;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//把按钮设为不可点.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//方法:录制完成.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|function closeAlert (__alert:MovieClip)
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|btn_pr.enabled = true;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|unloadMovie (__alert);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//关闭那个Alert用的.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|function StreamInfo (__status:String)
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|btn_pr.onRelease = function ()
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|if (__status == "NowRecord")
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|RecordStop ("录制完成");
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|else if (__status == "NowStop")
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|Record ();
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|else if (__status == "NowPlay")
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|Record ();
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//嘿嘿..如果把上面的仔细看了的话这个就不用我说了吧.^_^
$"QåúÖ www.flash-bbs.comÁí}D[¡[|function PlayVideo ()
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|txt_status.text = "当前状态:" + "正在播放...";
$"QåúÖ www.flash-bbs.comÁí}D[¡[|StreamInfo ("NowPlay")
$"QåúÖ www.flash-bbs.comÁí}D[¡[|video_r._visible = false;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|video_p._visible = true;
$"QåúÖ www.flash-bbs.comÁí}D[¡[|video_p.attachVideo (my_ns);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//将视频载到播放窗口中.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|my_ns.play (videoName);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//开始播放.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|btn_pr.btn_text.text = "重录";
$"QåúÖ www.flash-bbs.comÁí}D[¡[|my_ns.onStatus = function (PlayInfo)
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|if (PlayInfo.code == "NetStream.Play.Stop")
$"QåúÖ www.flash-bbs.comÁí}D[¡[|{
$"QåúÖ www.flash-bbs.comÁí}D[¡[|my_ns.seek (0);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|my_ns.pause();
$"QåúÖ www.flash-bbs.comÁí}D[¡[|txt_status.text = "当前状态:" + "播放完成...";
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//流状态信息...详细的请自己 trace (PlayInfo.code);
$"QåúÖ www.flash-bbs.comÁí}D[¡[|}
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//方法:播放视频.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//需要注意的是用FMS播放的时候不用写路径.因为FMS录的视频直接存在FMS默认的流文件目录里了.
$"QåúÖ www.flash-bbs.comÁí}D[¡[|//录的视频的存放路径:FMS安装目录:/application/站点/streams/_definst_
$"QåúÖ www.flash-bbs.comÁí}D[¡[|