Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
21.05.2012, 12:28:12
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  WinAPI Forum
| | |-+  Audio Mixer
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Audio Mixer  (Gelesen 3489 mal)
Horst Kniebusch
Hero Member
*****
Offline Offline

Beiträge: 611


128288739
WWW
« am: 05.03.2002, 22:12:13 »

Hi,

Kann mir jemand sagen, wie ich die MixerControls aus der Unit mmsystem einsetze? Ich habe dazu eine Beschreibung in dem Microsoft Multimedia Programmierhandbuch gefunden, weis jedoch nicht, wie ich es einsetzen soll da alles in C++ ist.

Vielen Dank
Gespeichert

[img src=\"http://www.againsttcpa.com/images/AgainstTCPA-Log01Small.gif\"]
Lemy
Hero Member
*****
Offline Offline

Beiträge: 605



« Antworten #1 am: 06.03.2002, 12:35:23 »

Na so kompliziert ist C++ auch wieder nicht. Wo genau liegt denn das Problem, das Handbuch hab ich leider nicht.
Gespeichert
Horst Kniebusch
Hero Member
*****
Offline Offline

Beiträge: 611


128288739
WWW
« Antworten #2 am: 06.03.2002, 15:35:07 »

Hi Lemy,

Das Microsoft Multimedia Programmierhandbuch ist in Form einer HLP Datei im Lieferumfang von Delphi enthalten.

Guck einfach mal im Startmenü in deinem Delphi Ordner. Dort findest Du einen Unterordner Namens "Hilfe".  Und in diesem Unterordner findest Du wiederum einen Ordner mit dem Namen "Hilfedateien des MS-SDK". Gleich an erster Stelle steht dort das Microsoft Multimedia Programmierhandbuch.

Hoffe DU kannst mir helfen.

ciao
Gespeichert

[img src=\"http://www.againsttcpa.com/images/AgainstTCPA-Log01Small.gif\"]
MrSaint
Sr. Member
****
Offline Offline

Beiträge: 472



WWW
« Antworten #3 am: 06.03.2002, 15:57:24 »

Kannst du uns sagen, wo genau man das zeugs (halt in C++) findet? ich find da nämlich nix :(
Gespeichert

Follow the reaper and keep on rocking ;)
Horst Kniebusch
Hero Member
*****
Offline Offline

Beiträge: 611


128288739
WWW
« Antworten #4 am: 06.03.2002, 16:23:43 »

Hi,

also bei mir wäre das

Start - Programme - Borland Delphi 5 - Hilfe - Hilfedateien des MS-SDK

Dort findest Du dann das Microsoft Multimedia Programmierhandbuch.

ciao
Gespeichert

[img src=\"http://www.againsttcpa.com/images/AgainstTCPA-Log01Small.gif\"]
MrSaint
Sr. Member
****
Offline Offline

Beiträge: 472



WWW
« Antworten #5 am: 06.03.2002, 16:30:30 »

schon..... aber wie muss ich im geöffneten Programmierhandbuch vorgehen, um den artikel zum einbinden zu finden?
Gespeichert

Follow the reaper and keep on rocking ;)
Thomas Stutz
Global Moderator
Hero Member
*****
Offline Offline

Beiträge: 1784



WWW
« Antworten #6 am: 06.03.2002, 16:45:26 »

@Horst:

Das "Microsoft Multimedia Programmierhandbuch" ist ziemlich umfangreich.
Was möchtest du denn genau machen/Welche Funktionen interessieren dich ?

Es gibt ein paar Mixer-Funktionen:

mixerOpen
mixerGetLineInfo
mixerClose
mixerGetControlDetails
mixerGetDevCaps
mixerGetID
mixerGetLineControls
mixerGetNumDevs
mixerMessage
mixerSetControlDetails

Und dann diverse gibt's Strukturen, welche man mit Werten füllen muss.


Hab mal ein Beispiel gefunden, welches die Lautstärke des Mikrofons
auslist und setzt. Vielleicht gibt's dir einen Anstoss, wie solche Mixer-
Funktionen zu verwenden sind.

[font size=2 face="Courier New"][font color="#000000"]procedure TForm1.Button1Click(Sender: TObject);
var
  
hMix: HMIXER;
  mxlc: MIXERLINECONTROLS;
  mxcd: TMIXERCONTROLDETAILS;
  vol: TMIXERCONTROLDETAILS_UNSIGNED;
  mxc: MIXERCONTROL;
  mxl: TmixerLine;
  intRet: Integer;
begin
  
intRet := mixerOpen(@hMix, 0, 0, 0, 0);
  if intRet = MMSYSERR_NOERROR then
  begin
    
mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE;
    mxl.cbStruct        := SizeOf(mxl);

    intRet := mixerGetLineInfo(hMix, @mxl, MIXER_GETLINEINFOF_COMPONENTTYPE);

    if intRet = MMSYSERR_NOERROR then
    begin
      
mxlc.cbStruct      := SizeOf(mxlc);
      mxlc.dwLineID      := mxl.dwLineID;
      mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_VOLUME;
      mxlc.cControls     := 1;
      mxlc.cbmxctrl      := SizeOf(mxc);

      mxlc.pamxctrl := @mxc;

      intRet := mixerGetLineControls(hMix, @mxlc, MIXER_GETLINECONTROLSF_ONEBYTYPE);

      if intRet = MMSYSERR_NOERROR then
      begin
        
label1.Caption := mxlc.pamxctrl.szName;
        Label2.Caption := IntToStr(mxc.Bounds.dwMinimum) + '-]' +
                          IntToStr(mxc.Bounds.dwMaximum);

        mxcd.dwControlID    := mxc.dwControlID;
        mxcd.cbStruct       := SizeOf(mxcd);
        mxcd.cMultipleItems := 0;
        mxcd.cbDetails      := SizeOf(Vol);
        mxcd.paDetails      := @vol;
        mxcd.cChannels      := 1;

        vol.dwValue := mxlc.pamxctrl.Bounds.lMinimum;

        intRet := mixerSetControlDetails(hMix, @mxcd, MIXER_SETCONTROLDETAILSF_VALUE);

        if intRet <> MMSYSERR_NOERROR then
          
label1.Caption := 'SetControlDetails Error';
      end
      else
        
label1.Caption := 'GetLineInfo Error';
    end;

    intRet := mixerClose(hMix);
  end;
end;

[/font][/font]
Gespeichert

(¯`·._tom_.·´¯)

Tipp: Viele Antworten auf Fragen gibt's hier:
http://www.swissdelphicenter.ch/de/tipsuchen.php
Lemy
Hero Member
*****
Offline Offline

Beiträge: 605



« Antworten #7 am: 06.03.2002, 16:58:31 »

Also ich finde weder in D4 noch in D6 noch in BCB4 eine solche Datei.
Wie heisst denn das Help-File (Filename) genau?
Gespeichert
Horst Kniebusch
Hero Member
*****
Offline Offline

Beiträge: 611


128288739
WWW
« Antworten #8 am: 06.03.2002, 18:00:33 »

@ Lemy

Die Datei nennt sich mmedia.hlp.

Danke erstmal für den Code. Muss mir das ganze mal genauer angucken, vielleicht kann ich es ja verwenden.


@ MrSaint

Ich brauche alle nur erdenklichen Mixeroptionen. Da wären z.B. Bass, Treble, Pan, Mute etc.

Finden tust Du diese unter Audio Mixers -] Control Types
und dann halt das entsprechende Control.

thx
Gespeichert

[img src=\"http://www.againsttcpa.com/images/AgainstTCPA-Log01Small.gif\"]
Thomas Stutz
Global Moderator
Hero Member
*****
Offline Offline

Beiträge: 1784



WWW
« Antworten #9 am: 12.03.2002, 10:11:07 »

Hi,

Hier findest du noch etwas Code für die MixerControls:
(Ist zwar in C aber das sollte sich übersetzen lassen:)

[a href="http://pcbunn.cithep.caltech.edu/jjb/MixerControl.txt" target="_blank"]http://pcbunn.cithep.caltech.edu/jjb/MixerControl.txt[/a]

und:

[a href="http://www.borg.com/~jglatt/tech/mixer.htm" target="_blank"]http://www.borg.com/~jglatt/tech/mixer.htm[/a]
Gespeichert

(¯`·._tom_.·´¯)

Tipp: Viele Antworten auf Fragen gibt's hier:
http://www.swissdelphicenter.ch/de/tipsuchen.php
Thomas Stutz
Global Moderator
Hero Member
*****
Offline Offline

Beiträge: 1784



WWW
« Antworten #10 am: 12.03.2002, 11:57:13 »

Jetzt hab ich glaub was passendes gefunden:
(diesmal ist der Code in Delphi)

[a href="http://www.toolbox-mag.de/data/mixupdate.zip" target="_blank"]http://www.toolbox-mag.de/data/mixupdate.zip[/a]
Gespeichert

(¯`·._tom_.·´¯)

Tipp: Viele Antworten auf Fragen gibt's hier:
http://www.swissdelphicenter.ch/de/tipsuchen.php
Horst Kniebusch
Hero Member
*****
Offline Offline

Beiträge: 611


128288739
WWW
« Antworten #11 am: 13.03.2002, 15:11:55 »

Danke, ich gucks mir mal an.
Gespeichert

[img src=\"http://www.againsttcpa.com/images/AgainstTCPA-Log01Small.gif\"]
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS