VB一个显示声卡频谱部分的代码帮我详细解读下。我想换成波形显示
'// 获得波形数据'//
Private Sub CaptureWaveOutput()
Dim lngPtr As Long
' 波形数据缓存中已经填满波形数据
If m_inHdr.dwFlags And WHDR_DONE Then
m_lngRetVal = waveInAddBuffer(m_hWaveIn, m_inHdr, Len(m_inHdr))
If m_lngRetVal <> 0 Then
' 波形数据记录失败"
Exit Sub
End If
' 获得左右声道的波形采样数据
lngPtr = m_inHdr.lpData
ReDim Preserve m_InData(m_inHdr.dwBytesRecorded)
CopyStructFromPtr m_InData(0), lngPtr, m_inHdr.dwBytesRecorded
' 画左右声道波形
DrawWaveform
End If
End Sub
'//
'// 画左右声道波形
'//
Private Sub DrawWaveform()
On Error Resume Next
Dim lOffset As Long
Dim lUsage As Long
Dim lIndex As Long
Dim lPos As Long
Dim picWidth As Long
Dim picHeight As Long
Dim perHeight As Long
picWidth = Picture1.ScaleWidth
picHeight = Picture1.ScaleHeight
perHeight = ((picHeight - (m_CellSpace + 1)) / 3)
lOffset = m_CellSpace
For lIndex = 0 To m_BarCounts
lUsage = (m_InData(lIndex) / 255) * picHeight
For lPos = 0 To perHeight
Picture1.Line (lOffset, lPos * 3)-(lOffset + m_CellWidth, lPos * 3 + 1), _
IIf(lUsage >= 255 * (1 - lPos / perHeight), m_ForeColor, m_BackColor), BF
Next
lOffset = lOffset + m_CellWidth + m_CellSpace
Next
Picture1.Refresh
End Sub
--------------------编程问答-------------------- 没有人帮忙吗?主要帮我看看从声卡采集到的数据放在那里了。如何用采集到的数据画波形图。 --------------------编程问答-------------------- !!!!真的没人有帮忙看看吗?? --------------------编程问答-------------------- DING
补充:VB , 多媒体