Entwickler-Ecke

Multimedia / Grafik - FMOD - Music Länge herrausfinden


mimi - So 31.10.04 16:39
Titel: FMOD - Music Länge herrausfinden
Hallo,
ich habe ein kleines problem, ich möchte gerne die music länge von einem geladet stück herrausfinden.
es ging einmal und dann nie wieder.

hier ist mein bishriger qullcode:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var
  Module: PFMusicModule;
  Stream: PFSoundStream;
begin
  Module:=MusicList[index].Module;
  Stream:=MusicList[index].Stream;

  if Stream <> NIL then
    result:=FSOUND_Sample_GetLength( Stream)
  else begin
    if Module <> NIL then  FMUSIC_GetNumOrders
      result:=(Module)
  end;


die länge ist immer 0 egal ob ich midi oder mp3 dateien abspiele !


tommie-lie - So 31.10.04 19:29

Ähh, kann ja sein, daß sie in der API was geändert haben, aber hieß es für Streams nicht mal: :gruebel: FSound_Stream_LengthMS(Stream)
Und was du mit result:=(Module) bezwecken willst entzieht sich mir auch, ich weiß nur, daß man von Modules prinzipbedingt nicht einfach die Länge auslesen kann, ohne sie komplett einmal abzuspielen und die Zeit zu messen.


mimi - So 31.10.04 22:32

das ist ein kleiner fehler ich weiß nicht warum der entstandt das sollte eigetnlich:
if Module <> NIL then result:=FMUSIC_GetNumOrders(Module)
heißen *G*

also das funktionirt bei midis und mp3 dateien nicht und das seltsamme ist: bevor ich getmusiclenght aufrufe rufe ich eine funktion von meiner lib auf die mir die aktuelle lautstäkre liefert, kommertiere ich den teil aus, lieft mir die funktion getMusicLenght einen wert nur einen falschen wert.

und einmal gings es richtig, doch leider habe ich dann wieder funktionen hinzugefügt und danach ging es nicht mehr.

kann es sein das es irgenwas mit den zugriefen zu tuen hat ?