vc声卡输出声音录制

tbg1986 2011-08-17 05:08:43
这样的:我在电脑上通过一个播放器视频或者音频播放器都可以播放节目。然后想做个程序录制这个节目的声音,录制的声音是通过声卡的输出设备发出的。网上找了几天都是对麦克风输入的声音进行录制的。很少有关于声卡输出声音大录制。
恳请各位提供个vc的源码参考下。100分不够可以在加分。只要能解决问题
...全文
1365 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010414201 2013-10-31
  • 打赏
  • 举报
回复
我也在做类似的功能,帮顶下
十指群舞 2013-08-20
  • 打赏
  • 举报
回复
能不能把录制麦克风和声卡发出的声音都录下来啊,而且可以自由选择。。。求指导~~~~
greenbird13 2013-06-16
  • 打赏
  • 举报
回复
楼主问题有没有解决呢。。。如果解决了,烦请给点思路,网上的所谓虚拟声卡的太高深了
hztj2005 2012-03-22
  • 打赏
  • 举报
回复
都是语音处理的同道,留个标记。
tbg1986 2011-12-01
  • 打赏
  • 举报
回复
最近忙别的事情。一直没在研究这个。不知道你现在的结果呢
叫我小名 2011-11-02
  • 打赏
  • 举报
回复
最近在做这方面的项目,遇到同样的问题,同求。。不知道楼主现在解决这问题没
tbg1986 2011-09-22
  • 打赏
  • 举报
回复
没人可以解答么??高手在哪里?
tbg1986 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xiaoming770 的回复:]
哥期待这样的代码出现。
[/Quote]
你有找见方法了吗??找见的话可否分享下..QQ:376105702
tbg1986 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 chunyou128 的回复:]
Windows程序设计Code\Chap22\Record1
Windows程序设计Code\Chap22\Record2
Windows程序设计Code\Chap22\Record3
[/Quote]


大哥,你有没有试过??我试过还是不能录制声卡发出的声音阿??/
xiaoming770 2011-09-13
  • 打赏
  • 举报
回复
哥期待这样的代码出现。
hellobackstreet 2011-08-24
  • 打赏
  • 举报
回复
这段代码非常有用
xiaoming770 2011-08-24
  • 打赏
  • 举报
回复
哥也需要这样的代码,帮你顶下。
chunyou128 2011-08-21
  • 打赏
  • 举报
回复
Windows程序设计Code\Chap22\Record1
Windows程序设计Code\Chap22\Record2
Windows程序设计Code\Chap22\Record3
chunyou128 2011-08-21
  • 打赏
  • 举报
回复
     case MM_WOM_OPEN:
// Enable and disable buttons

EnableWindow (GetDlgItem (hwnd, IDC_RECORD_BEG), FALSE) ;
EnableWindow (GetDlgItem (hwnd, IDC_RECORD_END), FALSE) ;
EnableWindow (GetDlgItem (hwnd, IDC_PLAY_BEG), FALSE) ;
EnableWindow (GetDlgItem (hwnd, IDC_PLAY_PAUSE), TRUE) ;
EnableWindow (GetDlgItem (hwnd, IDC_PLAY_END), TRUE) ;
EnableWindow (GetDlgItem (hwnd, IDC_PLAY_REP), FALSE) ;
EnableWindow (GetDlgItem (hwnd, IDC_PLAY_REV), FALSE) ;
EnableWindow (GetDlgItem (hwnd, IDC_PLAY_SPEED), FALSE) ;
SetFocus (GetDlgItem (hwnd, IDC_PLAY_END)) ;

// Set up header

pWaveHdr1->lpData = pSaveBuffer ;
pWaveHdr1->dwBufferLength = dwDataLength ;
pWaveHdr1->dwBytesRecorded = 0 ;
pWaveHdr1->dwUser = 0 ;
pWaveHdr1->dwFlags = WHDR_BEGINLOOP | WHDR_ENDLOOP ;
pWaveHdr1->dwLoops = dwRepetitions ;
pWaveHdr1->lpNext = NULL ;
pWaveHdr1->reserved = 0 ;

