folder Tahribat.com Forumları
linefolder Delphi - Pascal
linefolder Delphi 7 De Uygulamanın Sesini Kısamama Sorunu



Delphi 7 De Uygulamanın Sesini Kısamama Sorunu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RockZs
    RockZs's avatar
    Kayıt Tarihi: 30/Haziran/2002
    Erkek

    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.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    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

    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RockZs
    RockZs's avatar
    Kayıt Tarihi: 30/Haziran/2002
    Erkek

    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
Toplam Hit: 1772 Toplam Mesaj: 3