FMS3技术文档之六Word文档格式.docx
- 文档编号:15882092
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:40
- 大小:999.93KB
FMS3技术文档之六Word文档格式.docx
《FMS3技术文档之六Word文档格式.docx》由会员分享,可在线阅读,更多相关《FMS3技术文档之六Word文档格式.docx(40页珍藏版)》请在冰豆网上搜索。
在最上面的是”0”,每一个摄像头是参照其在清单中的相对位置。
因此,第五个摄像头是“4”就像一个基于0的数组。
以下一行显示了取得在名单中的第5个摄像头:
varcam2:
Camera=Camera.getCamera(”4″);
Camera类的实例:
cam2,现在是设置窗口的第5个摄像头。
(实际上,使用第5个设置)。
您可能还记得,如果没有使用参数,摄像头默认为最后选定的摄像头。
例如,如果您最近使用的摄像头位置是”5”,下面的会设置为6(如果6在名单中):
varcam1:
Camera=Camera.getCamera();
此举意味cam1将取得第六摄像头,而不是在FlashPlayer设置窗口的第一个-在位置”0”。
6.2.2.切换两个摄像头
看看如何切换摄像头,以下应用程序最少需要2个像头。
如果你只能有一个摄像头,借用一个或使用一个虚拟网路摄影机,您可以在网上找到。
(一个有趣的摄像头驱动程序对你的屏幕作为一个摄像头,提供您一个好屏幕捕获工具,它可用于Windows:
按以下步骤来建立应用程序:
1.建立一个CameraSwitch.fla文件
2.拖一个Button组件到库中
3.在文档类中输入CameraSwitch
4.建立一个CameraSwitch.as
5.在CameraSwitch.as中输入以下代码:
Example6-1.CameraSwitch.as
CodeView:
package
{
importflash.media.Camera;
importflash.media.Microphone;
importflash.media.Video;
importflash.display.Sprite;
import.NetConnection;
import.NetStream;
importflash.events.MouseEvent;
importfl.controls.Button;
publicclassCameraSwitchextendsSprite
{
privatevarcam1:
Camera;
privatevarcam2:
privatevarbtn1:
Button;
privatevarbtn2:
privatevarmic:
Microphone;
privatevarvid:
Video;
publicfunctionCameraSwitch()
vid=newVideo(320,240);
vid.x=100,vid.y=30;
addChild(vid);
mic=Microphone.getMicrophone();
cam1=Camera.getCamera();
cam1.setMode(320,240,15);
cam2=Camera.getCamera("
4"
);
cam2.setMode(320,240,15);
btn1=newButton();
btn1.width=70;
btn1.x=vid.x;
btn1.y=vid.y+vid.height+10;
btn1.label="
Camera1"
;
addChild(btn1);
btn1.addEventListener(MouseEvent.CLICK,camOne);
btn2=newButton();
btn2.width=70
btn2.x=btn1.x+100;
btn2.y=vid.y+vid.height+10;
btn2.label="
Camera2"
addChild(btn2);
btn2.addEventListener(MouseEvent.CLICK,camTwo);
}
privatefunctioncamOne(e:
MouseEvent)
vid.attachCamera(cam1);
privatefunctioncamTwo(e:
vid.attachCamera(cam2);
}
在测试程序之前,请检查您的FlashPlayer的设置窗口,并且确保列表中至少两个设备。
如果您只有两个设备,确定哪一个是默认的,然后输入字符串数字等。
(例如,如果您只有两个设备和第一个是默认的[“0”],然后设置cam2为”1”)。
在接下来的Studio应用程序。
如果您只有一个单一的摄像头,你大概不会想添加了第二个摄像头。
不过,如果您想要把您的studio成为一个更强大的应用程序,那么只需合并Example6-1的代码。
建立一个最简单的广播工作室是一个很简单的操作,要求只不过是一个模块与送出现场的音频和视频流。
为了使它更容易,特别是在最后,这种应用程序包括一个可重用的类,只不过是为设置流出和流入的流。
这个类工作起来,就像一个实用工具类,您可以重新使用,以简化创建流式音频/视频的工作。
6.3.1.公用流类
第一步是建立公用类让音频和视频流可以简单的工作。
它使用以下列几类:
Classes
NetConnection
NetStream
Camera
Microphone
Video
这个公用类是扩展NetStream类,这个类有两个公共的方法:
一个是流a/v出去(streamOut),一个是流进来(streamIn)。
记住,一个流需要一个麦克风实例、一个摄像头实例、一个流的名称。
streamOut方法的参数就是这三个元素。
反过来,要播放进来的视频,所有你所需要的是视频对象的名称和流的名称。
因为这首先是最低限度的应用,只有视频流出来,您可能感到奇怪,为什么理会streamIn方法呢?
这个类的目的是:
不是让一个应用程序更好的开发,而是多个。
在稍后的章节,您将了解如何创造一个“receiver”,像电视机一样工作,而且您将高兴地看到,streamIn方法包括在内。
最后,一个元素你可能不熟悉,是super语句。
此公用类是扩展NetStream类。
创造一个NetStream实例,你需要包含NetConnection参数。
Super语句调用父类的NetConnection,所以,当你建造一个StreamAV实例,您可以包含必要的NetConnection参数。
按照下列步骤创建此公用类。
1建立一个StreamAV.as.
2添加以下的代码
Example6-2.StreamAV.as
publicclassStreamAVextendsNetStream
publicfunctionStreamAV(nc:
NetConnection)
super(nc);
publicfunctionstreamOut(mic:
Microphone,cam:
Camera,stream:
String):
void
this.attachAudio(mic);
this.attachCamera(cam);
this.publish(stream,"
live"
publicfunctionstreamIn(vid:
Video,stream:
vid.attachNetStream(this);
this.play(stream);
6.3.2.基本的播出演播室
第一个Studio模块非常简单。
只是显示"
TVAnchor"
(你)和”ontheair”消息,让你知道你已经连接了。
第5章中展示了怎么流进来和流出去。
这个模块是简单的流出去-使用StreamAV类帮忙。
NetStatusEvent
Sprite
TextField
StreamAV
为什么NetStream类没有列在这个应用程序中?
因为你将用新的公用类StreamAV处理。
在Broadcast和TV两个应用程序中,使用StreamAV类。
以下介绍建立一个studio的最少步骤:
1.在MS3的applications目录中建立一个名为studio的目录
2.建立一个Broadcast.fla与StreamAv.as同一目录
3.可选,用一个照片来作为studio的背景,或者用flash画一个。
使用矩形工具在背景上面画一个矩形,宽200高150,位置为x=150,y=190。
这将作为监控屏幕。
在左上角的位置,添加了第二个矩形与尺寸为W=75,为H=21,为Y=21,为Y=68.5。
图6-1显示了总体思路,和图6-2显示什么,您会看到当您执行该脚本。
图6-1.Studiobackdrop
4.建立一个Broadcast.as与StreamAV.as和Broadcast.fla同一目录
5.在Broadcast.as文件中添加以下代码
Example6-3.BroadCast.as
importflash.events.NetStatusEvent;
import
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FMS3 技术 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)