Soundverzögerung

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Blackside

Betreff: Soundverzögerung

BeitragDi, Nov 11, 2008 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Ich habe das Problem, das bei meinen Spiel Der Klick-Sound erst mit ca. 1 Sekunde Verzögerung
abgespielt wird. Ich habe den Sound mit Loadsound geladen und dann bei Mausklick(Hit) per Playsound abgespielt. An den Sound dürfte es nicht liegen, denn am Anfang ist keine Pause oder so...
MFG Blackside
Hier sollte eigentlich eine Signatur stehen!

Jolinah

BeitragDi, Nov 11, 2008 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ist das auch schon beim ersten mal so? Vielleicht liegt es daran, dass PlaySound immer einen neuen Channel erstellt wenn man keinen angibt.

Evtl. hilft das:

Code: [AUSKLAPPEN]
Local channel:TChannel = AllocChannel()
Local sound:TSound = LoadSound("...")

If ... Then
    PlaySound(sound, channel)
EndIf

d-bug

BeitragDi, Nov 11, 2008 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du Windows Vista haben solltest, dann scheint das "normal" zu sein. Zumindest wurde dieser Fehler auf bb.com auch schon berichtet. Eine Alternative bzw. Lösung scheint da zu sein den AudioDriver manuell zu initialisieren.

Code: [AUSKLAPPEN]
SetAudiodriver("directsound")

Xeres

Moderator

BeitragDo, Feb 12, 2009 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein kleine Zusatzanmerkung hätte ich dazu noch:
Der AudioDriver "Directsound" löst zwar das Problem mit der Verzögerung, spielt aber offenbar keine Sounds die in Globalen Typevariablen liegen.
Nach viel herumprobiererei gibt es nur einen Sounddriver mit dem beides Problemlos funktioniert:
"FreeAudio DirectSound"

Code: [AUSKLAPPEN]
"OpenAL"
[X] - Ohne Verzögerung
[ ] - Spielt Type.Global

"FreeAudio"
[ ] - Ohne Verzögerung
[X] - Spielt Type.Global

"FreeAudio Multimedia"
[ ] - Ohne Verzögerung
[X] - Spielt Type.Global

"FreeAudio DirectSound"
[X] - Ohne Verzögerung
[X] - Spielt Type.Global

"DirectSound"
[X] - Ohne Verzögerung
[ ] - Spielt Type.Global


Testcode:
Code: [AUSKLAPPEN]
SuperStrict

Graphics(640, 480, 0, 60)

'* Alle Audiodriver auflisten:
Print("Driver:")
Local AD:String[] = AudioDrivers()
For Local i:Int = 0 Until AD.Length
   Print(AD[i])
Next

SetAudioDriver("FreeAudio DirectSound")

DrawText("Es folgt 2x der selbe Sound (Taste)", 10, 10) ;Flip

Local snd1:TSound = LoadSound("test.ogg")
Type TTest
   Global Snd2:TSound = LoadSound("test.ogg")
End Type

WaitKey()

snd1.Play()
Delay(1000)

Local chan2:TChannel = TTest.Snd2.Play()
If chan2 = Null Then
   Print("chan2 nicht geladen")
Else
   Print("chan2 geladen")
EndIf
Delay(1000)

End


Ich hoffe diese Information ist noch wem nützlich...
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 Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group