WEB开发网
开发学院软件开发VC Skype录音答录机编程思路和代码 阅读

Skype录音答录机编程思路和代码

 2008-09-01 19:25:37 来源:WEB开发网   
核心提示: 一个有趣的功能:我们录音后的mp3文件播放时,我可以让对方的声音在左声道,Skype录音答录机编程思路和代码(6),我自己的声音在右声道,好像两个人面对面在对话一样,如果有朋友完成了请将你的方法email给我,多谢,其实做起来并不难,从上面的代码我们知道

一个有趣的功能:我们录音后的mp3文件播放时,我可以让对方的声音在左声道,我自己的声音在右声道,好像两个人面对面在对话一样。其实做起来并不难,从上面的代码我们知道,其实输入和输出的音频数据是独立获取的,我们在合并到mp3文件时,将输入的数据存为左声道,输出的数据存为右声道即可。

既然叫“Skype答录机”,除了有录音功能外,还应该有自动应答功能,要实现这个功能有两个办法:

a) 当来电震铃超过规定的次数时自动提机,将录音通道切换到“立体声混音”,然后播放之前准备好的一个语音文件(如:您好,我现在不在电脑旁,有事请留言),本软件使用的就是这种方式;

b) 当来电震铃超过规定的次数时自动提机,然后播放之前准备好的一个语音文件(如:您好,我现在不在电脑旁,有事请留言)数据直接传递至上面的.dll文件相关函数中,然后 waveInPrepareHeader 函数中将系统从麦克风中录制的声音替换掉,这种方式比较难控制,但可以实 现很多奇怪的效果,比如通话变声等。

需要注意的地方:该程序是通过钩子方式截取Skype的音频数据,所以程序的执行效率要求很高,对于慢速处理的操作(如:压缩mp3数据、数据存盘等)最好是放到其他线程中处理,否则会影响Skype通话质量,造成通话断断续续的感觉,录音数据也可能会丢失。

软件执行界面

主界面:

Skype录音答录机编程思路和代码

☆ 配置界面:

Skype录音答录机编程思路和代码

说明:

由于该软件为“深圳市伟信科技开发有限公司”的商业软件,这个软件是为了“无线Skype话机”而开发的,使用该话机可以离开电脑像操作普通手机一样进行免费的Skype通话了。

详情请见:http://www.viction.net

出于商业道德的考虑,我不能将整个工程源代码全部公开,但有关Skype录音和应答方面的关键性代码已经全部包含在文件包里了,只要稍加修改就可以添加到自己的工程项目中了。

以上程序在Windows XP/ Skype2.5 上测试通过,但Skype3.0 以后的版本录音好像有点问题,因为时间的关系,我尚未查找其中的原因,我初步猜测 Skype 在调用 waveInPrepareHeader 函数前将数据清除掉了,可以试着捕捉 MM_WIM_DATA 消息来获取录音数据,因为工作比较忙,所以没时间来做尝试,有兴趣的朋友可以来完成它,如果有朋友完成了请将你的方法email给我,多谢。

谢谢曹昌利、陈容清、周伟波等几位同志对本软件的严格测试。

上一页  1 2 3 4 5 6 

Tags:Skype 录音 答录机

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接