DirectShow中音频实现EQ的功能,请高手帮忙.

flyidd 2005-03-14 10:08:38
最近我勇DirectShow写了一个音频播放器,现在想实现Equalizer的功能, 也就是普通MP3上实现的那种音效转换,比如CLASS,JAZZ,POP...之类. 我找了DirectSound中的很多接口, 都没有找到相对应的函数. 请高手赐教. 问题解决,立刻给分.
这是我初始化的时候的一段代码

HRESULT hr = CoCreateInstance(CLSID_FilterGraph,
NULL,
CLSCTX_INPROC_SERVER,
IID_IGraphBuilder,
(void **)&m_pGB);
JUMP_ON_FAIL(hr, ErrExit);

hr = m_pGB->QueryInterface(IID_IMediaControl, (void **)&m_pMC);
JUMP_ON_FAIL(hr, ErrExit);

hr = m_pGB->QueryInterface(IID_IMediaSeeking, (void **)&m_pMS);
JUMP_ON_FAIL(hr, ErrExit);

hr = m_pGB->QueryInterface(IID_IBasicAudio, (void **)&m_pBA);
JUMP_ON_FAIL(hr, ErrExit);

hr = m_pGB->QueryInterface(IID_IMediaEventEx, (void **)&m_pME);
JUMP_ON_FAIL(hr, ErrExit);

hr = m_pGB->QueryInterface(IID_IVideoWindow, (void **)&m_pVW);
JUMP_ON_FAIL(hr, ErrExit);

所使用的INTERFACE都是DirectSound中的,就是没有找到使用EQ的接口, 上次也跟一个哥们儿讨论过, 得出的结论是在播放的时候, 找出播放buffer,然后把它专程riff, 找到合适的interface进行调整,然后再播放. 可郁闷的就是没有找到这个interface, 请众高手能帮帮忙. 多谢了
...全文
137 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangbab 2005-03-18
  • 打赏
  • 举报
回复
关注。
  • 打赏
  • 举报
回复
如何获得IBaseFilter接口指针
  • 打赏
  • 举报
回复
gz!
VCSQLVB 2005-03-17
  • 打赏
  • 举报
回复
跟directsound没多大关系呀
获得IBaseFilter接口指针就可以了。

2,543

社区成员

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

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