.| Autor | Beitrag |
|---|---|
|
000 29.01.2007, 17:52 JohnLeDon |
Ich möchte, dass mein dialog System direkt von der Datei aus Sounds abspielen kann. Diese müssen nicht "3D" sein, sie müssen halt einfach abgespielt werden. etwa so: ich habe nachgeguckt: es gibt das ambient_generic entity, aber das ist ja ein entity, das ich dann per output steuern müsste. Diese werden aber für anderes gebraucht. Ich möchte direkt einen Sound abspielen... Im Code von valve hab ich unter PlaySound gesucht aber nichts rechtes gefunden. Weiss jemand wie ich vom Code aus ein .wav file abspielen kann? (Der "Befehl" PlayGenericSound oben...) thanx --Dieser Beitrag wurde am 29.01.2007 um 17:53 von JohnLeDon bearbeitet. |
|
Profil || Suche |
|
001 29.01.2007, 18:17 feigling |
Guck doch, wie das ambient_generic aufgebaut ist und welche Funktionen dieses aufruft. Irgendwelche Functionen zur Soundausgabe wird das ambient_generic auch verwenden. -- |
|
Profil || Suche |
|
002 30.01.2007, 10:05 cinteX. |
Der Befehl im Code heisst Such mal danach. mfg -- |
|
Profil || Suche |
|
003 30.01.2007, 19:04 JohnLeDon |
Ok mit emitsound sollte was machbar sein. Das Problem ist, das es das zeug precached haben will. Da der sound vom dialogsystem aus mit Play "myfile.wav" abgespielt werden soll und der dialog scripter sich nicht mit prechache-files rumschlagen sollte, muss es irgendwie möglich sein, das OHNE Precache zu machen. Weiss irgend jemand ob das geht und wie? Mit EmitSound("mysound.wav") gehts ja schon halbwegs, es sagt dann einfach "mysound.wav is not precached (0)"... thanx btw. im code gibts kein einziges EmitSound, ich hab "Das ganze Projekt durchsuchen" angeklickt... --Dieser Beitrag wurde am 30.01.2007 um 19:09 von JohnLeDon bearbeitet. |
|
Profil || Suche |
|
004 30.01.2007, 19:51 feigling |
Ka, wie du suchst, aber wenn ich nach EmitSound suche, finde ich alleine in src\cl_dll 73 Mal EmitSound. src\cl_dll\sdk\sdk_hud_weaponselection.cpp(756): pPlayer->EmitSound( "Player.WeaponSelectionMoveSlot" ); Ka, ob du die Datei kurz vor dem Abspielen Precachen kannst. Musst du alles ausprobieren und schauen, wie PrecacheScriptSound() aussieht. Zur Not musst du halt alle Sounds vom Scriptfile precachen bei dem Mapload. --Dieser Beitrag wurde am 30.01.2007 um 19:52 von feigling bearbeitet. |
|
Profil || Suche |
|
005 31.01.2007, 10:54 oxff |
Nicht zur not sondern realistischerweise. Denn wozu precachen wir? Richtig, damit man die Sounds direkt beim Abspielen schon geladen hat und sich nicht mit Disk I/O und decoden einen abbricht. Daher: alle verwendeten Sounds beim Mapload precachen und dann bei Gelegenheit im Null-Komma-Nix abspielen können. --mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik |
|
Profil || Suche |
|
006 31.01.2007, 13:40 JohnLeDon |
-- |
|
Profil || Suche |
|
007 31.01.2007, 13:43 JohnLeDon |
naja, es precached ja damit der sound GLEICH abgespielt wird. darum machts einen darum frag ich, ob man das nicht ohne precache machen kann. geladen wird der sound ja trotzdem immer, die ersten 125 millisecs werden halt gleich abgespielt, "normalerweise"... -- |
|
Profil || Suche |
|
008 31.01.2007, 15:21 Bluthund |
Sry aber "finde ich nicht so wichtig" und "merkt niemand" sind keine Einstellung im Bezug auf Coding. Die Leute die sich das System ausgedacht haben, haben es ja auch nicht "zum Spaß" eingebaut. 0xFF hat schon den richtigen Grund angegeben: Disk I/O und das Dekodieren der Sounddaten. Nur weil es bei dir 0,1s sind, heißt das nicht das es bei Spieler A nicht vielleicht 0,01s und bei Spieler B 2s sind. Irgendwann benutzt du vielleicht auch mal eine etwas größere Sounddatei oder deine Festplatte hat gerade einen anderen Zugriff zu verarbeiten, dann wartest du auch länger auf die angeforderten Daten. Daher Precache beim Mapload. -- The C language combines all the power of assembly language with all the ease-of-use of assembly language. |
|
Profil || Suche |

