博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flex4 中获取Microphone,抑制回声和使用Speex编码音频的方法
阅读量:6696 次
发布时间:2019-06-25

本文共 2012 字,大约阅读时间需要 6 分钟。

flex4 中获取Microphone,抑制回声和使用Speex编码音频的方法,该方法经过本人测试可用。

一、如果你不关心请直接把代码复制,如果想要了解细节的请继续往下看

private function getMicrophone(codec:String):Microphone {    var mic:Microphone = null;    mic = Microphone.getEnhancedMicrophone();    if (mic) {        var options:MicrophoneEnhancedOptions = new MicrophoneEnhancedOptions();        options.mode = MicrophoneEnhancedMode.FULL_DUPLEX;        options.autoGain = false;        options.echoPath = 128;        options.nonLinearProcessing = true;        microphone.enhancedOptions=options;        mic.setUseEchoSuppression(true);    } else {        mic = Microphone.getMicrophone();    }    if (mic == null) {        trace("No microphone! 
");    } else {        mic.addEventListener(StatusEvent.STATUS, onMicStatusEvent);        mic.setLoopBack(false);        mic.setSilenceLevel(0, 20000);        mic.gain = 60;        if (codec == "SPEEX") {            mic.encodeQuality = 8;            mic.codec = SoundCodec.SPEEX;            mic.framesPerPacket = 2;            mic.rate = 16;            trace("Using SPEEX wideband codec");        } else {            mic.codec = SoundCodec.NELLYMOSER;            mic.rate = 8;            trace("Using Nellymoser codec");        }    }    return mic;}protected function onMicStatusEvent(event:StatusEvent):void {    trace("New microphone status event");    //trace(ObjectUtil.toString(event));    switch (event.code) {        case "Microphone.Muted":            break;        case "Microphone.Unmuted":            break;        default:            break;    }}

二、针对上面的参数进行说明.

1、Microphone提供了 getEnhancedMicrophone 方法(最好是升级到flex4.6以上,flex3肯定是没有这个api的),能够返回一个“增强麦克风",ADOBE声称可以用来创建不用头戴式耳机麦克风的音视频应用程序,用这个效果比之前的Microphone.getMicrophone()都要很多改善,包括获取音频和音频编码,还有抑制回声等.

2、mic.setLoopBack(false); 设置为false 就是禁止将麦克风捕获的音频传送到本地扬声器.如果不设置为false,你会听到自己说话的声音的。默认值是true。

3、mic.setUseEchoSuppression(true);指定是否使用音频编解码器的回音抑制功能。除非用户已经在 Flash Player 的“麦克风设置”面板中选择了“降低回音”,否则默认值为false

三、参考资料文献,

1、Adobe® Flex® 4 Beta 语言参考 

2、参照bigbluebutton远程教育系统的源码

3、

转载地址:http://sxtoo.baihongyu.com/

你可能感兴趣的文章
不懂卷积神经网络?别怕,看完这几张萌图你就明白了
查看>>
PostgreSQL Frontend/Backend protocol (通信协议)
查看>>
Struts2教程9:实现自已的拦截器
查看>>
在 ActiveReports 中嵌入 Spread 控件
查看>>
Java网络编程从入门到精通(5):使用InetAddress类的getHostName方法获得域名
查看>>
从全息投影到全息平台,必须克服7个障碍
查看>>
烂泥:通过vsphere给esxi添加本地硬盘
查看>>
RabbitMQ实例教程:发布/订阅者消息队列
查看>>
JavaScript服务器端开发技术(对象属性的枚举与查询)
查看>>
烂泥:mysql数据库使用的基本命令
查看>>
Cassandra 的数据存储结构——本质是SortedMap<RowKey, SortedMap<ColumnKey, ColumnValue>>
查看>>
解决虚拟机时间引起的奇怪问题
查看>>
PIX525故障一例,求解
查看>>
Lync Server外部访问系列PART5:模拟公网DNS
查看>>
【Hibernate框架开发之九】Hibernate 性能优化笔记!(遍历、一级/二级/查询/缓存/乐观悲观锁等优化算法)...
查看>>
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(一)
查看>>
[零基础学JAVA]Java SE应用部分-34.Java常用API类库
查看>>
读书笔记2013第3本:《无价》
查看>>
一个完美的导航树
查看>>
老是不中,算了算“双色球”和“3D”,全买到底要多少¥¥。。(C 代码)
查看>>