⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_56302.htm

📁 vc
💻 HTM
字号:
<p>
序号:56302 发表者:找到新家 发表日期:2003-10-16 18:02:08
<br>主题:如何从Mpeg文件中抽取声音信号
<br>内容:我在做一个图像与声音的分析项目。在打开Mpeg文件后,需要可以得到在某一指定时刻的图像(bitmap格式)和该时刻的声音(比如该时刻前后一秒范围,PCM Wave格式)。现在我用ISampleGrabber已经可以得到指定时刻的图像。有人建议在GraphEdit中的Mpeg Audio Decoder后加入一个“Wav Dest”Filter已经可以得到Wave信息。但由于本人对DirectX不是很熟,但不知道如何用C++代码实现这个Graph。请大家看看有没有类似功能的C语言源码可以借鉴一下,或者谁愿意用几行C语言代码给表述一下。十分感谢。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:gzast163 回复日期:2003-10-16 19:18:08
<br>内容:用1个SampleGrabber用来获得图像,用另外一个SampleGrabber声音数据嘛,真是的
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:找到新家 回复日期:2003-10-16 20:16:22
<br>内容:我也想这样写,但是不知道如何设置参数,以及用GetCurrentBuffer()返回的数据内容是什么格式的。<BR>我想MediaType是这样设置的<BR>AM_MEDIA_TYPE&nbsp;&nbsp; mt;<BR>mt.majortype = MEDIATYPE_Audio;<BR>mt.subtype = MEDIASUBTYPE_PCM;<BR>mt.formattype = FORMAT_WaveFormatEx;<BR><BR>下面两句是否也需要<BR>pSampleGrabber-&gt;SetBufferSamples(TRUE);<BR>pSampleGrabber-&gt;SetOneShot(TRUE);<BR><BR>最后就是pSampleGrabber-&gt;GetCurrentBuffer(&amp;size, (long *)(buffer))的buffer中具体存有什么样的数据格式。<BR><BR>多谢<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:gzast163 回复日期:2003-10-17 09:27:58
<br>内容:如果SampleGrabber是接在Mpeg Audio Decoder之后,那么GetCurrentBuffer自然就是PCM的数据拉,具体的格式可以从ISampleGrabber::GetConnectedMediaType方法获得拉。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -