Delphi 7 De Uygulamanın Sesini Kısamama Sorunu
-
yazdığım bir uygulama içinde sndPlaySound ile çaldığım sesleri trackbar daki değere göre kısmak/açmak istiyorum. Genel sesi değil de sadece uygulamanın ses seviyesi değişmeli.
MediaPlayer ile bu işi halledebiliyorum ama benim sndPlaySound kullanmam lazım. (MediaPlayer a geçersem çok fazla şey değişecek, son çare).
Fikri olan var mı? İnternette araştırdım ama bulamadım, bulduklarımdan da anlamadım.
Teşekkürler.
-
işini görür mü?
http://greatis.com/delphicb/tips/lib/others-setsoundvolume.html
EDİT: Delphi çok iyi bir programlama dili ama programlamaya yeni başladıysan heba etme kendini :) doğru yol java c# tan geçer :)
DuPi tarafından 04/Ara/14 17:32 tarihinde düzenlenmiştir -
hocam sorunu aşağıdaki fonksiyonlarla hallettik. önerin için sağol Dupi.
SetWaveVolume(MakeLong(Volume,Volume)) ı kullanacağımız yerde çağırıyoruz. ek olarak:
function GetWaveVolume(var LVol: DWORD; var RVol: DWORD): Boolean; var WaveOutCaps: TWAVEOUTCAPS; Volume: DWORD; begin Result := False; if WaveOutGetDevCaps(WAVE_MAPPER,@WaveOutCaps,SizeOf(WaveOutCaps))=MMSYSERR_NOERROR then if WaveOutCaps.dwSupport and WAVECAPS_VOLUME=WAVECAPS_VOLUME then begin Result:=WaveOutGetVolume(WAVE_MAPPER, @Volume)=MMSYSERR_NOERROR; LVol:=LoWord(Volume); RVol:=HiWord(Volume); end; end; function SetWaveVolume(const AVolume: DWORD): Boolean; var WaveOutCaps: TWAVEOUTCAPS; begin Result:=False; if WaveOutGetDevCaps(WAVE_MAPPER, @WaveOutCaps, SizeOf(WaveOutCaps)) = MMSYSERR_NOERROR then if WaveOutCaps.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then Result:=WaveOutSetVolume(WAVE_MAPPER, AVolume)=MMSYSERR_NOERROR; end;
RockZs tarafından 04/Ara/14 18:10 tarihinde düzenlenmiştir