// Prepare and write

waveOutPrepareHeader (hWaveOut, pWaveHdr1, sizeof (WAVEHDR)) ;
waveOutWrite (hWaveOut, pWaveHdr1, sizeof (WAVEHDR)) ;

bEnding = FALSE ;
bPlaying = TRUE ;
return TRUE ;
chunyou128 2011-08-21
  • 打赏
  • 举报
回复
     case MM_WIM_OPEN:
// Shrink down the save buffer

pSaveBuffer = realloc (pSaveBuffer, 1) ;

// Enable and disable Buttons

EnableWindow (GetDlgItem (hwnd, IDC_RECORD_BEG), FALSE) ;
EnableWindow (GetDlgItem (hwnd, IDC_RECORD_END), TRUE) ;
EnableWindow (GetDlgItem (hwnd, IDC_PLAY_BEG), FALSE) ;
EnableWindow (GetDlgItem (hwnd, IDC_PLAY_PAUSE), FALSE) ;
EnableWindow (GetDlgItem (hwnd, IDC_PLAY_END), FALSE) ;
EnableWindow (GetDlgItem (hwnd, IDC_PLAY_REV), FALSE) ;
EnableWindow (GetDlgItem (hwnd, IDC_PLAY_REP), FALSE) ;
EnableWindow (GetDlgItem (hwnd, IDC_PLAY_SPEED), FALSE) ;
SetFocus (GetDlgItem (hwnd, IDC_RECORD_END)) ;

// Add the buffers

waveInAddBuffer (hWaveIn, pWaveHdr1, sizeof (WAVEHDR)) ;
waveInAddBuffer (hWaveIn, pWaveHdr2, sizeof (WAVEHDR)) ;

// Begin sampling

bRecording = TRUE ;
bEnding = FALSE ;
dwDataLength = 0 ;
waveInStart (hWaveIn) ;
return TRUE ;

case MM_WIM_DATA:

// Reallocate save buffer memory

pNewBuffer = realloc (pSaveBuffer, dwDataLength +
((PWAVEHDR) lParam)->dwBytesRecorded) ;

if (pNewBuffer == NULL)
{
waveInClose (hWaveIn) ;
MessageBeep (MB_ICONEXCLAMATION) ;
MessageBox (hwnd, szMemError, szAppName,
MB_ICONEXCLAMATION | MB_OK) ;
return TRUE ;
}

pSaveBuffer = pNewBuffer ;
CopyMemory (pSaveBuffer + dwDataLength, ((PWAVEHDR) lParam)->lpData,
((PWAVEHDR) lParam)->dwBytesRecorded) ;

dwDataLength += ((PWAVEHDR) lParam)->dwBytesRecorded ;

if (bEnding)
{
waveInClose (hWaveIn) ;
return TRUE ;
}

// Send out a new buffer

waveInAddBuffer (hWaveIn, (PWAVEHDR) lParam, sizeof (WAVEHDR)) ;
return TRUE ;
tbg1986 2011-08-19
  • 打赏
  • 举报
回复
那个还是录制麦克风声音的.我要的是录制声卡输出的声音.类似Total Recorder录音功能
hztj2005 2011-08-19
  • 打赏
  • 举报
回复
学习下
zgl7903 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zgl7903 的回复:]
HOOK API 的方式

Skype录音答录机编程思路和代码
[/Quote]
上面已经写得很清楚了 Hook_waveOutWrite
tbg1986 2011-08-18
  • 打赏
  • 举报
回复
那个是麦克风录音呀
byq 2011-08-18
  • 打赏
  • 举报
回复
在《Microsoft DirectX 9.0 SDK (October 2005)\Samples\C++\DirectSound\CaptureSound》中有源码。
加载更多回复(3)

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