在浏览器中录制声音

时间:2011-06-07 08:12:20

标签: html flash audio

如果想要在浏览器中录制来自麦克风输入的声音,今天可以通过Flash进行录制。 (Afaik目前没有其他适用于浏览器的好选项。)

是否有一个简单的swf插件允许人们这样做?也就是说,使用选项“开始录制”,“停止录制”,“获取录制声音的波形(或类似)”。

3 个答案:

答案 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文件:

http://unitzeroone.com/labs/rtmic2mp3/

答案 2 :(得分:1)

以下是通过HTTP帖子将音频发送到服务器的示例。这解决了设置Flash Media Server的混乱问题:

https://code.google.com/p/wami-recorder/