- 浏览: 303768 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (118)
- VS2008 (2)
- JAVA (34)
- AJAX (1)
- C# (1)
- Flex (16)
- FMS (6)
- SQLSERVER (1)
- ORACLE (1)
- Quartz (1)
- struts2 (1)
- java数据结构 (1)
- java设计模式 (3)
- JSF (0)
- web (2)
- jbpm4 (4)
- J2EE (1)
- webservice (2)
- javascript (8)
- spring (3)
- lucene (0)
- linux (9)
- ibatis (1)
- JPA (2)
- 外挂 (0)
- VB (0)
- Hibernate (1)
- OSGI (8)
- EXT (4)
- Maven (1)
- SpringSecurity (0)
- activiti (0)
- 项目开发 (0)
- 项目管理 (7)
- android (0)
- FFMPEG (1)
- C (2)
- eclipse (1)
最新评论
-
默默得守候在你的身边:
给力
java与Delphi写的dll交互 -
默默得守候在你的身边:
java与Delphi写的dll交互 -
fuguitong:
[url][url][url][url][url][url][ ...
doc转swf -
baidu_25402161:
到结束的时候一直 Can't delete processIn ...
一个请假单流程的实现(struts2.1.8+spring2.5+hibernate3集成jbpm4.3) -
lohaoo1:
nice!
java面包屑导航制作
flex视音频通讯-摄像头及麦克风检测
<mx:Script>
<![CDATA[
import mx.controls.VideoDisplay;
import flash.media.Camera;
import flash.media.Microphone;
import mx.controls.Alert;
import mx.events.CloseEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import mx.utils.StringUtil;
import mx.managers.PopUpManager;
import flash.net.NetConnection;
import mx.rpc.soap.mxml.WebService;
import mx.collections.ArrayCollection;
[Bindable]
private var camData:ArrayCollection = new ArrayCollection();
[Bindable]
private var micData:ArrayCollection = new ArrayCollection();
private var mycamera:Camera;
private var mymicrophone:Microphone;
private var isCamera:Boolean=false;
private var isMicrophone:Boolean=false;
private var isMicrophone2:Boolean=false;
private var iserrmsg:Boolean=false;
private var showtimer:Timer=new Timer(100);
NetConnection.defaultObjectEncoding = flash.net.ObjectEncoding.AMF0;
private function login_init():void
{
camData.removeAll();
for(var i:String in Camera.names)
{
var item:Object={data:i,Lable:Camera.getCamera(i).name.toString()};
camData.addItem(item);
}
micData.removeAll();
for(var j:String in Microphone.names)
{
var item2:Object={data:i,Lable:Microphone.getMicrophone(Number(j)).name.toString()};
micData.addItem(item2);
}
Cam_init();
Mic_init();
}
private function Cam_init():void
{
isCamera=false;
cam_lbl.text="" ;
var index:int=cam_CB.selectedIndex;
if(index>-1)
{
mycamera = Camera.getCamera(index.toString());
}
else
{
mycamera = Camera.getCamera();
}
if(mycamera != null)
{
mycamera.addEventListener(StatusEvent.STATUS,camonStatusHandler);
mycamera.addEventListener(ActivityEvent.ACTIVITY, camactivityHandler);
mycamera.setMode(240,180,12);//设置所捕获视频的宽度(160)高度(120)帧速(15)是否控制宽度、高度和帧频(true)
mycamera.setQuality(0,85);//设置输出视像输送的最大带宽(max:0,default:16384)以及画面质量(max:0,1-100)。
mycamera.setKeyFrameInterval(48);//设置视频传输的帧速和压缩算法(1-48)。
var camvd:VideoDisplay = new VideoDisplay();
camvd.width=240;
camvd.height=180;
vd_canvas.addChild(camvd);
camvd.attachCamera(mycamera);
cam_lbl.text="摄像头未接入或被占用";
}
else
{
isCamera=false;
cam_lbl.text="摄像头未安装";
}
}
//摄像头初始化返回结果
private function camactivityHandler(event:ActivityEvent):void
{
isCamera=true;
cam_lbl.text="摄像头工作正常";
mycamera.removeEventListener(ActivityEvent.ACTIVITY,camactivityHandler);
}
//检测摄像头允许使用权限
private function camonStatusHandler(event:StatusEvent):void
{
if(mycamera.muted)
{
isCamera=false;
cam_lbl.text="摄像头未允许使用";
}
else
{
mycamera.removeEventListener(StatusEvent.STATUS,camonStatusHandler);
}
}
private function Mic_init():void
{
isMicrophone=false;
isMicrophone2=false;
mic_lbl.text="";
var index:int=mic_CB.selectedIndex;
if(index>-1)
{
mymicrophone = Microphone.getMicrophone(index);
}
else
{
mymicrophone = Microphone.getMicrophone();
}
mymicrophone.setUseEchoSuppression(true);
mymicrophone.setLoopBack(true);
if(mymicrophone != null)
{
showtimer.addEventListener(TimerEvent.TIMER,micvolshow_show);
showtimer.start();
mymicrophone.addEventListener(ActivityEvent.ACTIVITY, micactivityHandler);
mymicrophone.addEventListener(StatusEvent.STATUS, micstatusHandler);
isMicrophone=true;
mic_lbl.text="麦克风未接入或被占用";
}
else
{
isMicrophone=false;
mic_lbl.text="麦克风未安装";
}
}
private function micactivityHandler(event:ActivityEvent):void
{
isMicrophone=true;
isMicrophone2=true;
mic_lbl.text="麦克风正常";
mymicrophone.removeEventListener(ActivityEvent.ACTIVITY,micactivityHandler);
}
private function micstatusHandler(event:StatusEvent):void
{
if(mymicrophone.muted)
{
isMicrophone=false;
mic_lbl.text="麦克风未允许使用";
}
else
{
isMicrophone=true;
mymicrophone.removeEventListener(StatusEvent.STATUS,micstatusHandler);
}
}
private function micvolshow_show(event:TimerEvent):void
{
audioshow_bar.width=int(mymicrophone.activityLevel);
}
]]>
</mx:Script>
<mx:Style source="ico/body.css"></mx:Style>
<mx:Label x="262" y="43" text="摄像头状态:" color="#000000"/>
<mx:Label x="262" y="148" text="麦克风状态:" color="#000000"/>
<mx:Label x="10" y="259" width="426" textAlign="center" id="conn_lbl" color="#FF0000"/>
<mx:Label x="262" y="62" width="178" id="cam_lbl" color="#FF0000" text="没有图像哦"/>
<mx:Label x="262" y="169" width="178" id="mic_lbl" color="#FF0000" text="没有声音哦"/>
<mx:Canvas x="10" y="9" width="240" height="180" backgroundImage="@Embed(source='ico/videobj.png')" id="vd_canvas">
</mx:Canvas>
<mx:ComboBox x="258" y="10" id="cam_CB" width="178" dataProvider="{camData}" labelField="Lable" change="Cam_init();"></mx:ComboBox>
<mx:ComboBox x="258" y="91" id="mic_CB" width="178" dataProvider="{micData}" labelField="Lable" change="Mic_init();"></mx:ComboBox>
<![CDATA[
import mx.controls.VideoDisplay;
import flash.media.Camera;
import flash.media.Microphone;
import mx.controls.Alert;
import mx.events.CloseEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import mx.utils.StringUtil;
import mx.managers.PopUpManager;
import flash.net.NetConnection;
import mx.rpc.soap.mxml.WebService;
import mx.collections.ArrayCollection;
[Bindable]
private var camData:ArrayCollection = new ArrayCollection();
[Bindable]
private var micData:ArrayCollection = new ArrayCollection();
private var mycamera:Camera;
private var mymicrophone:Microphone;
private var isCamera:Boolean=false;
private var isMicrophone:Boolean=false;
private var isMicrophone2:Boolean=false;
private var iserrmsg:Boolean=false;
private var showtimer:Timer=new Timer(100);
NetConnection.defaultObjectEncoding = flash.net.ObjectEncoding.AMF0;
private function login_init():void
{
camData.removeAll();
for(var i:String in Camera.names)
{
var item:Object={data:i,Lable:Camera.getCamera(i).name.toString()};
camData.addItem(item);
}
micData.removeAll();
for(var j:String in Microphone.names)
{
var item2:Object={data:i,Lable:Microphone.getMicrophone(Number(j)).name.toString()};
micData.addItem(item2);
}
Cam_init();
Mic_init();
}
private function Cam_init():void
{
isCamera=false;
cam_lbl.text="" ;
var index:int=cam_CB.selectedIndex;
if(index>-1)
{
mycamera = Camera.getCamera(index.toString());
}
else
{
mycamera = Camera.getCamera();
}
if(mycamera != null)
{
mycamera.addEventListener(StatusEvent.STATUS,camonStatusHandler);
mycamera.addEventListener(ActivityEvent.ACTIVITY, camactivityHandler);
mycamera.setMode(240,180,12);//设置所捕获视频的宽度(160)高度(120)帧速(15)是否控制宽度、高度和帧频(true)
mycamera.setQuality(0,85);//设置输出视像输送的最大带宽(max:0,default:16384)以及画面质量(max:0,1-100)。
mycamera.setKeyFrameInterval(48);//设置视频传输的帧速和压缩算法(1-48)。
var camvd:VideoDisplay = new VideoDisplay();
camvd.width=240;
camvd.height=180;
vd_canvas.addChild(camvd);
camvd.attachCamera(mycamera);
cam_lbl.text="摄像头未接入或被占用";
}
else
{
isCamera=false;
cam_lbl.text="摄像头未安装";
}
}
//摄像头初始化返回结果
private function camactivityHandler(event:ActivityEvent):void
{
isCamera=true;
cam_lbl.text="摄像头工作正常";
mycamera.removeEventListener(ActivityEvent.ACTIVITY,camactivityHandler);
}
//检测摄像头允许使用权限
private function camonStatusHandler(event:StatusEvent):void
{
if(mycamera.muted)
{
isCamera=false;
cam_lbl.text="摄像头未允许使用";
}
else
{
mycamera.removeEventListener(StatusEvent.STATUS,camonStatusHandler);
}
}
private function Mic_init():void
{
isMicrophone=false;
isMicrophone2=false;
mic_lbl.text="";
var index:int=mic_CB.selectedIndex;
if(index>-1)
{
mymicrophone = Microphone.getMicrophone(index);
}
else
{
mymicrophone = Microphone.getMicrophone();
}
mymicrophone.setUseEchoSuppression(true);
mymicrophone.setLoopBack(true);
if(mymicrophone != null)
{
showtimer.addEventListener(TimerEvent.TIMER,micvolshow_show);
showtimer.start();
mymicrophone.addEventListener(ActivityEvent.ACTIVITY, micactivityHandler);
mymicrophone.addEventListener(StatusEvent.STATUS, micstatusHandler);
isMicrophone=true;
mic_lbl.text="麦克风未接入或被占用";
}
else
{
isMicrophone=false;
mic_lbl.text="麦克风未安装";
}
}
private function micactivityHandler(event:ActivityEvent):void
{
isMicrophone=true;
isMicrophone2=true;
mic_lbl.text="麦克风正常";
mymicrophone.removeEventListener(ActivityEvent.ACTIVITY,micactivityHandler);
}
private function micstatusHandler(event:StatusEvent):void
{
if(mymicrophone.muted)
{
isMicrophone=false;
mic_lbl.text="麦克风未允许使用";
}
else
{
isMicrophone=true;
mymicrophone.removeEventListener(StatusEvent.STATUS,micstatusHandler);
}
}
private function micvolshow_show(event:TimerEvent):void
{
audioshow_bar.width=int(mymicrophone.activityLevel);
}
]]>
</mx:Script>
<mx:Style source="ico/body.css"></mx:Style>
<mx:Label x="262" y="43" text="摄像头状态:" color="#000000"/>
<mx:Label x="262" y="148" text="麦克风状态:" color="#000000"/>
<mx:Label x="10" y="259" width="426" textAlign="center" id="conn_lbl" color="#FF0000"/>
<mx:Label x="262" y="62" width="178" id="cam_lbl" color="#FF0000" text="没有图像哦"/>
<mx:Label x="262" y="169" width="178" id="mic_lbl" color="#FF0000" text="没有声音哦"/>
<mx:Canvas x="10" y="9" width="240" height="180" backgroundImage="@Embed(source='ico/videobj.png')" id="vd_canvas">
</mx:Canvas>
<mx:ComboBox x="258" y="10" id="cam_CB" width="178" dataProvider="{camData}" labelField="Lable" change="Cam_init();"></mx:ComboBox>
<mx:ComboBox x="258" y="91" id="mic_CB" width="178" dataProvider="{micData}" labelField="Lable" change="Mic_init();"></mx:ComboBox>
发表评论
-
flex折线的实现
2011-10-02 20:40 3318用到的有三个类,BrokenLine.as,BrokenLin ... -
flex标尺的实现
2011-08-28 21:49 2171效果图: 组件类: package org.for ... -
flex设计器功能拆分之二(撤销与恢复)
2011-03-16 22:01 2503撤销与恢复主要用到了 ... -
flex设计器功能拆分之一(调整组件大小位置)
2011-03-13 13:02 1956只要是设计器就逃不脱对组件的动态调整。比如大小,位置是最常见的 ... -
flex4与JavaScript交互
2010-11-06 09:10 2995利用flex来开发程序很快,有时难免会和js交互. flex ... -
flex表格设计器
2010-07-17 19:30 5082未完,开发中...... 记录每次修改过程。 第一次开发, ... -
flex折线的实现
2010-06-10 17:17 2349看效果: 可以无限折: 带源码,欢迎交流 请查看htt ... -
flex视频播放器
2010-05-13 07:46 0wwew -
flex_java文件上传(一)
2010-05-09 22:34 1758功能如下: 能够批量上传勾上的文件,能够批量删除指定的文件 ... -
flex4正式版注册号
2010-04-10 21:54 1531网上找的,可以用 C:\WINDOWS\system32\d ... -
Chart之PieChart简单应用
2010-04-04 12:13 7133效果图: 功能:能够修改指定国家的获奖信息,能够指定要显示 ... -
Chart之ColumnChart简单应用
2010-04-04 10:03 2435效果图: 代码: <?xml version=&q ... -
flex4视频教程
2010-03-29 09:48 0http://you.video.sina.com.cn/vl ... -
在线中文api
2010-03-25 18:17 1495flex4注册码:1424-4008-9664-3602-34 ... -
flex框架集合
2010-02-27 09:10 10421月17日 Flex开源框架汇总 Cairngorm ... -
BlazeDS的初步使用
2009-11-26 11:30 2400刚接触这东西的时候去网上了解了哈,BlazeDS用于flex和 ... -
datagrid 嵌套单选按钮互斥方法
2009-11-24 11:20 1772在一次使用datagrid的时候,嵌入了单选按钮组件: 突 ...
相关推荐
flex-2.5.4a flex-2.5.4a-29.i386 flex-2.5.4a-29.i386.rpm
Flex 全景图源码-----街景 Flex 全景图源码-----街景
跟我StepByStep学FLEX教程------王一松
1 2 跟我StepByStep学FLEX教程------Flex3及Flex Builder安装(原创) 1 3 跟我StepByStep学FLEX教程------Hello World(原创) 1 4 跟我StepByStep学FLEX教程------可视化页面组件(原创) 1 5 跟我StepByStep学...
这里讲述的是在Flex Application中嵌套一个SWF,然后实现Flex与SWF相互间的通讯。我们需要引入SystemManager接口实现。 环境:Eclipse + Flex Builder
跟我StepByStep学FLEX教程------王一松.pdf
flex 实例 ----示波器的制作 flex 实例 ----示波器的制作
06 FlexJava通讯-Flex调用AO接口.docx06 FlexJava通讯-Flex调用AO接口.docx
flex3读书笔记----flex整合hibernate
Flex 工程源码--EmployeeMgmt-Flex.7z
flex开发详解--企业级开发实例 flex开发详解--企业级开发实例 flex开发详解--企业级开发实例
bison 语法分析程序生成器 flex 记法分析程序生成器
flex 简单demo ---包含:增,删,改,查的实际应用
资源包含flex-2.5.4+bison-2.4.1+mingw,此外包含本人写的测试源码,编译命令及详细过程,另附一些有用的文章pdf,用于编译原理课程学习。详细使用参考文章:...
Flex完全自学--入门ppt课件Flex完全自学--入门ppt课件
spring-flex-1.5.0.M2-dist.zip spring-flex-1.5.0.M2 spring-flex-1.5.0.M2.jar SBI
Flex4.0-API-中文part02.rarFlex4.0-API-中文part02.rar
flex插件安装;flex与java--Blazeds学习(配置)详解。