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

📄 subject_56920.htm

📁 vc
💻 HTM
字号:
<p>
序号:56920 发表者:Chengmj 发表日期:2003-10-21 18:02:15
<br>主题:多个wav音频混音的问题
<br>内容:在开发过程中,需要对多个音频信号进行混音。音频的格式为wav,PCM。在网上学习的结果是我知道可以把多个缓冲的数据直接算是叠加就可以实现混音。但是在我的程序中,如果不混音,音频质量非常好,但是混音后音频信号非常的差。我的音频采用参数为:8000Hz,16位,单声道。<BR>我使用的函数如下:buf为混音过后的数据,混音后直接使用waveOutWrite播放。<BR>short *AudioMixer(const short *buf1, const short *buf2, short *buf)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int i;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;if(buf1 == NULL || buf2 == NULL || buf == NULL)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return NULL;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;int tmp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(i = 0; i &lt; SIZE_AUDIO_FRAME / 2; i ++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp = buf1[i] + buf2[i];<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(tmp &lt; -32765)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp = -32765;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if(tmp &gt; 32765)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp = 32765;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf[i] = tmp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;return buf;<BR>}<BR>已经研究了好长时间了,一直没有结果,现在又催得比较急。有哪位高手能够给我指点指点?实在是对多媒体的处理无能为力。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:wookin 回复日期:2003-10-23 12:03:23
<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>
回复者:Chengmj 回复日期:2003-10-23 13:08:03
<br>内容:那再请问这个缩放因子到底是个什么参数啊?该如何设置呢?就上面那个例子,应该如何解决才能得到正确的混音效果呢?<BR>希望这位大虾再次出手,多谢!
<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 + -