Das Sound-Problem

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

worschtbrot

Betreff: Das Sound-Problem

BeitragFr, Jun 08, 2012 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo liebes Forum,
ich bin mal wieder am Verzweifeln. Sad Und zwar habe ich folgenden Code:
Hier lade ich meine Sounds:
Code: [AUSKLAPPEN]
'Sound laden
Global music_channel:TChannel
Global music_track00:TSound = LoadSound("music\menue.wav",True)
Global music_track01:TSound = LoadSound("music\track01.wav",True)
music_channel = New TChannel

Hier ist meine Abspielfunktion:
Code: [AUSKLAPPEN]
Function PlayMusic(chan:TChannel)
   SetChannelVolume chan,M_VOL 'Lautstärke (= 1.0)
   If ChannelPlaying(chan) = False Then
      If PLAY = False Then
         PlaySound(music_track00,chan)
      Else
         Local random:Int = Rand(1,1)'Anzahl der Tracks einfügen
         Select random
            Case 1
               PlaySound(music_track01,chan)
         End Select
      EndIf
   EndIf
End Function

Und mit "PlayMusic(music_channel)" rufe ich sie dann auf, dennoch wird sie nicht wiedergegeben.
Wo ist mein Fehler? Danke schon mal für die Hilfe. Smile

Blitzcraft

BeitragFr, Jun 08, 2012 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Channel sollte meiner Meinung nach mit AllocChannel() erstellt werden.
Code: [AUSKLAPPEN]
music_channel = AllocChannel()
Screenshot aus meinem ersten Projekt

Der Eisvogel

BeitragFr, Jun 08, 2012 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutzt du ein Framework?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

worschtbrot

BeitragFr, Jun 08, 2012 17:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein ich benutze kein Framework. Aber es funktioniert mit:Code: [AUSKLAPPEN]
music_channel = AllocChannel()

Dankeschön, bin auf die Funktion nicht aufmerksam geworden. Naja jetzt funktioniert es und ich habe schöne Musik im Spiel Dank euch. Smile
Was genau wäre denn eigentlich ein Framework? Razz

blackgecko

BeitragFr, Jun 08, 2012 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Standardmäßig importiert BlitzMax alles was in den Ordern brl und pub ist. Von IO und Mathe-Funktionen über Grafik und Sound bis hin zu Lua und Reflection. Das ist alles für dich als Programmierer verfügbar, wird aber auch alles mit in die exe gepackt. Folge: Kompilierzeit steigt und die exe wird größer.
Mit Framework kann man dem Compiler sagen, was er genau importieren soll. Mit "Framework brl.math" wird erst mal nur das math-Modul importiert (den Rest musst du halt ganz normal mit Import nachrüsten).
Eine Ausnahme ist das Modul brl.blitz. Das wird immer importiert, da drin sind nämlich grundlegende Sachen ohne die ein BlitzMax-Programm nicht läuft.
Wenn dus also ganz schlau anstellen willst, dann schreibst du als Erstes "Framework brl.blitz" und hast damit die minimalste exe die es gibt.
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax
Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die.

Xeres

Moderator

BeitragFr, Jun 08, 2012 23:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Channel Parameter in PlaySound ist nicht implementiert. Du kannst dir den komplett sparen und stattdessen dies benutzen:
BlitzMax: [AUSKLAPPEN]
Local chan:TChannel = PlaySound(music_track01)
chan.SetVolume(M_VOL)

Channel werden beim Abspielen sowieso neu generiert.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group