Sound per Button?

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

AngelNox

Betreff: Sound per Button?

BeitragDi, Jul 19, 2005 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo !

Wie gebe ich Sound Per Button aus:

Code: [AUSKLAPPEN]

window =CreateWindow("Window",0,0,200,200,0,9)
button1=CreateButton("Play",20,020,100,30,window,1)
 

Datei="C:\Programme\BlitzPlus\help\commands\Music Lizenz Free\echos.mp3"
If ButtonState(Button1) = 1 Then Modus =0
If ButtonState(Button1) = 0 Then Modus =2
 

ID =Datei
ID=CHN
CHN = PlaySound(SND)

If ButtonState(Button1) = 1 Then PlaySound (SND)

           

WaitKey()
MFG
AngelNox

simi

BeitragMi, Jul 20, 2005 10:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Also,
1. das ganze muss in eine Schleife
2. du musst mit ql:WaitEvent abfragen, ob der Button gedrückt wird.
3. Der Soung muss vor der Schleife mit ql:LoadSound geladen werden.
4. Wenn der Button gedrückt wird, dann spielst du den Sound mit ql:PlaySound ab
5. fertig ! Very Happy
 

AngelNox

BeitragMi, Jul 20, 2005 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!
Kann mir mal jemand sagen warum das mit dem ResumeChannel nicht funzt Sound Abspielen und Stoppen klappt aber nach dem Stoppen geht nix mehr ?


BlitzBasic: [AUSKLAPPEN]

window=CreateWindow(\"Sound Example\",20,20,200,200)
button=CreateButton(\"Play\",10,10,100,30,window)
button1=CreateButton(\"Stop\",10,50,100,30,window)
button2=CreateButton(\"Weiterspielen\",10,90,100,30,window)


Sound=LoadSound(\"C:\Programme\BlitzPlus\help\commands\Music Lizenz Free\echos.mp3\")
Channel= PlaySound (Sound)


Select WaitEvent()
Case $401


If EventSource() = Button Then PlaySound (channel)
If EventSource() = Button1 Then StopChannel (channel)
If EventSource() = Button2 Then ResumeChannel (channel)

End Select

Repeat
id=WaitEvent()
Select id

Case $803 :Notify \"Programm Schliessen\":End

End Select
Forever

MFG
AngelNox

simi

BeitragMi, Jul 20, 2005 16:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du den Sound mit StopChannel angehalten hast, musst du ihn wieder mit PlayChannel neu abspielen lassen....
 

AngelNox

BeitragMi, Jul 20, 2005 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Simi!

Beschreibung
Dieser Befehl lädt eine Hintergrundmusik und spielt die sofort ab. Nachdem die Musik abgespielt wurde, wird der Speicher freigegeben und die Musik muss erneut mit PLAYMUSIC gestartet werden. Allerdings kann immer nur eine Musik mit diesem Befehl gleichzeitig abgespielt werden.

ber Parameter "Modus" kann ein Sound automatisch angehalten werden. Erst nach RESUMECHANNEL wird es weiter abgespielt.

So steht es in der beschreibung?
MFG
AngelNox

simi

BeitragMi, Jul 20, 2005 16:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Wir reden hier nicht von ql:PlayMusic, sondern von ql:PlaySound .....

ResumeChannel ist dafür, dass man nach PauseChannnel, weitermachenn kann....
 

AngelNox

BeitragMi, Jul 20, 2005 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
und wie mach ich nach StopChannel weiter, ich habe schon nach PlayChannel gesucht aber nicht gefunden?
MFG
AngelNox

simi

BeitragMi, Jul 20, 2005 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry....

Meinte es gibt PlayChannel du musst aber ql:PlaySound verwenden....
 

AngelNox

BeitragMi, Jul 20, 2005 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe es jetzt mal mit PlayChannel umgeschrieben aber es klappt leider trozdem nicht und auch wenn ich erneut auf PlaySound Klicke kommt nichts mehr?


BlitzBasic: [AUSKLAPPEN]

window=CreateWindow(\"Sound Example\",20,20,200,200)
button=CreateButton(\"Play\",10,10,100,30,window)
button1=CreateButton(\"Stop\",10,50,100,30,window)
button2=CreateButton(\"Weiterspielen\",10,90,100,30,window)


Sound=LoadSound(\"C:\Programme\BlitzPlus\help\commands\Music Lizenz Free\echos.mp3\")
Channel= PlaySound (Sound)


Select WaitEvent()
Case $401


If EventSource() = Button Then PlaySound channel

If EventSource() = Button1 Then PauseChannel channel

If EventSource() = Button2 Then ResumeChannel channel



End Select

Repeat
id=WaitEvent()
Select id

Case $803 :Notify \"Programm Schliessen\":End

End Select
Forever

MFG
AngelNox

Alfadur

BeitragMi, Jul 20, 2005 17:49
Antworten mit Zitat
Benutzer-Profile anzeigen
am anfang machst du es richtig mit channel=playsound sound, bei den buttons machst du es dann falsch! warum....warum machst du das?
A Cray is the only computer that runs an endless loop in less than four hours.

simi

BeitragMi, Jul 20, 2005 17:55
Antworten mit Zitat
Benutzer-Profile anzeigen
dazu kommt noch, dass du die Abfrage für die Buttons nicht in der Hauptschleife hast.....
 

AngelNox

BeitragMi, Jul 20, 2005 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Tips werde es ändern! Laughing Laughing Laughing
MFG
AngelNox
 

AngelNox

BeitragMi, Jul 20, 2005 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke so funzt es erst mal, nur wenn ich den Sound neu starten will geht das nicht ?
Hat einer vieleicht eine Idee woran das Liegen könnte!

Ach noch was wenn ich bei Then PlayMusic (channel) PlaySound nehme bekomme ich einen Bug zurück sobald ich auf den Button klicke.

BlitzBasic: [AUSKLAPPEN]

;Sound Example by AngelNox


window=CreateWindow(\"Sound Example by AngelNox\",20,20,300,200)
button=CreateButton(\"Play\",10,10,100,30,window)
button1=CreateButton(\"Stop\",10,50,100,30,window)
button2=CreateButton(\"Weiterspielen\",10,90,100,30,window)


Sound=LoadSound(\"C:\Programme\BlitzPlus\help\commands\Music Lizenz Free\echos.mp3\")
Channel= PlaySound (Sound)


Repeat
id=WaitEvent()
Select id
Case $401
If EventSource() = Button Then PlayMusic (channel)

If EventSource() = Button1 Then PauseChannel (channel)

If EventSource() = Button2 Then ResumeChannel (channel)

Case $803 :Notify \"Programm Schliessen\":End

End Select
Forever



THX für eure Hilfe muss mich nur an die Syntax und die Umstellung von Delphi auf BB gewöhnen!
MFG
AngelNox

simi

BeitragMi, Jul 20, 2005 20:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Alfadur hat Folgendes geschrieben:
am anfang machst du es richtig mit channel=playsound sound, bei den buttons machst du es dann falsch! warum....warum machst du das?


PlaySound Sound...
nicht PlaySound Channel.....

d-bug

BeitragMi, Jul 20, 2005 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Quatsch !!! :
BlitzBasic: [AUSKLAPPEN]
If EventSource() = Button  Then PlayMusic (channel) 


So :
BlitzBasic: [AUSKLAPPEN]
If EventSource() = Button  Then Channel= PlaySound (Sound)  



Menno, wenn du einen Sound mit ql:LoadSound lädst solltes du ihn auch mit ql:PlaySound abspielen. ql:PlayMusic ist eh der totale Murksbefehl...

Wie funzt denn das mit den Blitzbase-Tags beim posten ?!?!?!?!
  • Zuletzt bearbeitet von d-bug am Do, Jul 21, 2005 10:40, insgesamt einmal bearbeitet
 

AngelNox

BeitragMi, Jul 20, 2005 21:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo d:bug!

Ich habe ja anfangs auch Playsound genommen aber wenn ich jetzt auf Play drücke kommt nur die Fehlermeldung blitzcc.exe hat ein Problem festgestellt und muss beendet werden.

Bei PlayMusic funzt es !
MFG
AngelNox
 

AngelNox

BeitragMi, Jul 20, 2005 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke d:bug!

Jetzt funzt es wie es soll !
MFG
AngelNox
 

AngelNox

BeitragMi, Jul 20, 2005 21:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

So jetzt funzt alles wie es soll!


BlitzBasic: [AUSKLAPPEN]

;Sound Example by AngelNox


window=CreateWindow(\"Sound Example by AngelNox\",20,20,300,200)
button=CreateButton(\"Play\",10,10,100,30,window)
button1=CreateButton(\"Stop\",10,50,100,30,window)
button2=CreateButton(\"Weiterspielen\",10,90,100,30,window)


Sound=LoadSound(\"C:\Programme\BlitzPlus\help\commands\Music Lizenz Free\echos.mp3\")
Channel=PlaySound(Sound,2) ;2=damit Musik nicht gleich anfängt

Repeat
id=WaitEvent()
Select id
Case $401

If EventSource() = Button Then Channel= PlaySound (Sound)
If EventSource() = Button1 Then PauseChannel (Channel)
If EventSource() = Button2 Then ResumeChannel (Channel)

Case $803 :Notify \"Programm Schliessen\":End

End Select
Forever



Ich habe jetzt 2 Tage Blitz Plus und das ist das erste ergebnis!
MFG
AngelNox

Alfadur

BeitragDo, Jul 21, 2005 1:46
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, genau so hab ichs dir gleich am anfang gesagt ...
A Cray is the only computer that runs an endless loop in less than four hours.

d-bug

BeitragDo, Jul 21, 2005 7:29
Antworten mit Zitat
Benutzer-Profile anzeigen
@Alfadur

AngelNox braucht Klartext Very Happy

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group