| Autor |
Beitrag |
Querkopf
      
Beiträge: 31
Win XP SP2
Turbo Delphi 2006 Explorer
|
Verfasst: Di 25.03.03 19:36
Hallo,
wenn ich den Code der Schweizer
www.swissdelphicente...showcode.php?id=1086
benutze, erfolgt bei einem Test leider ein Fehler an folgender Stelle :
Quelltext 1: 2: 3: 4: 5:
| Rslt := mixerGetLineControls(Mixer, @MixerLineControls, MIXER_GETLINECONTROLSF_ONEBYTYPE); if Rslt <> 0 then raise Exception.CreateFmt('Can''t find peak meter control (%d)', [Rslt]); |
Es ist natürlich kein Fehler im Quelltext, ich würde nur gerne wissen, wie ich das Programm dazu bringe, einen Peakmeter Control zu finden.
Wenn jemand eine andere Möglichkeit kennt, wie ich die Lautstärke eines WaveOutDevice herausbekomme, wäre ich ebenfalls dankbar. Allerdings *nicht* die Lautstärke, die eingestellt ist in der Lautstärkeregelung, sondern den jeweils aktuellen Pegel z.B. einer Wave- oder mp3-Datei.
Ich sollte das bis Samstag hinbekommen haben, denn Discolichter per Zufall (oder Programm, was auch noch nicht in mein Proggie implementiert ist) zu schalten, ist nut beschränkt Party tauglich  .
I hoff, mr ko gholfa wärra. Danksche
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Fr 28.03.03 18:10
Ich glaube, das geht mit WaveIn. Man muss halt in der Systemsteuerung den Eingang auf Loop stellen.
Ich habe da ein Beispiel namens "WaveIn Beispiel von Jérôme Thormann", du solltest mal googeln.
Mit WaveIn kann man den Pegel nicht direkt lesen, sondern nur aufnehmen und dann auswerten. Dürfe aber deinen Anforderungen genügen.
PS: Mach dir nix draus... Ich habe 'nen SB Audigy für über 100€, und selbst mit der Karte funzt's nicht (wie du es oben beschreiben hast). WaveIn geht immer.
_________________ Life is a bad adventure, but the graphic is really good!
|
|
Querkopf 
      
Beiträge: 31
Win XP SP2
Turbo Delphi 2006 Explorer
|
Verfasst: Sa 29.03.03 11:03
Hallo
danke für Deine Antwort, das mit WaveIn klappt gut, ich habe nur ein Problem damit: es ist sehr schnell beim maximalen Ausschlag. D.h. ich müsste in der Lautstärkeregelung die Lautstärke des WaveIn auf fast 0 machen, damit sich eine benutzbare Kurve ergibt. Das Leiserstellen wiederum ergibt natürlich keinen guten Klang, wenn man den OutPut mit einer Anlage verstärkt.
Weisst Du da vielleicht Rat?
Gruss, Pierre
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Sa 29.03.03 11:48
Nee, das check' ich jetzt nicht. Ganz langsam: Die maximale Amplitude ist dir also zu hoch? Wenn das so ist: Hier das PCM-Format:
8-Bit: Die Daten bestehen aus "unsigned Byte", also BYTE. Du müsstest den Wert durch 128 Teilen und 1 abziehen (mit Gleitkomma!). Dann wären 1.0 und -1.0 maximale Amplitude, 0.0 wäre halt nix.
16-Bit: "signed Word", also SmallInt. Amplitude durch $7FFF teilen. Amplitude 1 oder -1 = vollausschag.
Oder leigt das Prob wo anders, ich versteh die Frage nicht so ganz...
Ich würde dir übrigens ein anderes Format empfehlen, als in der Demo (44.1kHz, 16Bit, Mono): es langt eine Samplingrate von ~8000, da du ja nur die Beats brauchst. Außerdem langen 8-Bit Mono locker. Außer du willst diene Lichteffekte in Stereo
PS: Heute ist Samstag... Ranhalten!
_________________ Life is a bad adventure, but the graphic is really good!
|
|
Querkopf 
      
