Flash:是否可以录制用户语音&;行动起来?

Flash:是否可以录制用户语音&;行动起来?,flash,actionscript-3,audio,Flash,Actionscript 3,Audio,是否可以通过麦克风记录最终用户 我能用录音做些什么 例如,我可以实时获得声音的音量(分贝)吗 我可以把记录保存到文件中吗 谢谢。客户端有一个打开网络摄像头和麦克风的设置,但您无法在应用程序中控制它。用户必须选择将其打开。如果必须这样做,最好实现某种形式的Active X控件,用户可能会无意中接受对该功能的访问。是的,Flash允许(在用户许可的情况下)从麦克风录制 这就是无数像Stickam这样的网站提供视频会议功能的方式 您无法以dB为单位读取实际(准确)声压读数——这是声压的绝对测量值,取决

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

我能用录音做些什么

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

我可以把记录保存到文件中吗


谢谢。

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

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

这就是无数像Stickam这样的网站提供视频会议功能的方式


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

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

不,您不能从闪存保存到文件,因为闪存不允许您写入磁盘。嗯,您可以保存到,但默认情况下,该文件的大小限制为100KB,并且不是普通文件。你可以用空气来做。我在麦克风类的文档中看到,您可以将音频流回到Flash媒体服务器(或兼容的,如下面的评论所述),但这并不完全是“保存到文件”

至于音频处理,从技术上来说,你可以按照你的建议去做,但这可能是不切实际的。ActionScript是一种解释语言,没有特别强的数字处理能力。在Flash中执行此操作可能比在本机代码中慢10-50倍。接受这种速度冲击就像把自己送回10-15年前的时代,并且必须使用当今的技术来完成这项工作。所以,无论你想做什么,你都必须问问自己,他们是否在90年代中后期实时完成了这项工作。否则,Flash可能会太慢。例如,与说话人无关的大词汇量语音识别可能并不实用


当您只使用ActionScript来编写对Flash Player的调用脚本时,ActionScript工作得最好,Flash Player是用本机代码编写的。在Flash获得语音识别(或任何你想要的音频功能)之前,我会放弃这个项目。

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

非常好的语音控制示例

谢谢大家。我发现了更多的信息:一些更正:首先,你可以将音频数据流传输到各种媒体服务器,包括像red5这样的免费服务器。第二,Flash决不会太慢,无法完成上面提到的问题。如果OP只是想做问题中列出的事情,他没有理由“放弃这个项目”。我已经修正了上面的FMS评论。至于Flash速度太慢的问题,我不想惹恼任何人,我只是想指出,如果你想做一件事,需要一台结实的计算机和本机代码才能在今天做得很好——就像我上面的一个具体例子,语音识别——在Flash内部获得该功能之前,Flash可能不是正确的答案。就这样。我现在可以拿回+1吗?:)沃伦-你不知道什么是可能的闪光。下面是一个音频频谱分析仪列表,它通过处理声音数据来可视化声音形式。这是一个可以使用Flash的例子。这些事情是在10-15年前实时完成的,所以它们属于我上面的资格。要明确的是:我不是说“你不能在Flash中进行音频处理”。我的意思是,你不能指望用它做那些目前需要运行本机代码的计算机的全部容量的事情。仅此而已。沃伦,AS3对语音识别来说速度太慢可能是真的,但没人问这个问题。您可能会更合理地回答,Flash适合OP询问的内容,但他应该小心尝试任何更高级的处理,但即使这样也会产生误导,因为(正如其他更好的答案所解释的那样),当前的API无论如何都不会公开此类处理所需的数据。不,您不需要服务器来分析麦克风数据<代码>麦克风.addEventListener(SampleDataEvent.SAMPLE_数据,onMicrophoneData)