Sounds programmintern

reload

Grünschnabel
Ich habe ein Programm geschrieben, mit dem Sounds per Klick abgespielt werden.

---

Dekleration:

Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Und dann der Aufruf:

Call sndPlaySound("sound.wav", 1)

---

Dabei wird allerdings eine auf der Festplatte (hier im selben Ordner wie das Prog) vorhandene WAV-Datei aufgerufen. Jetzt meine Frage: ist es möglich, die Sounds programmintern zu verwalten? Es nervt nämlich, immer x-viele Sounddateien mitschicken zu müssen, wenn man das eigentliche Programm verschickt.

Gruß, reload
 
Es wäre theoretisch möglich, die Soundfiles direkt mit in die Anwendung zu verlinken, allerdings macht das keinen Sinn. Ob Du die Dateien direkt in das Executable mit einbindest oder nicht, ist eigentlich egal. Zusätzliche Dateien musst Du bei VB sowieso immer mitliefern und gezippt macht es keinen Unterschied, ob Deine Software nur aus einer einzigen Datei besteht oder nicht.

Selbst bei Spielen oder Betriebssystemen sind die Soundfiles separat als Wave oder MP3 abgelegt - das ist also durchaus die gängige Praxis. :)
 
Gut, es könnte auch von daher sinnvoll sein, dass mir nicht sofort jeder die Sounddateien klauen kann, die ja eigentlich für's Programm gedacht sind.

Wie dem auch sei, falls es eine einfache Lösung gibt, ich würd mich freuen.
 
Du könntest die Soundfiles schon mit in die Anwendung einbinden, allerdings nicht über den Compiler, sondern indem Du sie einfach hinten anhängst (dürfte mit dem DOS-Befehl copy gehen). Dabei bekommst Du dann aber wieder das Problem, dass Du die Soundfiles zur Laufzeit wieder aus der Anwendungsdatei herausholen musst.
Und selbst dann sind die Dateien nicht sicher. Wenn da wirklich jemand ran will, kann er sich die Dateien auch aus dem Executable herausholen.
Und wenn alle Stricke reissen, kann man immer noch den Audio-Ausgabestrom umleiten und die Soundausgabe mit einem entsprechenden Tool aufnehmen und als MP3 konvertieren.

Fazit: Wenn irgendwer die Soundfiles wirklich haben will, kann er sie sich nehmen - dabei spielt es eigentlich keine Rolle, ob sie jetzt schon als Datei vorliegen oder nicht.
 
Servus!

Geh mal in VB6 auf Add-Ins -> Addin-Manager und wähle dort mal den Resourcen Editor aus ...

Verwenden von Ressourcen im Code
Visual Basic stellt drei Funktionen zur Verfügung, um Daten aus der Ressourcendatei abzurufen und im Code zu verwenden.

Funktion Beschreibung
LoadResString Gibt eine Textzeichenfolge zurück.
LoadResPicture Gibt ein Picture-Objekt, z.B. eine Bitmap, ein Symbol oder einen Cursor zurück.
LoadResData Gibt ein Byte-Feld zurück. Wird für .wav-Dateien verwendet.


alles weitere steht in der MSDN.

Gruss Tom
 
Zuletzt bearbeitet:
@Lirion
Du scheinst echt Ahnung zu haben...

Wie kann ich denn ne' *.wav-datei meinem Projekt hinzufügen?
Und was für ein verweis muss ich zum abspielen des Sounds nutzen?

Ich kann doch nicht einfach
Call sndPlaySound("sound.wav", 1)

angeben, oder?
 

Neue Beiträge

Zurück