播放wav文件显示图形的问题, 文件很大为啥WaveOutProc调用很少?
播放wav显示图形的问题 文件很大为啥WaveOutProc调用很少?
//waveOut
procedure WaveOutProc(waveOut: HWAVEOut; uMsg: UINT; dwInstance, dwParam1, dwParam2: DWORD); stdcall;
begin
case uMsg of
WOM_OPEN:
if (uMsg = MM_WIM_DATA) and (dwInstance <> 0)
and (TObject(dwInstance) is TSkyAudioMeterOut) then
begin
with TSkyAudioMeterOut(TObject(dwInstance)) do begin //这里调用只几次,画不出图形
//....画声波图形;
end;
end;
WOM_CLOSE: ; //TWave(dwInstance).WaveClose(hwo); //关闭wave-form设备
WOM_DONE:
//TWave(dwInstance).WaveFinish(hwo); //wave数据播放完毕
end;
end;
//---wavein
procedure WaveInProc(waveIn: HWAVEIN; uMsg: UINT; dwInstance, dwParam1, dwParam2: DWORD); stdcall;
begin
if (uMsg = MM_WIM_DATA) and (dwInstance <> 0)
and (TObject(dwInstance) is TSkyAudioMeterOut) then
begin
with TSkyAudioMeterOut(TObject(dwInstance)) do begin //这里可以不停被执行 画出图形
//....画声波图形;
end;
end;
end;