最近项目有个需求,想要通过网页形式实现录音功能,经过多方查阅资料。总结可得,目前IOS系统不支持此功能,一部分浏览器和安卓支持。我们在网页端实现播放音频/视频现在已经没那么难了,但是有的奇怪需求,比如想要你实现在网页上录音/录视频/拍照,这些就没那么轻而易举了。
1. 经过查阅得知,以前进行媒体音视频得录制,通常是使用Flash和Sliverlight等等进行的。如果想进行网页录音/录视频,MDN提供了API——MediaRecorder() ;还有一个API——navigator.getUserMedia();html5中提供了API——getUserMedia()能够调用电脑的摄像头,结合 <video> 标签和 Canvas 就能在浏览器中拍摄照片了。
2. 运行过程中我们应该注意:
因为安全问题, chrome 对于本地文件禁用了很多功能(以file:///开头). 所以如果你直接把html文件拖进chrome是看不到效果的 (getUserMedia 失败)——亲测确实是这样的!
3. 如何解决:
- 使用IDE webstrom采用localhost形式运行,而不用sublime以被内地file://形式运行(亲测无效)
- 配合http服务器,如apache等
- 关闭所有chrome窗口(否则参数无效),在命令行中增加如下参数启动 chrome: chrome --allow-file-access-from-files
4. recorder.js<