描画音效波形
写了n个有关这个帖子,还没解决啊!杯具了。
求gamedragon和csdner帮忙
x轴的时间和y轴的点式如何确定的。
这是csdner代码确定y点的:DrawValue = CalDrawValue(nVar, p->Format.wBitsPerSample, buf);
buf += n;//n是音频数据中移动的位数。
在往后:nYValue = (int)((double)DrawValue * dbYUnit + 0.5);//这是什么意思?
确定x点的:用到了一个这个变量:m_nCapSamples,这是什么,怎么来的?
gamedragon:看看这段代码:
for(int register x=0;x<(long)size;x=x+n) //to draw first channel
{
sample=pWnd->m_pfch->wBitsPerSample ==8?( (*((BYTE*)pWnd->m_data+x)-128)*h)/128:((*((short*)pWnd->m_data+x))*h)/(65535/2);
pWnd->m_MDC.LineTo (int(((float)x/size)*(pWnd->memrec.Width()-b)),yy-sample);
}
x是音频数据中移动的位置。
谢谢!