LabVIEWForum.de - Lautstärkeeinstellungen für linken und rechten Kanal

LabVIEWForum.de

Normale Version: Lautstärkeeinstellungen für linken und rechten Kanal
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

nach langem Suchen habe ich noch immer keine Lösung für folgendes Problem gefunden:

Ich möchte beim Abspielen von Wave-Dateien oder MP3-Dateien (mciSendStringA Funktion aus winmm.dll)
den rechten Kanal und den linken Kanal lautstärkemäßig separat voneinander steuern können.
Über die Funktion mixerSetControlDetails aus der winmm.dll kann man bei beiden Kanäle zusammen die
Lautstärke ändern, jedoch nicht getrennt.
Die Funktion waveOutSetVolume aus der winmm.dll wäre vielleicht für das Abspielen von Wave-Dateien dazu geeignet, aber ich bekomme beim Aufruf ständig den Error-Code 2 (ID-Number out of Range), obwohl ein vorheriger
Funktionsaufruf mit waveOutGetNumDevs mir eine 1 liefert (also 1 Device erkennt).

Hat vielleicht jemand ein Beispiel-vi, bei dem man beide Kanäle getrennt steuern kann oder ein Lösungsvorschlag?
Vielen Dank.

Mir freundlichen Weihnachtsgrüßen
Erik
Hab' mal was ähnliches hier im Forum hochgestellt. Da sollte herausgefunden werden, ob der Ton von rechts oder von links kommt.
Vielleicht kannst Du das Bsp. anpassen.
[attachment=47861]


Gruß Markus
Danke Markus für Deine Hilfe.
Leider kann ich damit für das Abspielen von Wave- oder noch besser MP3-Dateien wenig anfangen.
Es ist gut dafür, wenn man Signale erzeugt (wie z.B. in Deinem Fall mit dem Frequenzgenerator).
Ich brauche über die winmm.dll entweder die waveoutsetvolume-Funktion (für Wave-Dateien) oder noch besser (wenn es
möglich ist) die Mixer...Funktionen (da kann ich auch mp3-Dateien abspielen).
Gibt es denn nirgendwo eine Beispiel-vi bei der man die Lautstärke getrennt steuern kann?

Mit freundlichen Grüßen
Erik
Hallo Erik,

Crossposts bitte immer per Link bekannt geben!

Warum gibst du bei NI.com plötzlich Beispiel-VIs an, die du hier nicht bereitstellst?
Hallo Gerd,

sorry das mit dem Crosspost, aber ich bin nach Suchen später (nachdem ich hier gepostet hatte) auf die einzige Möglichkeit für mein Vorhaben gekommen und wollte evtl. einige NI-Experten bei NI um Rat bitten.
Hier wurde anscheinend noch nicht das Problem für die getrennte Ansteuerung der Lautstärke über die Mixerfunktionen der winmm.dll behandelt.
Da Du ja so freundlich warst und den Link gepostet hast, brauche ich die VI und Library hier nicht nochmal anzuhängen.

Mit freundlichen Grüßen
Erik
Ich bin aber mal so frei:
[attachment=47879]
Lv70_img

Gruß Markus

(29.12.2013 19:37 )Erik01 schrieb: [ -> ]brauche ich die VI und Library hier nicht nochmal anzuhängen.
Hallo Erik,

Zitat:Hier wurde anscheinend noch nicht das Problem für die getrennte Ansteuerung der Lautstärke über die Mixerfunktionen der winmm.dll behandelt.
Warum sollte in einem LabVIEW-Forum ein Problem mit einer Windows/Microsoft-DLL behandelt werden? Hmm

Hast du dich im MSDN schon mal über diese DLL und ihre Funktionen schlau gemacht?
Welche Funktionen musst du verwenden, welche Parameter erwarten sie?
Gibt es evtl. Rechte-Probleme mit neuen Windows-Versionen?
Welche Windows-Version verwendest du überhaupt?
Hast du mal in anderen Foren (wie z.B. VisualBasic/VisualC/...) mal nach ähnlichen Fragestellungen gesucht? Welche Antworten hast du dort gefunden?
usw. usf. ...
Hallo Gerd,

meine ursprüngliche Frage in diesem Forum hier lautete:
"Hat vielleicht jemand ein Beispiel-vi, bei dem man beide Kanäle getrennt steuern kann oder ein Lösungsvorschlag?"
(in bezug auf das Abspielen von wave- und mp3-Dateien).
Da bisher 1 Lösungsvorschlag vorlag, der jedoch für die Soundgenerierung nützlich ist und weniger für das Abspielen von wave- und mp3-Dateien, habe ich weiterhin gesucht (auch in anderen Programmiersprachen-Foren).
So weit habe ich erfahren, daß (für mp3-Dateien) eben nur diese winmm.dll (mit den waveout- und mixer-Funktionen) helfen kann.
Da im NI-Forum (woher ich die volume control.llb auch gedownloaded habe) ein ähnliches Problem mal behandelt wurde (jedoch nur für Master-Volume) habe ich dort nachgefragt (in bezug auf die winmm.dll) und wurde hier wegen crosspost und Nichtangabe des Links hingewiesen. Ebenfalls wurde auch so frei die volume control.llb hier angehängt.
Es kann sein, daß ich mich irre, aber auch die mittlerweile über 220 Zugriffe auf diesen Thread deuten doch wohl darauf hin, daß ein gewisses Interesse an getrennter Lautstärkeregelung (mit Labview) besteht.
Ich habe lange gesucht, konnte aber (mit Labview) keine VI ausfindig machen, die eben dazu in der Lage wäre.
Ebenfalls habe ich mich schon mit der structure und der function (der mixer-funktionen der winmm.dll) bei MSDN befasst, jedoch fehlt mir hier noch die Erfahrung, um die Sache auch in Labview hier so zu ändern, daß die Kanäle getrennt steuerbar sind.
Falls es anders lösbar wäre (und nicht mit der winmm.dll) wäre ich natürlich auch sehr dankbar, wenn jemand hier helfen könnte.

