Сообщение от Спартак21:
ок!
Мне необходимо изменять громкость при проигрывании файла, т.е. PlaySound(...) & waveOutSetVolume(...).
Как изменить громкость?
void CPlayDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { if(pScrollBar->IsKindOf(RUNTIME_CLASS(CSliderCtrl))) { CSliderCtrl *pSliderCtrl = (CSliderCtrl*) pScrollBar; switch(pSliderCtrl->GetDlgCtrlID()) { case IDC_SLIDER_FREQUENCY: { CString t; int NewFreq = m_SliderFrequency.GetPos(); waveOutSetPlaybackRate(m_Play.m_hPlay, FloatToFix(double(NewFreq)/100.0)); t.Format("%i Гц", NewFreq); m_StaticFrequency.SetWindowText(t); } break; case IDC_SLIDER_PITCH: { CString t; double NewPitch = m_SliderPitch.GetPos(); waveOutSetPitch(m_Play.m_hPlay, FloatToFix(NewPitch/double(m_wfx.nSamplesPerSec))); t.Format("%.02f", NewPitch/100.0); m_StaticPitch.SetWindowText(t); } break; case IDC_SLIDER_LEFT: case IDC_SLIDER_RIGHT: { DWORD LeftVolume = 0xFFFF-m_SliderLeft.GetPos(); DWORD RightVolume = 0xFFFF-m_SliderRight.GetPos(); waveOutSetVolume(m_Play.m_hPlay, (RightVolume<<16) + LeftVolume); break; } } } else CDialog::OnVScroll(nSBCode, nPos, pScrollBar); }