一群朋友正在开发一款小游戏,该游戏将在互动过程中聆听麦克风。我们已经修改了处理和弹性。我们想知道是否有人成功:
- 使用网络应用程序从麦克风录制
- 对此麦克风数据执行 FFT
在 flex 的情况下,根据文档“因为来自麦克风的声音数据......不通过全局 SoundMixer 对象,SoundMixer.computeSpectrum() 方法将不会从这些源返回数据。” 1
你的脚注有点回答你自己的问题。:) 不,无法从客户端从麦克风读取原始字节。Adobe 可能会在 Flash 11 中实现这一点,但不要为此屏住呼吸。
如果您设置了 Flash 服务器,例如Red5,那么您可以在后端读取原始流并通过 AMF 将 FFT 数据发送回客户端。这实际上可以通过非常低的延迟来实现,尽管它可能仍然太高,具体取决于您的应用程序的性质。Red5 页面上有几个示例,介绍了如何使用在后端运行的 Java webapp 来完成与此类似的事情。
有很多人要求这个功能。
您可能会在getMicrophone()中看到许多解决方法。