分享
 
 
 

Flash教程:教你用FMS在线录制视频

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

准备工具: Flash Media Server.. Flash 8 && Flash 8 Player 一个摄像头,一个麦克. 打开FLASH,新建一个FLASH文档. CTRL + L调出库..在库的右上角有个三角,点一下.然后选择"新建视频元件"; 命名为:video 在主场景里新建2个图层,一个名字叫 video_record,另一个叫video_play; 将库里的视频元件分别拖到这2个图层中.起名字叫video_r和video_p.video_r是用来录视频的.video_p是用来放视频的. (下面起新建MC啊,或命名一类的我就不写了.只做程序介绍.如果连MC命名都不知道的话相信也看不懂这教程.大家见谅 :) 程序部分: var server_uri:String = "rtmp://localhost/tensharp"; //FMS地址; var videoName:String = "KeeRula"; //视频名. var my_nc:NetConnection = new NetConnection (); //新建一个连接对象,用来连接FMS; my_nc.connect (server_uri); //连接FMS; var my_ns:NetStream = new NetStream (my_nc); //新建流,用来捕获和播放视频; var my_cam:Camera = Camera.get (); video_r.attachVideo (my_cam); //获得慑像头,并将摄像头获取的视频载入到video_r里. my_cam.setQuality (1024, 90); //设置带宽和质量; var my_mic:Microphone = Microphone.get (); //获得MIC; my_ns.attachVideo (my_cam); my_ns.attachAudio (my_mic); //将摄像头图象和MIC声音装载到流. video_p._visible = false; //将播放窗口设置为不可见.

my_nc.onStatus = function (thisObj:Object) { //trace (thisObj.code); if (thisObj.code == "NetConnection.Connect.Success") { RecordStop ("空闲中"); //执行录制停止方法.并将状态设置为空闲 } else { trace ("错误:服务器未启动或URI输入错误."); } } //onStatus这里是指服务器的连接状态. function Record () { video_r._visible = true; //将录制窗口设为可见. video_p._visible = false; //播放窗口设置为不可见. my_ns.publish (videoName, "record"); //关键就在这句了.写了这么多全围绕它来的.record为录制. StreamInfo ("NowRecord"); //执行StreamInfo方法,并将参数设置为NowRecord; btn_pr.btn_text.text = "停止"; //按钮文字:停止. RecordInterval = setInterval (RecordTime, 1000); //统计录制时间. } //方法:录制. var timeNum:Number = 0; //录制时间. function RecordTime () { timeNum ++; txt_status.text = "正在录制" + " " + "时间:" + Math.floor (timeNum / 60) + "分" + (timeNum % 60) + "秒"; } //方法:录制时间统计.

function RecordStop (__status:String) { //__status是当前状态文字. txt_status.text = "当前状态:" + __status; btn_pr.btn_text.text = "录制"; StreamInfo ("NowStop"); //执行StreamInfo方法..并将参数设置为NowStop; clearInterval (RecordInterval); timeNum = 0; //不录了..要把统计时间清空. if (__status == "录制完成") { Finished (); } //这个应该不用偶说了.. } //方法:空闲或录制完成. function Finished () { my_ns.close(); //完成了..就要关闭录制. var thisObj = this; var FinishAlert:MovieClip = _root.attachMovie ("Alert", "FinishAlert", 100); //这个是一个弹出框.具体看库里的MC:Alert. with (FinishAlert) { alertTitle.html = true; alertTitle.htmlText = "" + "录制完成!" + ""; info.text = "录制完成..请选择下一步操作." _x = video_r._x + (video_r._width - _width) / 2; _y = video_r._y + (video_r._height - _height) / 2; btn_sub.btn_txt.text = "播放"; btn_cln.btn_txt.text = "重录"; btn_sub.onRelease = function () { thisObj.PlayVideo (); thisObj.closeAlert (FinishAlert); } btn_cln.onRelease = function () { thisObj.Record (); thisObj.closeAlert (FinishAlert); } closed.onRelease = function () { thisObj.closeAlert (FinishAlert); } } btn_pr.enabled = false; //把按钮设为不可点. } //方法:录制完成. function closeAlert (__alert:MovieClip) { btn_pr.enabled = true; unloadMovie (__alert); } //关闭那个Alert用的.

function StreamInfo (__status:String)

{

btn_pr.onRelease = function ()

{

if (__status == "NowRecord")

{

RecordStop ("录制完成");

}

else if (__status == "NowStop")

{

Record ();

}

else if (__status == "NowPlay")

{

Record ();

}

}

}

//嘿嘿..如果把上面的仔细看了的话这个就不用我说了吧.^_^

function PlayVideo ()

{

txt_status.text = "当前状态:" + "正在播放...";

StreamInfo ("NowPlay")

video_r._visible = false;

video_p._visible = true;

video_p.attachVideo (my_ns);

//将视频载到播放窗口中.

my_ns.play (videoName);

//开始播放.

btn_pr.btn_text.text = "重录";

my_ns.onStatus = function (PlayInfo)

{

if (PlayInfo.code == "NetStream.Play.Stop")

{

my_ns.seek (0);

my_ns.pause();

txt_status.text = "当前状态:" + "播放完成...";

}

}

//流状态信息...详细的请自己 trace (PlayInfo.code);

}

//方法:播放视频.

//需要注意的是用FMS播放的时候不用写路径.因为FMS录的视频直接存在FMS默认的流文件目录里了.

//录的视频的存放路径:FMS安装目录:/application/站点/streams/_definst_

如果上面看个差不多了可以自己动手做一下了.祝大家好运

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有