以下是运用FMS录制视频的一段代码:

package
{
import flash.display.Sprite;
import flash.events.AsyncErrorEvent;
import flash.events.NetStatusEvent;
import flash.events.StatusEvent;
import flash.media.Camera;
import flash.media.Microphone;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.net.ObjectEncoding;
import flash.utils.flash_proxy; /**
* @author: Frost.Yen
* @E-mail: 871979853@qq.com
* @create: 2017-1-1 下午4:27:50
*
*/
[SWF(width="800",height="500")]
public class RecorderTest extends Sprite
{
private var _netConnection:NetConnection = new NetConnection();
private var _netStream:NetStream = null;
private var _fms:String = "rtmp://localhost/yen";//{FMS-Install-Dir}/applications目录下的一个文件夹yen
private var _camera:Camera = null;
private var _microphone:Microphone = null;
private var _video:Video;
public function RecorderTest()
{
init();
}
private function init():void
{
_netConnection.client = { onBWDone: function():void{} };
_netConnection.objectEncoding = ObjectEncoding.AMF3;
_netConnection.connect(_fms);
_netConnection.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
}
private function onNetStatus(e:NetStatusEvent):void
{
trace(e.info.code);
switch(e.info.code)
{
case "NetConnection.Connect.Success"://连接尝试成功
publishStream();//发布流到服务器
break;
case "NetConnection.Connect.Closed"://成功关闭连接 break;
case "NetConnection.Connect.Rejected" :
trace("没有权限");
break;
default:
trace("连接服务器失败");
break;
}
}
private function publishStream():void
{
_netStream = new NetStream(_netConnection);//创建于FMS连接相关的音视频数据流对象
_netStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
_camera = Camera.getCamera("0");//获得默认摄像头
_camera.setMode(640,480,15);//经试验:320*240效果较佳而占用网络流量较小,15为keyFrame
_camera.setQuality(0,100);//100*1000为上传带宽,90为图像质量;
_microphone = Microphone.getMicrophone();//获得麦克风对象
_microphone.setUseEchoSuppression(true);//抑制回音;
_netStream.attachAudio(_microphone);//将音频加入到流中;
_netStream.attachCamera(_camera);//将视频加入到流中;
_netStream.publish("my_video","record");//将音视频数据发布到FMS服务器上,流名称为:my_video,发布类型为:live(实时);
_video = new Video(640,480);
_video.attachCamera(_camera);
_video.smoothing = true;
this.addChild(_video);
}
private function asyncErrorHandler(e:AsyncErrorEvent):void
{
trace(e.toString());
}
}
}

假如状态代码返回"NetConnection.Connect.Rejected",我们需要检查是否自己创建的服务器目录有问题,即yen文件夹,FMS安装后applications目录下一般会有四个子目录,我们将live目录下的main.far、Application.xml、allowedHTMLDomains.txt和allowedSWFDomains.txt这四个文件复制到所创建的FMS服务器目录(yen)下即可,至于为何,可以阅读live下的readme.txt。

