最近研究了一下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的支持。貌似Flash Media Server蛮贵的。
参考:
http://www.nshen.net/blog/article.asp?id=509
这篇文章详细的讲了flash+Media Server实现录制的代码,代码还是比较简单的。
研究继续中。。。
大家有没有做过类似功能或者好的意见?
其他资料:
CodeProject上关于audio,video的项目:
http://www.codeproject.com/KB/audio-video/
开源的web video实现,采用Flash Media Server 和.net :
http://www.codeproject.com/KB/audio-video/igotmessage.aspx
VB编写录音机:
http://www.cztjb.com.cn/xuesyd/dnxw/recorder.htm
MCI资料:
http://www.devx.com/vb2themax/Tip/18383
web录音的实现
最新推荐文章于 2023-12-12 21:42:44 发布