web录音的实现
最近研究了一下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
在網頁上打開錄音程序,錄完后自動上傳到服務器。利用這種方式實現語言通告,文檔評論等功能。
????????????????????????????????????---客戶提出了這種有創意的需求,只好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
轉載于:https://www.cnblogs.com/jianyi0115/archive/2008/02/22/1078133.html
總結
- 上一篇: 一个SPS + K2 + InfoPat
- 下一篇: Google的电话面试