[AS3.0] NetConnection.Connect.Rejected 解决办法的更多相关文章

  1. 未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序。解决办法

    在64位服务器系统上,默认不支持Microsoft.Jet.OLEDB.4.0的驱动程序,系统默认会提示未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"的错误 ...

  2. Win7系统安装好Axure点击运行报.NET Framework4.0未安装的解决办法

      1:问题 由于工作需要,需要研究一下Axure原型设计软件的使用方式,在公司的电脑上成功安装了从同事那里拿来的Axure7.0软件,能够正确运行没有任何问题,在自己的电脑上安装的也非常顺利,不过运 ...

  3. Address already in use : connect 的解决办法

    最近做百万次通讯测试,在做并发测试时发现eclipse的控制台输出超过10万条信息时开始有报错内容 Address already in use : connect 这种错误多了后紧接着eclipse ...

  4. adobe premiere pro cc2015.0已停止工作 解决办法

    adobe premiere pro cc2015.0已停止工作 一直报错 解决办法就是: 删除我的电脑  我的饿文档下的 Adobe下的Premiere Pro文件夹 现象就是怎么重新安装都不管用P ...

  5. visual studio 2010 C#编程时 没有.NET framework 2.0目标框架的解决办法

    解决办法是安装Framework .NET 3.5 Sp1 因为visual studio 2010是依赖.NET Framework 3.5 Sp1来识别其它版本的.NEt framework的. ...

  6. SercureCRT无法正常连接Ubuntu14.0.4.1的解决办法

    问题描述 通过VirtualBox重新安装了ubuntu 14.0.4.1 虚拟服务器,在SercureCRT中使用root帐号连接ubuntu14.0.4.1的时候,提示“Password Auth ...

  7. 从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法

    注意,64位系统,用64位的补丁文件; https://www.cnblogs.com/A2008A/articles/2438962.html 操作系统:使用的是64位的Windows Server ...

  8. IIS 发布ASP.NET MVC 4.0 错误500.21解决办法

    由VS2013 写好的MVC 4.0 发布在服务器IIS 上报错500.21,解决办法:尝试多种网上介绍的办法,最后发现还是模块问题.

  9. Entity Framework 6.0 常见异常及解决办法

    Ø  简介 本文主要记录 EF(Entity Framework) 在平时的开发中可能遇到的异常,以及应该如何去解决. 1.   System.InvalidOperationException 1) ...

随机推荐

  1. echarts图表标签(axisLabel)折行

    在项目中遇到了一个echarts图表标签过长需折行的需求,so引出这篇总结,啦啦啦有帮助就多多支持啦,撒花撒花撒花~~~~ 在此不对echarts其他用法做解释,详细见echarts文档(点击前往) ...

  2. Android.os.NetworkOnMainThreadException

    出现Android.os.NetworkOnMainThreadException错误提示的原因原因:不允许在主线程中进行网络访问解决办法:将网络访问的操作单独放到一个线程中

  3. 架设lamp服务器后,发现未按照 Apache xsendfile模块,

    今天在架设lamp服务器后,发现apache 未按照xsendfile模块,于是查找资料按照如下: 安装apache xsendfile模块yum install mod_xsendfile

  4. 移动端bug~~移动端:active伪类无效的解决方法【移动端 :active样式无效】

    移动端:active伪类无效的解决方法[移动端 :active样式无效]2016-09-26  15:46:50 问题: 移动端开发的时候实现按钮的点击样式变化,但是在iphone[safiri Mo ...

  5. eclipse的tomcat内在溢出

    在最前或最后加上: -Xms256m -Xmx512m -Xss2024K -XX:PermSize=128m -XX:MaxPermSize=256m

  6. textarea光标处插入文字

    (function($) { $.fn.extend({ //myField 对象元素 myValue 插入值 insertAtCursor: function(myField,myValue) { ...

  7. Qt中数据模块学习

    QtSql模块 驱动类型和数据库:不同的数据库用不同的驱动连接(接口不同) QDB2->DB2 QOCI->orcle QODBC->SQLServer等 QSqlDataBase类 ...

  8. 视图(View) – ASP.NET MVC 4 系列

           精心编写的整洁代码是开发一个可维护 Web 应用程序的基础.但用户在浏览器中访问时,这些工作他们是看不见的.用户对应用程序的第一印象,以及与应用程序的整个交互过程都是从视图开始的.    ...

  9. 安装sql2008的时候选择的是Windows身份验证,现在我想用sql server身份验证,我应该到哪儿设置呢

    本文档整理自网络,存粹用作笔记. 安装过程中,SQL Server 数据库引擎可以设置为 Windows 身份验证模式或 SQL Server 和 Windows 身份验证模式. 本文介绍如何在安装后 ...

  10. python统计元素重复次数

    python统计元素重复次数 # !/usr/bin/python3.4 # -*- coding: utf-8 -*- from collections import Counter arr = [ ...