Soundlänge

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Paranoide

Betreff: Soundlänge

BeitragDo, Dez 01, 2005 22:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin moin! ^^

Kann man irgendwie die Länge einer geladenen Sound-Datei rausfinden? Sodass man zum Beispiel das Programm so lange anhält, bis der Sound zu Ende gespielt ist. Oder geht das sogar noch einfacher?

Michel

skey-z

BeitragDo, Dez 01, 2005 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
für deine zwecke reicht da BlitzBasic: [AUSKLAPPEN]
ChannelPlaying
, ansonsten kannst du, glaube ich, mit der bass.dll die länge eines Stücks gerausfinden, bin mir aber nicht sicher, habe die noch nie benutzt.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Spikespine

BeitragDo, Dez 01, 2005 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Das kannst du mit ql:ChannelPlaying erreichen.
Die länge kannst du damit aujch herausfinden.

edit: hm Sad mal wieder zu langsam
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax
 

Schnuff

BeitragMi, März 15, 2006 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
entschuldigung, weil ich das Thema wieder hoch krame, aber
mit Channelplaying ist es fiel zu abgehackt(=langsam).

wie könnte ich das schneller lösen(mid und Mp3 dateien)
Programmers dont die. They gosub without return...

x-pressive

BeitragDo, März 16, 2006 9:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Zu langsam? Wenn du Channelplaying() bei jedem Programmdurchlauf abfragst und dein Programm z.B. 60 FPS hat, hast du pro Sekunde sechzig Chancen, darauf zu reagieren. Das reicht doch allemal. Vielleicht hast du eine Leerpause am Anfang oder Ende deiner Sounddatei, wodurch eventuell eine Pause entsteht.
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Hubsi

BeitragDo, März 16, 2006 11:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem hatte ich auch schonmal das ChannelPlaying die fps in den Keller zog. Allerdings war dies ein anderer Rechner und eine andere Soundkarte Very Happy Bei der jetzigen Maschine kann ich diesen Effekt nicht mehr feststellen. Evtl. hilft schon ein Treiberupdate Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

D2006

Administrator

BeitragDo, März 16, 2006 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Das konnte ich vorallem bei MIDIs festellen, mit dem FPS Keller.

Ansonsten entstehen bei mir auch immer kleinen Pausen, wenn ich mit ChannelPlaying nen Loop verwirkliche. Merkt man vorallem, wenn man den Channel dann noch pitcht und alles schneller wird. Muss man wohl leben mit, keine Ahnung.

MfG
D2006
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, März 16, 2006 14:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Und was haltet ihr allgemein von der Idee, den Sound mit LoopSound abzuspielen und den Rest mit der Lautstärke zu regeln? Ich frage das vorallem, weil ich es hier im Forum noch garnicht gelesen hatte aber ich es bei meinem Spiel jetzt so gelöst habe. Nicht das es dann Probleme gibt, die bei mir grad nicht auftauchen?!?

D2006

Administrator

BeitragDo, März 16, 2006 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab das noch nie mit LoopSound hingekriegt. Hat nach einem Mal immer aufgehört. Wenns bei dir geht, sei froh!
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, März 16, 2006 14:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi D2006, habe auch Probleme damit gehabt, bis ich das dann mal hinbekommen habe. Im grunde ist es nur wichtig, das LoopSound vor PlaySound gemacht wird. Hier mal ein gekürztes Beispiel:
Code: [AUSKLAPPEN]
;Sound laden und einstellen
Global thrustwav=LoadSound("data\thrust.ogg")
LoopSound thrustwav

Global thrustchn=PlaySound(thrustwav)
Global flightchn=PlaySound(thrustwav)

ChannelPitch thrustchn,6400
ChannelPitch flightchn,10000

ChannelVolume thrustchn,0
ChannelVolume flightchn,0


While

 If KeyDown(200) Then
  ChannelVolume thrustchn,.5
 Else
  ChannelVolume thrustchn,0
 End If

 ;Flight-Sound, je neach Geschwindigkeit, anpassen
 fli#=Sqr(xg^2+yg^2)
 ChannelVolume flightchn,fli/4
 ChannelPitch flightchn,fli*40000

Wend

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group