Mit freundlichen Grüßen
Erik
Interessieren würde es mich auch, aber Plan davon habe ich leider keinen (ohne mich im Detail einlesen zu müssen).
Von daher ist Deine Frage schon OK und wenn jemand was hat, dann immer her damit. Big Grin

Gruß Markus

(31.12.2013 16:55 )Erik01 schrieb: [ -> ]Hallo Gerd,

meine ursprüngliche Frage in diesem Forum hier lautete:
"Hat vielleicht jemand ein Beispiel-vi, bei dem man beide Kanäle getrennt steuern kann oder ein Lösungsvorschlag?"
(in bezug auf das Abspielen von wave- und mp3-Dateien).
Da bisher 1 Lösungsvorschlag vorlag, der jedoch für die Soundgenerierung nützlich ist und weniger für das Abspielen von wave- und mp3-Dateien, habe ich weiterhin gesucht (auch in anderen Programmiersprachen-Foren).
So weit habe ich erfahren, daß (für mp3-Dateien) eben nur diese winmm.dll (mit den waveout- und mixer-Funktionen) helfen kann.
Da im NI-Forum (woher ich die volume control.llb auch gedownloaded habe) ein ähnliches Problem mal behandelt wurde (jedoch nur für Master-Volume) habe ich dort nachgefragt (in bezug auf die winmm.dll) und wurde hier wegen crosspost und Nichtangabe des Links hingewiesen. Ebenfalls wurde auch so frei die volume control.llb hier angehängt.
Es kann sein, daß ich mich irre, aber auch die mittlerweile über 220 Zugriffe auf diesen Thread deuten doch wohl darauf hin, daß ein gewisses Interesse an getrennter Lautstärkeregelung (mit Labview) besteht.
Ich habe lange gesucht, konnte aber (mit Labview) keine VI ausfindig machen, die eben dazu in der Lage wäre.
Ebenfalls habe ich mich schon mit der structure und der function (der mixer-funktionen der winmm.dll) bei MSDN befasst, jedoch fehlt mir hier noch die Erfahrung, um die Sache auch in Labview hier so zu ändern, daß die Kanäle getrennt steuerbar sind.
Falls es anders lösbar wäre (und nicht mit der winmm.dll) wäre ich natürlich auch sehr dankbar, wenn jemand hier helfen könnte.

Mit freundlichen Grüßen
Erik
Hallo Erik,

gesundes Neues Jahr erstmal...

Zitat:Da bisher 1 Lösungsvorschlag vorlag, der jedoch für die Soundgenerierung nützlich ist und weniger für das Abspielen von wave- und mp3-Dateien
Wo ist für dich der Unterschied zwischen "Soundgenerierung" und "Abspielen von WAV-Dateien"? Siehst du da einen?

LabVIEW bietet eine Funktion "Lautstärke einstellen" in der Audio-Funktionspalette. Diese Funktion arbeitet, so wie sie verfügbar ist, mit nur einem Master-Volume.
ABER: man kann ja mal einen Blick ins Blockdiagramm riskieren! Und siehe da: da ist ein subVI versteckt, welches eine Lautstärke für jeden Kanal erwartet!
Warum verwendest du also nicht einfach dieses VI? Hmm

Zitat:Ebenfalls habe ich mich schon mit der structure und der function (der mixer-funktionen der winmm.dll) bei MSDN befasst, jedoch fehlt mir hier noch die Erfahrung, um die Sache auch in Labview hier so zu ändern, daß die Kanäle getrennt steuerbar sind.
Warum schreibst du nicht einfach deine Erkenntnisse hier auf? Warum sollen wir uns durch die MSDN-Doku wühlen, wenn du das schon gemacht hast? Es gibt hier Leute wie RolfK, die sich wirklich gut mit dem Umgang mit externen DLLs auskennen - die helfen gern, wenn konkrete Fragen kommen. Aber einfach (sinngemäß) zu schreiben "Wer hat eine fertige Lösung für mich?", ist selten hilfreich...

Zitat:Da im NI-Forum (woher ich die volume control.llb auch gedownloaded habe) ein ähnliches Problem mal behandelt wurde (jedoch nur für Master-Volume) habe ich dort nachgefragt (in bezug auf die winmm.dll) und wurde hier wegen crosspost und Nichtangabe des Links hingewiesen.
Crossposts werden auch im NI-Forum (oder besser: "in jedem Forum") nicht gern gesehen. Warum soll man sich die Mühe machen, etwas zu beantworten, wo der Fragende evtl. schon ganz woanders eine Antwort bekommen hat? Eigene Hinweise auf Crossposts haben etwas mit Höflichkeit und Respekt ggü. den potentiellen Hilfegebern zu tun, unabhängig von irgendwelchen Forumregeln (die man natürlich trotzdem befolgen sollte)...

Zitat:mittlerweile über 220 Zugriffe auf diesen Thread deuten doch wohl darauf hin, daß ein gewisses Interesse an getrennter Lautstärkeregelung (mit Labview) besteht. Ich habe lange gesucht, konnte aber (mit Labview) keine VI ausfindig machen, die eben dazu in der Lage wäre.
Wie du selbst bemerkt hast: Interesse ist durchaus vorhanden - wer weiß, wozu man eine solche Funktion mal benötigt. Big Grin
Aber wie du auch gesehen hast: bisher gab es wohl nur sehr wenige Personen, die eben diese Funktion wirklich brauchten...
Seiten: 1 2
Referenz-URLs