FCS编程之Microphone对象

这一节讲述如何使用Microphone对象,包括怎么减少麦克风的回音。

获取麦克风
1 : Microphone.get([index]);
2 : //一般如果只有一个麦克风的话,可以用Microphone.get()

来自flashcomguru forums的检测麦克风函数:
01 : function checkforMic() {
02 : micArray = Microphone.names;;
03 : if (micArray.length >= 1){
04 : temp_mic = Microphone.get();
05 : if(temp_mic == -1)
06 : trace( '--- mic is detected but its busy' );
07 : else
08 : trace( '--- mic detected' );
09 : delete temp_mic;
10 : } else if (micArray.length == 0) {
11 : trace( '--- no Mic detected' );
12 : }
13 : }
14 :

或者使用下面的更简单的函数:
01 : function checkForMic(){
02 : return Microphone.names.length;
03 : }
04 :
05 : // trace ('User have a Mic? -> '+checkForMic());
06 :
07 : function isMicBusy(){
08 : if(arguments.length) return Microphone.get(arguments[0]) == -1;
09 : return Microphone.get() == -1;
10 : }
11 : // trace ('Is user's Mic busy? -> '+isMicBusy());


避免回音
如果你使用外置的话筒,因为会有较大的增益,就不可避免的遇到回音的问题。
为了尽量降低话筒的回音,FlashCom Server提供了回音抑制功能。要使用这一功能,可以通过下面的方法:
  1. myMicrophone.useEchoSuppression(true);


这样就可以保持较好的语音效果,而不会从话筒传递过多的的回音。但尽管如此,仍然会有部分的回音无法消除,下面是一些好的建议:
1. 适当调低你的话筒音量
2. 让话筒远离你的音箱
3. 及时查找你的设备故障
4. 如果可以尽量使用戴在头上的耳机或听筒

保持Microphone始终打开
为了节约带宽,FlashCom server默认会关闭Microphone对象当它不再使用的时候。但是,有时候你可能需要保持Microphone保持始终打开(例如为了保证没有任何延迟),你可以使用下面的方法:
  1. my_mic.setSilenceLevel(0)



音量调节
Flashcomguru上提供了如何调节音量的方法:
1 : //Attach your netstream audio to a movielcip:
2 : movieclip_mc.attachAudio(yournetStream);
3 : // create a sound object
4 : my_snd = new Sound(movieclip_mc);
5 : // to adjust the volume
6 : my_snd.setVolume(50);
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值