Deutsch
Forum

DSoundSetGlobalVolume(0) u.s.w

 
- Seite 1 -


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
 
20.04.2004  
 



 
- Seite 1 -


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
 
20.04.2004  
 



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
 
20.04.2004  
 



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
 
20.04.2004  
 



Hi,

prima!
Eventuell hilft dir da SetSpriteCage() oder SpriteMovingRect()...

Gruß, Frank
 
20.04.2004  
 



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
 
20.04.2004  
 



 
- Seite 2 -


Hi,

äh, bist du sicher, das du die Anleitung richtig durchgelesen hast...?
Was hat Parameter B mit Sprites zu tun ???
B steht für...

B : Long - Zeiger auf einen Buffer, der von DSoundPlay() übergeben wurde.

Also zuerst b&=DSoundPlay(...), jetzt bekommst du die Adresse eines Buffers zurück, die die Sounddaten enthält. Die anderen DSound-Funktionen benutzen diesen Buffer dann zum abspielen...

Du überlastest das Forum nicht, dafür ist es ja da !
Ich bin happy, das dir ProSpeed so gut gefällt )

Gruß, Frank
 
20.04.2004  
 



OHHH Mist verschrieben -
natürlich meinte ich nicht Sprite
- Ich meinte natürlich B= Zeiger auf den Buffer.
Das kommt davon, wenn man seine Gedanken überall und nirgendwo hat
Rolf
 
20.04.2004  
 



Hi OK hast recht - es ist immer besser ein Beispiel zu posten:
KompilierenMarkierenSeparieren
declare sd&,prospeed&,buffer1&,text$,sound&,prospeed$
declare pfad$,text$,b&
Prospeed$=pfad$;"Prospeed.dll"
 $I C:PROFANAKTUELLE PROJEKTELOSINCProspeed_Funktionen.inc
prospeed&=usedll(prospeed$)
CLS					FENSTER damit es klappt  [img]http://img.webmart.de/w/f2/7.gif[/img]
Windowtitle ".. hmm warum gehts so nicht?"
DSoundSetGlobalVolume(-575)		HIER EXCEPTION ????? WARUM ???
sd&=DSoundInit(%hwnd)
text$="C:TEST.WAV"
buffer1&=DSoundLoad(addr(text$))
DSoundSetGlobalVolume(500) HIER BEI MIR EINE EXEPTION
print buffer1&
print "Enter Sound an | Escape Sound aus"

while 1

    waitinput

    if equ(%scankey,13)

        b&=sound&=DSoundPlay(buffer1&,1)	LOOP
        print "SOUND!  [img]https://img.webmart.de/w/f2/1.gif[/img] "

    elseif equ(%scankey,27)

        DSoundStop(b&)				HIER EXCEPTION ????? WARUM ???
        print "Nix Sound  [img]https://img.webmart.de/w/f2/2.gif[/img] "

    endif

wend

DSoundUnLoad(buffer1&)
Freedll buffer1&

und noch was:
Mit den Koordinaten (Sprite innerhalb eines Rechtecks) geht nicht mit Deinen Anweisungen, da ich es so meine, als wenn die Maus (also hier das Sprite) innerhalb des Rechtecks ist.
Aber ich hab mir so geholfen:
1.) einfarbiges Dummysprite erstellt.
2.) Dort plaziert wo die Abfrage sein soll
3.) mit Collide(H,H) auf Berrührung abgefragt und
YEHA es funktioniert.
Bis dann
RocknRolf
 
20.04.2004  
 



Ähh wie immer - Kopierfehler:
b&=sound&=DSoundPlay(buffer1&,1) LOOP
muss natürlich bedeuten:
b&=DSoundPlay(buffer1&,1) LOOP

... und vergiß nicht das auskommentierte wegzumachen.

So jetzt aber
Rolf
 
20.04.2004  
 



JAAAA - Brauchst nicht mehr zu kucken
Alles klar vielleicht war das der Fehler b&=sound&
(vielleicht sollte man nicht soviel kopieren )
Jetzt gehts
KompilierenMarkierenSeparieren
declare sd&,prospeed&,buffer1&,text$,sound&,prospeed$
declare pfad$,text$,b&
Prospeed$=pfad$;"Prospeed.dll"
 $I C:PROFANAKTUELLE PROJEKTELOSINCProspeed_Funktionen.inc
prospeed&=usedll(prospeed$)
CLS
Windowtitle ".. hmm warum gehts so nicht?"
sd&=DSoundInit(%hwnd)
text$="C:TEST.WAV"
buffer1&=DSoundLoad(addr(text$))
DSoundSetGlobalVolume(-1000)
print buffer1&
print "Enter Sound an | Escape Sound aus"

while 1

    waitinput

    if equ(%scankey,13)

        b&=DSoundPlay(buffer1&,1)	LOOP
        print "SOUND!  [img]https://img.webmart.de/w/f2/1.gif[/img] "

    elseif equ(%scankey,27)

        DSoundStop(b&)
        print "Nix Sound  [img]https://img.webmart.de/w/f2/2.gif[/img] "

    endif

wend

DSoundUnLoad(buffer1&)
DSoundDeInit()
Freedll buffer1&

Aber vielleicht holst Du hier (evtl. bisschen erweitern) daß als Exemple in Deine Hilfe
Rolf
 
20.04.2004  
 



Hi Rolf,

hast du jetzt alles soweit hinbekommen?

Du hast recht, ein kleines Beispiel wäre nicht schlecht, ich bin auch sehr gerne bereit, Sourcecodes von euch aufzunehmen, nur her damit...

Eine Dll zu programmieren ist manchmal echt Horror. Die Dll hat ihren eigenen Code, klappt aber nicht, ohne das ganze in Profan dann zu testen. Also immer Sourcecodes gleichzeitig zu erweitern. Und noch Beispielprogramme und die Anleitungen, puh...
Aber Spaß machts trotzdem.

Schon mal probiert, bei deinem Beispiel öfter die Entertaste zu drücken )

Gruß, Frank
 
20.04.2004  
 



Jawohl Frank,
jetzt ist alles i.O
Das mit dem Enter ist stark!
Also, bis dann und weiterhin Hipp Hipp Prospeed!
Rolf
 
20.04.2004  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.221 Betrachtungen

Unbenanntvor 0 min.
Gast.081524.07.2024
H.Brill11.12.2021
Sven Bader30.06.2021
p.specht07.04.2017
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (19x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie