| |
|
|
| Hallöchen
soweit bin ich jetzt voll drin in der Prospeed WOW GENIAL- jedoch ich habe nach Deinem Beispielcode die Funktionen DSoundSetGlobalVolume(0) oder DSoundSetVolume (B,V) eingesetzt (natürlich mit richtigen Werten)
... Prospeed$=pfad$;Prospeed.dll, $I CROFANAKTUELLE PROJEKTELOSINCProspeed_Funktionen.inc prospeed&=usedll(prospeed$) ..... sd&=DSoundInit(%hwnd) text$=CrofanTest.wav buffer1&=DSoundLoad(addr(text$)) DSoundSetGlobalVolume(0)
In Deinem Beispielcode klappt alles wunderbar, jedoch bei mir kommt eine Exeption EAcces...... bei DSoundSetGlobalVolume(0) (wenn ich dieses auskommentiere klappts ohne Fehlermeldung) auch wenn ich DSoundPlay(buffer1&,0) aufrufe kommt kein Ton. Bei sd&=DSoundInit(%hwnd) sd& ergibt komischerweise einen Wert von -2147024809 ist das normal? Rolf |
|
|
| |
|
|
|
| Hi,
hab jetzt auf die Schnelle keine Idee, aber probier anstatt...
text$=CrofanTest.wav
...mal...
text$=C:/Profan/Test.wav
Könnte der berüchtigte Profan-Dateinamen-Fehler sein ) / zu benutzen anstatt ist immer sicherer und laut MS ebenfalls erlaubt.
Gruß, Frank |
|
|
| |
|
|
|
| Nee leider auch nicht Frank Aber noch besser: Wenn ich Playsound nehme Beispiel:
if equ(Collision (sprites&,wache1&,5,5) CopyExtBmp(%HDC,250,521,343,85,status2&,0,0,0) statustext$=Hier darfst Du nicht durch, solange Du nicht statustext2$=den goldenen Stein der Seele besitzt! STATUS statustext$,statustext2$ fire1&=InitSprite(fire&,%HDC,fensterkopie1&,fensterkopie2&,0,0,30,59,16,1,10,390,360,1,1) Playsound sound$,1 HIER PROBLEM DAUERT UND DAUERT sleep 1000DIES IST NICHT DAS PROBLEM DeleteSprite (fire1&) SetSpritePos (sprites&,400,390,390,380) endif
dauert es ziemlich lange bis das Feuer (erscheint kurz und dann dort der Held) weg ist und dann wird erst der Sound gespielt. Komischerweise wird BEEP oder eine Print BLABLA als Test direkt wiedergegeben. Hier ne Ahnung? HOFFENTLICH Rolf |
|
|
| |
|
|
|
| Hi,
das ist bei Playsound normal, das dauert immer so lange. Einer der Gründe, warum ich nach Alternativen gesucht hatte.
Zu deinem ersten Problem. Hast du mal versucht, ein anderes Wavefile zu probieren? Nimm mal eins aus meinem Beispielordner. Eventuell ist dein Wavefile defekt oder besitzt ein Exoten-Format.
Gruß, Frank |
|
|
| |
|
|
|
| Hmm Frank, naja so Sachen wie andere Möglichkeiten auszuprobieren oder das mit dem Backslash kenne ich ja auch. Nee ich hab mit Direktsound fast identisch mit Deiner Demo gearbeitet. Hab sogar zum Testen die Wavs aus Deiner Demo genommen. Deine Demo klappt sogar mit Gesamtlautstärke und bei mir (obwohl logische Reihenfolge der Anweisungen) eine Exeption ???? Schade - wird wirklich lustig mein Game (ala Zelda) - aber ohne Sound ??? Midi im Hintergrund klappt - aber halt die Geräusche wären doch wirklich wichtig. Rolf |
|
|
| |
|
|
|
| Hi ich wieder Hier mal ein Code zum anschauen oder Testen:
declare sd&,prospeed&,buffer1&,text$,sound&,prospeed$ declare pfad$,text$ Prospeed$=pfad$;Prospeed.dll $I CROFANAKTUELLE PROJEKTELOSINCProspeed_Funktionen.inc prospeed&=usedll(prospeed$)
sd&=DSoundInit(%hwnd) text$=C:TEST.WAV buffer1&=DSoundLoad(addr(text$)) DSoundSetGlobalVolume(500) HIER BEI MIR EINE EXEPTION print buffer1& while 1 waitinput sound&=DSoundPlay(buffer1&,0) print sound& wend DSoundUnLoad(buffer1&) Freedll buffer1&
DER NEUGIERIGE ROLF |
|
|
| |
|
|
|
| Hi,
Du weißt ja, das Addr(text$) erst ab Profan 7.0 richtig funktioniert? Ansonsten mußt du mit Bereichsvariablen arbeiten. Hab jetzt leider keine Zeit, morgen schau ich mir das ganze genauer an.
Gruß, Frank |
|
|
| |
|
|
|
| Hi klar lass Dir Zeit, Du musst Dich doch nicht abhetzten, es ist doch schon was starkes, daß Du sowas entwickelt hast. Ähm ich nutze logischerweise 7.5
Mach langsam und bleib uns gewogen Rolf |
|
|
| |
|
|
|
| Hi Rolf,
hab den Fehler jetzt gefunden.
DSoundInit(%hwnd) benutzt als Parameter ein Fensterhandle, aber du hast kein Fenster geöffnet. Ohne Fenster gibts bei mir auch einen Absturz, mit Fenster höre ich den Sample )
Aber das ist wohl meine Schuld. In der Anleitung zu ProSpeed habe ich vergessen anzugeben, das DSoundInit() überhaupt einen Parameter benutzt (schäm), das werde ich schnell nachholen.
Also, ohne Fenster auch kein Sound, ok ? Und DSoundSetGlobalVolume(500) paßt auch nicht, es sind Werte von -10000 bis 0 zulässig, aber keine Werte über Null.
Liebe Grüsse, Frank |
|
|
| |
|
|
|
| JUCHHHHUUUU Danke Frank das wars es klappt!!!! Was heist hier schuld - Nix Schuld Jetzt versuche ich noch irgendwie hinzubekommen, daß wenn der Sprite in einem bestimmten Bereich ist (Viereck aufm Fenster), daß dann was passiert - es reicht also nicht GetSpriteX (H) und GetSpriteY (H) - und dann bin ich vollstens Zufrieden. Bin am Malen wie ein Weltmeister Bis dann Rolf |
|
|
| |
|
|
|
| Hi,
prima! Eventuell hilft dir da SetSpriteCage() oder SpriteMovingRect()...
Gruß, Frank |
|
|
| |
|
|
|
| Ja Danke Frank Will nicht dieses Posting überlasten, jedoch DSoundSetVolume (B,V) sowie DSoundSetGlobalVolume (V) und auch DSoundStop (B) mit richtigen Werten! lassen eine Exeption hervorkommen. ????? V= -10000 bis 0 und B = das Handle des Sprites wie üblich. oder muss ich bei DSoundstop vorher DSoundGetNextBuffer (A) setzen? (natürlich auch mit dem richtigen Wert) Sorry, das ich soviel frage, aber Du siehst ich bin begeistert mit Deiner DLL Rolf |
|
|
| |
|
|