bei mci und speed setzt das Musikstück aus

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Graffiti
Beiträge: 173
Registriert: 30.08.2004 08:34
Wohnort: Thailand

bei mci und speed setzt das Musikstück aus

Beitrag von Graffiti »

Habe da ein Problem,

in meinem Player habe ich noch einen Geschwindigkeitsregler mit eingebaut, das ganze läuft über die MCI_Send_String Methode.
Beim regeln des Speeds setzt das Musikstück immer kurz aus, wie kann ich das verhindern ???

Code: Alles auswählen

Procedure MP3_Speed(Nb,Tempo)
  i=mciSendString_("set MP3_"+Str(Nb)+" speed "+Str(Tempo),0,0,0)
  ProcedureReturn i 
EndProcedure 

Procedure MP3_Play(Nb,Tempo)
      Tempo = Tempo*10
      i=mciSendString_("set MP3_"+Str(Nb)+" speed "+Str(Tempo),0,0,0)
      i=mciSendString_("play MP3_"+Str(Nb),0,0,0) 
      ProcedureReturn i 
EndProcedure 

Procedure speed0() ; plus 1 Prozent
    speed + 10
    MP3_Speed(1,speed)
    If speed > 1200 : speed = 1200 : EndIf
    SetGadgetText(#speed2,Str(speed/10)+"%")
EndProcedure   
  
Procedure speed1() ; minus 1 Prozent
    speed - 10
    MP3_Speed(1,speed)
    If speed < 800 : speed = 800 : EndIf
    SetGadgetText(#speed2,Str(speed/10)+"%")
EndProcedure 
  
Procedure speed2() ; auf 100% setzen
    speed = 1000
    MP3_Speed(1,speed)
    SetGadgetText(#speed2,Str(speed/10)+"%")
EndProcedure 
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Ich schätze mal, dass bei Laden der mp3 das komplette Stück verarbeitet und in den Abspielspeicher gehauen wird und fertig.
Wenn du jetzt zwischendurch den Speed änderst, sind alle Daten im Abspielspeicher ungültig und er muss alles neuladen und -berechnen.

Lösungsmöglichkeit:
Festabspielgeschwindigkeiten vorgeben und für jede Geschwindigkeit schon ein geladenes und vorbereitetes Musikstück bereit haben. So kann er ohne großen Aufwand gleich die entsprechene mp3 abspielen.

Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Antworten