最近研究了一下web录音程序的实现:
在网页上打开录音程序,录完后自动上传到服务器。利用这种方式实现语言通告,文档评论等功能。
---客户提出了这种有创意的需求,只好Research一下了。
有两个技术点需要解决:
一。客户端录音程序的开发,编码技术可以采用ActiveX,DotNet Window控件,Flash等。
录音的实现方式有:
1)VB中有个ActiveX控件,MMCControl可以较简单实现录音。
若没有安装VB,则可以google一下,下载OCX控件:MCI32.OCX,下载后注册:regsvr32 /s "MCI32.OCX" 即可。控件类名为axMMControl,可以在VB。vb.net,c#中使用。
基本代码如下:
开始录音:
MMControl.Notify = False
MMControl.Wait = True
MMControl.Shareable = False
MMControl.DeviceType = "WaveAudio"
MMControl.FileName = "c:\temp\test.wav" //test.wav必须先存在
MMControl.Command = "Open"
MMControl.Command = "Record"
保存文件:
MMControl.Command = "Stop"
MMControl.Command = "Save"
MMControl.Command = "Close"
2)安装DirectX后,可以直接用DirectSound API开发。
http://www.cnblogs.com/qiufa/archive/2006/12/08/585986.HTML
这种方式API是最简单直观的,但考虑到要安装50多M的DirectX,暂时放弃。
3)直接调用底层API:
http://www.cnblogs.com/KeithDan/archive/2006/12/19/596833.ASPx
http://www.codeproject.com/KB/audio-video/cswavrec.ASPx?df=100&forumid=16677&exp=0&select=1107344
http://www.cnblogs.com/sadier/articles/106157.HTML
二。将录制的文件上传到服务器端
实现方式:
方式1:直接把上传代码嵌入在开发的控件中,但需要解决身份认证问题。可以采用调用web服务上传,采用集成window身份认证,直接使用用当前window登录用户身份调用
web服务。
方式2:录音控件不管上传,只是把声音文件保存到本地硬盘上,用JavaScript结合fso,XMLHttp上传文件,身份直接采用IE中的登录用户身份。
另外,可以考虑采用Flash来实现,但是好像需要服务器端Media Server的支持。
研究继续中。。。
大家有没有做过类似功能或者好的意见?

BK网络学院主要内容:平面设计教程,网站开发在线教程,网页制作教程,服务器教程,网络编程,数据库教程等。