Beiträge: 31
Win XP SP2
Turbo Delphi 2006 Explorer
|
Verfasst: Sa 29.03.03 12:41
Hi
Ich hab mir den Wert von PArrayBuf(hdr.lpData^[0] und ^[i] ausgeben lasssen ausgeben lassen
Quelltext 1: 2:
| form2.Canvas.MoveTo(0,PArrayBuf(hdr.lpData)^[0]); for i:=0 to hdr^.dwBytesRecorded-1 do form2.Canvas.lineTo(round(r*i),PArrayBuf(hdr.lpData)^[i]); |
ich versuchs mal mit deinem Hinweis, danke
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: So 06.07.03 20:02
Hallo,
sorry, dass ich dir damals nicht helfen konnte. Hast du's hingekriegt? Wie dem auch sei, ich habe mich jetzt mal in das Thema vertieft, und einen ganz tollen, aber simplen Peak-Meter gecodet, der auf WaveIn basiert, also immer tun sollte. Wenn du willst, schicke ich dir das Delphi-Projekt per eMail. Es "mittelt" die Werte (Stereo), so dass sie nicht so schnell auf- und abspringen. Dei Samstag ist rum, aber villeicht interessiert es dich ja immer noch.
_________________ Life is a bad adventure, but the graphic is really good!
|
|
Querkopf 
      
Beiträge: 31
Win XP SP2
Turbo Delphi 2006 Explorer
|
Verfasst: Mo 07.07.03 15:54
Hi
ja gerne, hatte nur die letzten 3 Monate aufgrund meines Studíums nicht mehr die Zeit mich weiter um das Projekt zu kümmern, da ich andere Programme fürs Studium schreiben musste, die teilweise ziemlich zeitraubend waren. Deswegen habe ich mich erstmal nicht weiter mit diesem Thema beschäftigt. Also, ich bin natürlich weiter daran interessiert, ich hatte es auch schon auf ähnlicher Weise probiert, war aber leider nicht sehr erfolgreich, also wenns mit deiner Version funktioniert, wäre prima, eMail steht ja unten.
Gruss und danke im Voraus, Pierre
|
|
torstenheinze
      
Beiträge: 461
|
Verfasst: Sa 27.09.03 18:32
@Andreas
könntest du mir das programm auch senden?
das wäre sehr net, denn ich höcke auch über so einem problem
meine email: torsten.heinze.de@web.de
|
|
MenthalMan
Hält's aus hier
Beiträge: 5
|
Verfasst: Do 20.11.03 22:05
Titel: mir bitte auch...
Hi Sorry das ich jetzt erst etwas zu diesem Thread schreibe aber ich hatte mich die tage mit dem gleichen Qulltext ausseinander gesetz und bin zu keinem Brauchbaren ergebnis gekommen.
Ich bin schon fast am verzweifeln
MenthalMan@t-online.de
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Do 20.11.03 22:22
Hallo,
welcher Code: das mit dem Mixer oder mit WaveIn? Wenn du WaveIn meinst, da könnte ich dir die neue Version meines VuMeters emailen! Eigneltich sollte der schon auf meiner neuen Homepage sein, aber FTP tut grade nicht, die haben Serverprobleme...
Wie dem auch sei: Wenn du es über den Mixer machen willst: Das ist Hardwareabhängig, ich denke mal, das können die wenigsten Soundkarten (ich weiß es nicht genau). Also auch VÖLLIG ungeeignet, wenn du das im Internet publizieren Willst. Mit WaveIn() ist das zwar einiges schwieriger, aber es tut auf JEDEM Rechner.
_________________ Life is a bad adventure, but the graphic is really good!
|
|
GIGI
Hält's aus hier
Beiträge: 8
Win2003 Server Enterprise, Suse Linux 9.1
D6 Prof, D7 Enterprise, Kylix 3 Enterprise/Open Edition
|
Verfasst: Do 27.11.03 21:07
Titel: Datei Fehlt
@Andreas Pfau
Hi ich hab mir das Peak Meter von deiner Hompage geladen aber da fehlt die datei vumeter.dcu
Währe sehr net wenn du mir die Datei per E-Mail senden könntest
GigerlMartin@web.de
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Do 27.11.03 22:10
Hallo,
 peinlich
Aber Danke, dass du micht drauf hingewiesen hast. Ich habe da die falsche Unit miteingebunden. Einfach nochmal neu runterladen, ist jetzt up2date.
Ich habe einfach nur die PAS eingebunden, die DCU braucht man nicht, es soll ja OpenSource sein.
PS: Toll, dass ich mal Hits auf der Site kriege... sag, wurde alles korrekt dargestellt? Browser sind meine ärgsten Feinde...
_________________ Life is a bad adventure, but the graphic is really good!
|
|
GIGI
Hält's aus hier
Beiträge: 8
Win2003 Server Enterprise, Suse Linux 9.1
D6 Prof, D7 Enterprise, Kylix 3 Enterprise/Open Edition
|
Verfasst: Sa 29.11.03 12:27
Ich benutze leider nur den IE 6.0 aber mit dem hat alles funktioniert
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Sa 29.11.03 12:51
Hallo,
macht ja nix, wenigstens es klappt - und die Downloads funktionieren....
_________________ Life is a bad adventure, but the graphic is really good!
|
|
Gandalfus
      
Beiträge: 129
|
Verfasst: Sa 29.11.03 13:21
mit der bass.dll kann man auch schön eine Visualisierung realisieren
www.delphipraxis.net...p;highlight=bass+dll
_________________ Wennn man feststellt, dass es drei Moeglichkeiten gibt, die einen Vorgang schiefgehen lassen koennen und man diese ausschaltet, entstehen automatisch drei neue Moeglichkeiten.
|
|