Skype录音答录机编程思路和代码
2008-09-01 19:25:37 来源:WEB开发网接下来我们在“偷取”录音数据(即通话中我说话的音频数据),看代码:
//
// 修改 waveInPrepareHeader 函数地址
//
CAPIHook g_waveInPrepareHeader("winmm.dll", "waveInPrepareHeader", (PROC) Hook_waveInPrepareHeader, TRUE);
//
// This is the waveInPrepareHeader replacement function
//
MMRESULT WINAPI Hook_waveInPrepareHeader ( HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh )
{
// 我们都知道,常规录音是用多个录音缓冲轮流交替使用的方式来得到来自
// 硬件设备的语音数据的,当任何一个录音缓冲数据满的时候,录音程序将
// 调用 Win32 API waveInPrepareHeader 函数来准备下一个录音缓冲,调用这
// 个函数时传递的 LPWAVEHDR 指针中刚好有已经录好的音频数据,我们
// 用同样的方式将数据取走。
SendDataToMainWnd ( pwh->lpData,
pwh->dwBytesRecorded > 0 ? pwh->dwBytesRecorded : pwh->dwBufferLength,
ENUM_CATCHSOUNDTYPE_waveInPrepareHeader );
// Call the original waveInPrepareHeader function
MMRESULT nResult = ((PFN_waveInPrepareHeader)(PROC) g_waveInPrepareHeader )
(hwi, pwh, cbwh);
// Return the result back to the caller
return(nResult);
}
至此,Skype通话过程中音频输入和输出的数据(即对方讲话和我自己讲话的声音)已经全部“偷取”到了,接下来只要压缩成mp3格式即可,mp3压缩代码网上很多,随便下载一个来用就可以了,我用的是“hw_mp3_enc.dll library”,效果一般,但用做电话录音足亦。
- ››Skype视频通话有望CES期间登录iPhone
- ››Skype官网出现iPhone应用帮助文档,随后被删除
- ››Skype新版整合Facebook增加视频会议功能
- ››Skype 2.0.1 for iPhone 评测
- ››Skype升级iPhone版应用 支持多任务处理
- ››Skype向所有设备和台式应用开放软件开发包
- ››Skype称将推多平台:支持手机与电视视频通话
- ››Skype终于出iPhone版了 还支持3G网络
- ››Skype 2.0 for iPhone 支持3G下工作
- ››Skype 2.0 for iPhone 已经可以工作在3G模式下
- ››Skype 周四登陆 Verizon 9 款黑莓 Android 手机
- ››Skype 发布 Symbian 应用 用户可拨打免费网络电话...
更多精彩
赞助商链接