js实现ie浏览器录音
在IE浏览器中实现录音功能需要使用特定的API和兼容性处理,因为现代Web Audio API在IE中不被支持。以下是针对IE浏览器的录音实现方法:
使用Flash作为后备方案
由于IE浏览器不支持getUserMedia和MediaRecorder,可以使用Flash作为替代方案。通过嵌入Flash对象,调用Flash的录音功能。

<object type="application/x-shockwave-flash" data="recorder.swf" width="0" height="0">
<param name="movie" value="recorder.swf" />
<param name="allowScriptAccess" value="always" />
</object>
通过JavaScript与Flash交互,调用录音功能:

function startRecording() {
var flashObject = document.getElementById("recorder");
flashObject.startRecording();
}
function stopRecording() {
var flashObject = document.getElementById("recorder");
flashObject.stopRecording();
}
使用ActiveX控件
对于IE浏览器,可以使用ActiveX控件实现录音功能。需要用户安装支持录音的ActiveX控件。
function recordWithActiveX() {
var activeXObj = new ActiveXObject("AudioRecorder.Control");
activeXObj.StartRecording();
}
function stopRecordingWithActiveX() {
var activeXObj = new ActiveXObject("AudioRecorder.Control");
activeXObj.StopRecording();
var audioData = activeXObj.GetAudioData();
}
使用第三方库
一些第三方库如Recorder.js提供了兼容性处理,可以在不支持现代API的浏览器中通过Flash或ActiveX实现录音功能。
var recorder = new Recorder({
encoderPath: "encoderWorker.js",
bufferLength: 4096
});
recorder.record();
recorder.stop(function(blob) {
var audioURL = URL.createObjectURL(blob);
var audio = new Audio(audioURL);
audio.play();
});
注意事项
- IE浏览器对现代Web API的支持有限,建议优先使用Flash或ActiveX方案。
- 使用ActiveX需要用户信任并安装控件,可能存在安全风险。
- 第三方库如
Recorder.js需要额外引入相关文件,并确保路径正确。
以上方法可以根据实际需求选择,确保在IE浏览器中实现录音功能。






