关于DSound捕捉缓冲区设置特效的问题!

iComputerLion 2010-07-17 10:31:01
正常的录音没有任何问题!
但目前想加入一些特效,特别是电流声降噪!

设置特效的代码如下:
CaptureBufferDescription CapBufferDes = new CaptureBufferDescription();

CaptureEffectDescription []CapEffDes=new CaptureEffectDescription [1];
Guid EffGUID = DSoundHelper.StandardChorusGuid;
Guid EffInstance = DSoundHelper.InterfaceEffectsChorus;
CapEffDes[0].GuidEffectsClass = EffGUID;
CapEffDes[0].GuidEffectsInstance = EffInstance;
CapBufferDes.CaptureEffectDescription = CapEffDes;
CapBufferDes.Format = theFormat;
CapBufferDes.WaveMapped = true;
CapBufferDes.ControlEffects = true;
NotifySize = 20480;
theBufferSize = NotifySize * NotifyNum;
CapBufferDes.BufferBytes = theBufferSize;
theCapBuffer = new CaptureBuffer(CapBufferDes, TheCapture);
尝试过DSoundHelper的许多特效GUID,均出错- theCapBuffer = new CaptureBuffer(CapBufferDes, TheCapture);参数值不再预期范围!参考一些文档,说是捕捉缓冲区只支持回声消除和降噪。但这两种我也设置失败!
那么这里问题我猜测有两种可能:1.缓冲区不支持 2.Guid EffInstance = DSoundHelper.InterfaceEffectsChorus;这里的GUID设置错误! 但我没能找到正确的设置方法!


请大家指教!

如果实在不行,就只好拷贝到 辅助缓冲区了 !
...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
iComputerLion 2010-07-28
  • 打赏
  • 举报
回复
哦 ? 
没听说过哦! 我去搜一下!
[Quote=引用 4 楼 audioaec 的回复:]

如果是消除噪音,可以用 Speex,效果不错。
[/Quote]
AudioAEC 2010-07-27
  • 打赏
  • 举报
回复
如果是消除噪音,可以用 Speex,效果不错。
iComputerLion 2010-07-21
  • 打赏
  • 举报
回复
多谢楼上兄弟!
tyg111 2010-07-20
  • 打赏
  • 举报
回复
我刚学习, 帮顶一下
iComputerLion 2010-07-19
  • 打赏
  • 举报
回复
愣是没人理哦!

2,554

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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