AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Mehrere WAVE Dateien parallel aus einer .RES-Datei abspielen
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere WAVE Dateien parallel aus einer .RES-Datei abspielen

Ein Thema von XoRiC · begonnen am 22. Apr 2009 · letzter Beitrag vom 23. Apr 2009
 
XoRiC

Registriert seit: 20. Sep 2005
43 Beiträge
 
RAD-Studio 2009 Arc
 
#1

Mehrere WAVE Dateien parallel aus einer .RES-Datei abspielen

  Alt 22. Apr 2009, 14:03
Hi,

tut mir Leid dass ich schon wieder einen Thread bezüglich WAVE Dateien starte, aber ich konnte nach knapp 30 minütigem Durchstöbern des Archivs kein entsprechendes Thema finden das mir weiterhilft.

Ich hatte anfangs für mein Projekt einige WAVE Dateien im Projekt Ordner rumliegen, widergegeben habe ich diese wie folgt:

Delphi-Quellcode:
mciSendString(PChar('open waveaudio shareable'), nil, 0, 0);
mciSendString(PChar('play "./Sound/' + FileName + '"'), nil, 0, 0);
mciSendString(PChar('close waveaudio'), nil, 0, 0);
Wichtig ist für mein Projekt, dass mehrere WAVE Dateien parallel abgespielt werden können, was hier der Fall war und wunderbar geklappt hat.
Nun habe ich mich dazu durchgerungen, die WAVE Dateien in ein(ig)e RES Datei(en) zu packen. Um sie abzuspielen verwende ich derzeit folgende Prozedur:

Delphi-Quellcode:
  var hFind, hRes: THandle;
      Song: PChar;
begin
  hFind := FindResource(HLib, PChar(SoundName), 'WAVE');
  if (hFind <> 0) then begin
    hRes := LoadResource(HLib, hFind);
    if (hRes <> 0) then begin
      Song := LockResource(hRes);
      if Assigned(Song) then SndPlaySound(Song, snd_ASync or snd_Memory);
      UnlockResource(hRes);
    end;
    FreeResource(hFind);
  end;
Das funktioniert soweit auch einwandfrei, jedoch lässt sich auf diese Weise nur immer jeweils ein Sound gleichzeitig abspielen. Soll eine neue WAVE aufgerufen werden, so muss die Wiedergabe der alten WAVE abgebrochen werden.

Ich habe einige Lösungsvorschläge gefunden. Unter anderem die Idee, die WAVE Dateien temporär wieder auf die Festplatte zu speichern. So könnte ich meinen alten Code wieder verwenden, aber besonders elegant finde ich die Lösung nicht.
In die Bass.dll müsste ich mich erst einarbeiten und meine ersten Versuche sind kläglich gescheitert.

Ich suche nun also nach einer möglichst simplen Möglichkeit, um mehrere WAVE Dateien aus einer RES Datei parallel wiedergeben zu können.

Vielen Dank für Tipps und Links,
Xoric
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz