Старый 01.09.2011, 22:23   #151   
Registered User
 
Сообщений: 1,114
Регистрация: 23.06.2007
Возраст: 56

Hopkroft вне форума Не в сети
Цитата:
Сообщение от Спартак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);
}

Последний раз редактировалось Hopkroft; 01.09.2011 в 22:56.
 
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind