如果想要在浏览器中录制来自麦克风输入的声音,今天可以通过Flash进行录制。 (Afaik目前没有其他适用于浏览器的好选项。)
是否有一个简单的swf插件允许人们这样做?也就是说,使用选项“开始录制”,“停止录制”,“获取录制声音的波形(或类似)”。
答案 0 :(得分:6)
这个问题有点老了,但我最近不得不自己回答这个问题并发现以下文章最有用:
http://www.html5rocks.com/en/tutorials/getusermedia/intro/
使用HTML 5,您可以完全避免使用Flash,只需使用
即可<input type="file" accept="audio/*;capture=microphone">
这减轻了对Flash的依赖(正如您所说,您担心跨浏览器兼容性),并且大多数最新的桌面和移动浏览器仍然可以理解。
答案 1 :(得分:1)
您可以轻松地完成FlashPlayer 10.1,其中包含来自Microphone的SampleData(事件)。
microphoneInstance = Microphone.getMicrophone();
microphoneInstance.addEventListener(SampleDataEvent.SAMPLE_DATA, sampleDataHandler);
//will contains your microphone RAW sound data
buffer = new ByteArray();
function sampleDataHandler(event:SampleDataEvent):void
{
while(event.data.bytesAvailable > 0)
buffer.writeFloat(event.data.readFloat());
}
示例(带代码),本地录制(没有任何服务器)并保存WAV文件:
MicRecorder, a tiny microphone library by Thibault Imbert MicRecorder - A tiny AS3 Microphone library on Google Code
另一个例子(没有代码),本地录制但保存MP3文件:
答案 2 :(得分:1)
以下是通过HTTP帖子将音频发送到服务器的示例。这解决了设置Flash Media Server的混乱问题: