Problem mit abspielen von Musik

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Razor1994

Betreff: Problem mit abspielen von Musik

BeitragSo, Mai 09, 2010 9:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein kleines JNR nach dem Tut ist fast fertig und jetzt wollt ich noch Hintergrundmusik laufen lassen. Aber es klappt einfach nicht. Hoffentlich könnt ihr mir helfen.
Das ist einfach die ganze Hauptschleife in die die Musik eingebaut ist.
Am Anfang ist lives immer = -1
Code: [AUSKLAPPEN]
Repeat
   WaitTimer(frametimer)                  ;Die Anzahl der Leben abfragen.
If lives = -1 Then                         ;sollte kein Leben vorhanden sein
   If ChannelPlaying(chnback) = 0 Then         ;Testet, ob die Musik abgespielt wird
       chnback = PlayMusic ("C:\Users\Michael\Music\BB Musik\MUSIC2.MID");Wenn nicht, wird die Musik geladen und gleich abgespielt.
   EndIf
   Cls                               ;Bildschirm löschen
   Text 100, 100, "Welcome to my game. Press F1 to Play"   
   If KeyHit (59) Then                   ;Sobald die Taste F1 gedrückt wird
      lives = 3                        ;Lebenszahl auf 3 erhöhen
      score = 0                        ;Punkte zurücksetzen
   EndIf
   
ElseIf Lives > -1 Then                     ;Sobald Punkte höher als -1 ist
   Cls
   If Start = 0 Then                      ;Um die Leveldaten neu einzulesen, habe ich eine neue Function erstellt
      Start = 1                        ;Diese kann man später erweitern um mehrere Level zu erstellen.
      SetupLevel()
   EndIf

   
   WeltZeichnen
   Kollision
   SpielerBewegen
   Sprung
   MonsterBewegen
   PickupsZeichnen
   SpielerZeichnen
   GegnerZeichnen
   FreundZeichnen
   FreundeHolen
   PunkteAnzeigen
EndIf
If KeyHit(57) Then
   Setuplevel
EndIf
   Flip
Until KeyHit(1)
End
User posted image
kommt in meinen Runescape clan

Midimaster

BeitragSo, Mai 09, 2010 13:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Was klappt denn nicht? Gibt es eine Fehlermeldung? Welche?

Ich könnte mir vorstellen, dass man das erste Laden vor der REPEAT-Schleife machen muss, damit die ChannelPlaying() überhaupt schon CHNBACK kennt....


BlitzBasic: [AUSKLAPPEN]
Gobal chnback%
chnback = PlayMusic ("C:\Users\Michael\Music\BB Musik\MUSIC2.MID")

Repeat
WaitTimer(frametimer)
If lives = -1 Then
If ChannelPlaying(chnback) = 0 Then
chnback = PlayMusic ("C:\Users\Michael\Music\BB Musik\MUSIC2.MID")
EndIf
Cls
.....
 

Lador

BeitragSo, Mai 09, 2010 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Und ChannelPlaying kann man sich (denke ich) sparen. Einfach einmal vorher laden und dann läuft es die ganze Zeit (glaube ich).

MFG Lador
Mein aktuelles Projekt:
2D-Rollenspiel "Iliran"
Screenshot | Worklog
Fortschritt: ca. 70%
 

Razor1994

BeitragSo, Mai 09, 2010 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
also das Problem ist das keine Musik kommt. Der Pfad sollt ja stimmen da sonst ja eine Fehlermeldung kommen würde, oder? Und ich habe jetzt beide Varianten ausprobiert aber es funktioniert immer noch nicht. Sad
User posted image
kommt in meinen Runescape clan

Hubsi

BeitragSo, Mai 09, 2010 20:13
Antworten mit Zitat
Benutzer-Profile anzeigen
PlayMusic gibt keinen Fehler aus wenn es die Datei nicht findet. Absolute Pfade sind ohnehin etwas gefährlich, aber das muß jetzt nicht smit dem Problem zu tun haben.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Razor1994

BeitragSo, Mai 09, 2010 21:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich habe den Pfad schon dreimal kontrolliert. Daran sollte es also nicht liegen. Confused
User posted image
kommt in meinen Runescape clan

Midimaster

BeitragMo, Mai 10, 2010 7:42
Antworten mit Zitat
Benutzer-Profile anzeigen
DEr nächste Test würde so aussehen, dass man den Song direkt in das Verzeichnis stellt, in dem auch die BB-Datei gespeichert wird. Der Pfad im Code wird dann zu....

BlitzBasic: [AUSKLAPPEN]
chnback = PlayMusic ("MUSIC2.MID")



Geht das wieder nicht liegt es vielleicht an der Datei. Daher sieht der nächste Test so aus, dass man diese Datei doppelklickt und checkt damit , ob ein anderes Windows-Programm die Datei (genau die aus dem Verzeichnis!) wiedergeben kann.

Im Gegenzug testest Du jetzt ob die PlayMusic eine andere Audio-Datei wiedergeben könnnte, z.B.

BlitzBasic: [AUSKLAPPEN]
chnback = PlayMusic ("test.wav")


Du stelltst ihr also eine WAV-Datei zur Verfügung, von der zu 100% weisst, dass sie funktioniert.

Geht das, dann liegt es an der MIDI-Datei. Bei MIDI gibt es zwei Formate. Möglicherweise kann BlitzBasic nur das eine?
 

Razor1994

BeitragMo, Mai 10, 2010 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich habe alles getestet das Lied ist im gleichen Verzeichnis, Windows media player kann ihn abspielen, playmusic kann eine andere Tondatei abspielen und ich glaube nicht, wenn es das gibt, dass dieses Lied zu der Dateiart gehört die BB nicht abspielen kann. War ja schliesslich im Tut dabei.
edit:
Habs jetzt geschaft das die Variable fürs Lied: backmusik (hab sie geändert) nicht mehr Null ist. Abgespielt wird sie deshalb trotzdem nicht. Crying or Very sad
User posted image
kommt in meinen Runescape clan

Midimaster

BeitragDi, Mai 11, 2010 10:34
Antworten mit Zitat
Benutzer-Profile anzeigen
auch in dem englischen Blitz-Forum wird immer wieder über mysteriöse Bugs bei MIDI-Dateien berichtet. Aber keiner der Beiträge konnte die Ursache klären bzw. eine Lösung geben.

Meine Idee wäre, im Internet einige Midi-Files zu suchen, und es mal mit denen zu testen. Damit man wenigsten einmal herausfindet, ob die Datei kaputt ist oder BB keine MIDIs mehr abspielen kann oder deine Hardware einen Strich durch die Rechnung macht.

Gerne teste ich es auch mal auf meinen Computern, wenn du willst. Dazu bräuchte ich aber die MIDI-Datei...
 

Razor1994

BeitragDi, Mai 11, 2010 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiss aber nicht wie ich dir die Datei geben kann. Aber ich könnte dir die Adresse des Tuts geben.
User posted image
kommt in meinen Runescape clan

Midimaster

BeitragDi, Mai 11, 2010 15:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ja doch!
 

Razor1994

BeitragDi, Mai 11, 2010 16:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ups sry link vergessen:
http://web.archive.org/web/200...blitzbasic
einfach das erst JNR tut.
User posted image
kommt in meinen Runescape clan

Midimaster

BeitragDi, Mai 11, 2010 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
also, bei mir läuft es auf einem Win XP mit diesem Minimalprogramm:

BlitzBasic: [AUSKLAPPEN]
Graphics 800,600
Global Channel% = PlayMusic ("MUSIC2.MID")
Delay 500
WaitKey()


Ich höre erst einige Takte Percussion und dann beginnt so eine typische JNR-Dudelei. Das erste Beispiel nimmt mit der DELAY-Zeile Rücksicht auf Beiträge im engl Forum, wo man zu einem Delay direkt nach dem Laden geraten hatte, weil sonst ChannelPlaying angeblich noch Null melden würden....


aber auch so geht es bei mir:

BlitzBasic: [AUSKLAPPEN]
Graphics 800,600
Global Frametimer%=CreateTimer(60)
Repeat
WaitTimer(frametimer)
If lives = 0 Then
Print ChannelPlaying(Channel)
If ChannelPlaying(Channel) = 0 Then
Channel = PlayMusic ("MUSIC2.MID")
EndIf

EndIf
Until KeyHit(1)



Allerdings teste ich das natürlich mit dem B3D 1.99. Vielleicht könnte ja mal wirklich jemand mit dem BB testen? Aber wenigstens wissen wir jetzt die Datei funktioniert auch in BlitzBasic.

Für die Volume Control ist übrigens im Windows Mixer anders, als man es erwarten würde, der WAVE und nicht der SW-Synth-Regler verantwortlich.

Der link zum ZIP-File (wo man das MUSIC2.MID findet) lautet übrigens eigentlich so:

http://web.archive.org/web/200...mpTut1.zip
 

Razor1994

BeitragDi, Mai 11, 2010 21:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Also bei mir läufts nicht mal mit dem miniprogramm. Vielleicht liegts wirklich am Vista.
User posted image
kommt in meinen Runescape clan

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group