Flash:是否可以录制用户语音&采取行动?

时间:2009-09-03 19:05:57

标签: flash actionscript-3 audio

是否可以通过麦克风记录最终用户?

我可以对录音采取什么行动?

我可以实时获得声音的音量(分贝)吗?

我可以将记录保存在文件中吗?

感谢。

5 个答案:

答案 0 :(得分:3)

是的,Flash允许(在用户许可的情况下)从麦克风录制的功能。

这就是像Stickam这样的无数网站如何提供视频会议功能。

您无法以dB为单位获取实际(准确)声压读数 - 这是声压的绝对测量值,取决于您无法控制用户机器上的一百个因素(麦克风)类型,位置,定位,微调,频率响应,A / D转换,硬件压缩等)。但是,您可以采样输入信号的相对幅度。

答案 1 :(得分:2)

据我所知,您无法访问其波形或音量...有一个activityLevel属性,其中包含有关活动级别的某些信息,但您无法访问原始频谱或类似内容。 要记录音频文件,您可以通过FMS将其发送到服务器,最终您可以在那里处理它,但这将取决于连接延迟等,因此很难给用户提供准确的响应。 。 看到这个: http://theflashblog.com/?p=829

答案 2 :(得分:0)

客户端有一个设置可以打开对网络摄像头和麦克风的访问权限,但是您无法在应用程序本身中控制它。用户必须选择启用此功能。如果你必须做这样的事情,你最好实现某种形式的Active X控件,用户可能会无意中接受对此函数的访问。

答案 3 :(得分:0)

http://vimeo.com/8203323

的语音控制示例

答案 4 :(得分:-3)

是的,您可以使用flash.media.Microphone类录制音频。

不,您无法从Flash保存到文件,因为Flash不会让您写入磁盘。好吧,你可以保存到LSO,但默认情况下限制为100 KB,而且无论如何都不是普通文件。你可以用AIR做到这一点。我在Microphone类的文档中看到,您可以将音频流回Flash Media Server(或兼容,如下面的评论中所述),但这并不完全是“保存到文件”。

至于处理音频,从技术上讲,是的,你可以做你提出的建议,但这可能是不切实际的。 ActionScript是一种解释型语言,没有特别强大的数字处理能力。在Flash中执行此操作可能比在本机代码中慢10-50倍。接受这种速度命中就像让你自己回到10 - 15年,并且必须使用当时的技术。所以,无论你想做什么,你都要问自己,他们是否在90年代中后期实时做到这一点。如果没有,Flash可能会太慢。例如,与说话者无关的大词汇量语音识别可能不太实用。

当您仅使用ActionScript脚本调用Flash Player时,ActionScript效果最佳,Flash Player是用本机代码编写的。在Flash获得语音识别(或者您希望拥有的任何音频功能)之前,我会放弃这个项目。