Volume verändern
-
Ich versuche irgendwie ein Lautstärkeregler für mein Programm einzubauen.
Das problem ist die Lautstärkeänderungsfunktion (wort == omg o_0)
Das hier hab ich nicht hingekriegt:MCIWndSetVolume(HIER,1000);
der Parameter hat den typ hwnd aber wie geb ich da mein Prog an ?
Dann hab ichs mit MciSendCommand versucht, aber nicht hingekriegt.
Ich benutze Den TMediaPlayer.
bei mciSendString wiedergabe wärs kein Problem.
Notfalls auch System Lautstärke änderung mit einem int wert erlaubt.Bitte um Hilfe
-
Hi,
ich habe hier was gefunden :
http://delphi.about.com/od/adptips2006/qt/mediaplayer_vol.htm.
Umgeschrieben lautet der Code:
*.h
//--------------------------------------------------------------------------- #ifndef playerH #define playerH //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <mmsystem.hpp> #include <MPlayer.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: TMediaPlayer *MediaPlayer1; TScrollBar *ScrollBar1; void __fastcall ScrollBar1Change(TObject *Sender); private: void __fastcall MPSetVolume(TMediaPlayer* MP, int Volume); int __fastcall MPGetVolume(TMediaPlayer* MP); public: __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif
*.cpp
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <mmsystem.h> #include <digitalv.h> #include "player.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { ScrollBar1->Min = 0; ScrollBar1->Max = 1000; ScrollBar1->Position = MPGetVolume(MediaPlayer1); MediaPlayer1->Close(); MediaPlayer1->FileName = "14 AUF DER REEPERBAHN NACHTS UM HALB EINS Achim Reichel.wma"; MediaPlayer1->Open(); } //--------------------------------------------------------------------------- void __fastcall TForm1::MPSetVolume(TMediaPlayer* MP, int Volume) { MCI_DGV_SETAUDIO_PARMS p; p.dwCallback = 0; p.dwItem = MCI_DGV_SETAUDIO_VOLUME; p.dwValue = Volume; p.dwOver = 0; p.lpstrAlgorithm = NULL; p.lpstrQuality = NULL; mciSendCommand(MP->DeviceID, MCI_SETAUDIO, MCI_DGV_SETAUDIO_VALUE | MCI_DGV_SETAUDIO_ITEM,(DWORD) (LPMCI_DGV_SETAUDIO_PARMS) &p) ; } int __fastcall TForm1::MPGetVolume(TMediaPlayer* MP) { MCI_STATUS_PARMS p; p.dwCallback = 0; p.dwItem = MCI_DGV_STATUS_VOLUME; mciSendCommand(MP->DeviceID, MCI_STATUS, (DWORD)MCI_STATUS_ITEM, (DWORD) (LPMCI_STATUS_PARMS) &p) ; return p.dwReturn; } void __fastcall TForm1::ScrollBar1Change(TObject *Sender) { MPSetVolume(MediaPlayer1, ScrollBar1->Position) ; } //---------------------------------------------------------------------------
mfg
kpeter
-
HAHA Du bist Genial.
Danke, ich war mittlerweile am Verzweifeln aber jetzt gehts hervorragend. Jetzt kann ich endlich die Install schreiben für Vers 1.0.
denn nur die Lautstärke hat noch gefehlt.