![]() |
Mixer in Windows Vista
Hallo,
ich arbeite mit Delphi 7 und will auf meinem Notebook den Mixer steuern. OS: Windows Vista Soundkarte: Realtek Trotz installation von MMSystem kann ich nur einen Kanal steuern (keine Gesamtlaustärke, Mikro, Wave oder Line). Hat da jemand eine Idee? Danke und Gruss Jürgen |
Re: Mixer in Windows Vista
Wurden nicht unter Vista einiges am Audio-Subsystem geändert :gruebel:
In einer der letzten c't-Ausgaben war ein Bericht darüber. Evtl. mußt du hier neue API-Schnittstellen verwenden. |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Multimedia" verschoben.
Delphi-Frage |
Re: Mixer in Windows Vista
Der Mixer und das Audio System hat sich in Vista Grundlegend geändert.
Meine alte implementierung zur Steuerung der Lautstärke funktioniert unter Vista nicht mehr. Es gibt soweit ich rausgefunden haben komplett neue Interface Objekte zum Steuern des Mixers. ![]() ![]() ![]() Leider habe ich noch nirgens eine funktioniernde Delphi Implementation gefunden und selbst habe ich bisher zu wenig mit Interfaces gearbeitet um es selbst zu implementieren. |
Re: Mixer in Windows Vista
Zitat:
|
Re: Mixer in Windows Vista
Dann gleich mal eine Frage zur C++ -> Delphi konvertierung
MSDN sagt bei sämtlichen Get methoden wie z.b. ![]()
Code:
HRESULT GetMute(BOOL *pbMute);
Zitat:
ich würds jetzt einfach so machen:
Delphi-Quellcode:
oder muß PBoolean als typ hin?
function GetMute(out pbMute : boolean) : hresult;
|
Re: Mixer in Windows Vista
out ist richtig, Boolean hingegen falsch. Verwende Bool aber nicht Boolean. Und denk an die Aufrufconvention. In der Regel Stdcall oder cdecl
|
Re: Mixer in Windows Vista
Nächste Frage ist dann wie ich die Interfaces überhaupt benutze.
Ich habe jetzt
Delphi-Quellcode:
Beim versuch das ganze zu benutzen:
const
IID_IMMDeviceEnumerator : TGUID = '{A95664D2-9614-4F35-A746-DE8DB63617E6}'; type IMMDeviceEnumerator = interface(IUnknown) ['{A95664D2-9614-4F35-A746-DE8DB63617E6}'] function EnumAudioEndpoints(dataFlow : EDataFlow; dwStateMask : DWord; out ppDevices : IMMDeviceCollection) : hresult; stdcall; function GetDefaultAudioEndpoint(dataFlow : EDataFlow; role : ERole; out ppDevice : IMMDevice) : hresult; stdcall; function GetDevice(pwStrID : LPCWSTR; out ppDevice : IMMDevice) : hresult; stdcall; function RegisterEndpointNotificationCallback(pNotify : IMMNotificationClient) : hresult; stdcall; function UnregisterEndpointNotificationCallback(pNotify : IMMNotificationClient) : hresult; stdcall; end;
Delphi-Quellcode:
bekomm ich einen "REGDB_E_CLASSNOTREG" Fehler.
var
var hr : hresult; pIMMDeviceEnumerator : IMMDeviceEnumerator; begin CoInitialize(nil); hr := CoCreateInstance(IID_IMMDeviceEnumerator, nil, CLSCTX_INPROC_SERVER, IMMDeviceEnumerator, pIMMDeviceEnumerator); CoUnInitialize(); end; Zitat:
Code:
EXTERN_C const IID IID_IMMDeviceEnumerator;
MIDL_INTERFACE("A95664D2-9614-4F35-A746-DE8DB63617E6") |
Re: Mixer in Windows Vista
Hi ich hab mit dem Mixer unter Vista jetzt genau das Selbe Problem.
Hat jemand dazu schon ne Lösung gefunden. Die Lösungsansätze waren ja schon ganz gut, aber leider führen Sie mich auch nicht zum erfolg ;( Für Hilfe wär ich super dankbar! |
Re: Mixer in Windows Vista
Hallo zusammen
Gibt es bereits irgendwelche Lösungen zur Mixer Steuerung unter Vista? Ich hab eine X10 Fernbedienung und will mit dieser unter anderem die Windows Lautstärke einstellen. Damals unter XP lief das alles toll, aber unter Vista klappt es halt nicht mehr. Grüße Sebastian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz