Autor Beitrag
InuYasha
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 31.05.18 10:36 
Moin,

nachdem ich mir nun die Finger wundgesucht und das Hirn zerbraten habe:

Ich habe vor, mittels Sharpdevelop ein Programm zu erstellen, bei dem ich z.B. mit drei Buttons drei unterschiedliche Audiodateien wiedergeben möchte. An anderer Stelle des Programms möchte ich die Lautstärke für jede Audiodatei getrennt voneinander einstellen können. Die Audiodateien sollen sich in einer .resx befinden.
Ich möchte NICHT, daß die Audiodateien als Einzeldateien auf der Festplatte sind, bzw. während der Ausführung temporär auf die Platte geschrieben werden.

Meine Frage nun:

Ist es ohne Zuhilfenahme fremder Bibliotheken etc. und ohne großen Aufwand irgendwie machbar, eine Audiodatei aus einer Resource abzuspielen und die Lautstärke selbiger zu bestimmen?
Soweit ich weiß, kann man mit dem Soundplayer zwar Resourcen wiedergeben, aber die Lautstärke nicht ändern.
Mit PlaySound bekomme ich es auch net zum Laufen.

Ich erwarte keine fertige Lösung oder so; ein paar Hinweise/Tips reichen mir schon;)

Vielen Dank schonmal;)

Gruß Inu
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 31.05.18 12:18 
Hallo und :welcome:

dies ist mit Standard-Mitteln nicht direkt möglich. Man kann entweder mit der "winmm.dll"-Funktion waveOutSetVolume die Lautstärke eines Audiogerätes generell ändern, aber nicht individuell für gleichzeitig spielende Sounds. Dafür müßtest du die Amplitude jeder Soundresource (WAV bzw. genau genommen PCM) ändern (hier ein Tutorial für das Erzeugen/Manipulieren: Making Sounds with Waves Using C#).

Ansonsten wirst du doch auf Libs wie NAudio oder Bass.Net zurückgreifen müssen...

Für diesen Beitrag haben gedankt: InuYasha
InuYasha Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 05.06.18 13:06 
Moin Th69,

vielen Dank, insbesondere für den Link zu dem Tutorial. Damit kann ich doch gut was anfangen. Ist dann zwar etwas mehr Arbeit, aber ich denke, damit bekomme ich genau das hin, was ich will^^

Gruß Inu