Dauer einer Musik- / Sounddatei

Guten Nachmittag

Wie kann ich die Dauer einer Musik- oder Sounddatei in einer Variable speichern?

Danke
Kalsan

Hallo,

Wie kann ich die Dauer einer Musik- oder Sounddatei in einer
Variable speichern?

Öhm, in Sekunden in einer Variablen des Typs „unsigned long“ vielleicht? Oder brauchst Du eine höhere zeitliche Auflösung? Ich verstehe die Frage nicht.

GruĂź

Fritze

Hallo,

Wie kann ich die Dauer einer Musik- oder Sounddatei in einer
Variable speichern?

Öhm, in Sekunden in einer Variablen des Typs „unsigned long“
vielleicht? Oder brauchst Du eine höhere zeitliche Auflösung?
Ich verstehe die Frage nicht.

Das scheint nicht besonders exakt :smile:. Am exaktesten wäre wohl die Samplezahl – also bei 1,5s von 44kHz Audiodaten 66000. Auch double wäre dem unsigned long noch vorzuziehen.

Aber ich vermute, dass der Urposter zu jener aus unerfindlichen Gründen hier leider häufig anzutreffenden Sorte Mensch gehört, die davon ausgeht, dass der Rest der Welt gerade genau in ihrer Situation ist und genau weiß, was sie auf welchem Betriebssystem mit welchen Bibliotheken und welchen Daten oder welcher IDE zu tun versuchen. Deswegen fragen sie nur noch nach dem letzten Detail, ohne all diese Voraussetzungen zu erwähnen…

Also wahrscheinlich sollte die Frage statt wie gestellt eher so ähnlich lauten sollte wie: „ich benutze die Windows-Multimedia-API und habe von _MMOpenWaveFileRiffEx einen Handle auf einen Audiostream erhalten. Welche Funktion muss ich aufrufen, um an seine Länge zu kommen (damit ich sie in eine Variable speichern kann)?“

GrĂĽĂźe,
Sebastian

Hallo,

Aber ich vermute, dass der Urposter zu jener aus
unerfindlichen Gründen hier leider häufig anzutreffenden Sorte
Mensch gehört, die davon ausgeht, dass der Rest der Welt
gerade genau in ihrer Situation ist und genau weiĂź, was sie
auf welchem Betriebssystem mit welchen Bibliotheken und
welchen Daten oder welcher IDE zu tun versuchen. Deswegen
fragen sie nur noch nach dem letzten Detail, ohne all diese
Voraussetzungen zu erwähnen…

Genau auf diesen Mangel wollte ich mit meiner Antwort hinweisen. Vielleicht bequemt sich ja der Fragesteller nochmal und liefert die notwendigen Details?

GruĂź

Fritze

Hallo Fritze

Ich meine die gesamtdauer eines Liedes / Sounds.
Beispiel:
bum.wav 02 sek.
town.mp3 503 sek.

Dadurch kann mein Programm nach Ablauf dieser Frist das nächste Lied aufrufen.

Gruss
Kalsan

Dadurch kann mein Programm nach Ablauf dieser Frist das
nächste Lied aufrufen.

Wie genau „ruft“ denn dein Programm ein Lied „auf“?

GrĂĽĂźe,
Sebastian

Naja, da hab ich mich wohl nicht so günstig ausgedrückt…
Gemeint ist, dass das Programm die nächste Musikdatei öffnet, ladet und abspielt (wie ein Player). Falls es jemandem weiterhilft: ich arbeite mit FMOD

Liebe GrĂĽsse
Kalsan

Hallo Sebastian

Aber ich vermute, dass der Urposter zu jener aus
unerfindlichen Gründen hier leider häufig anzutreffenden Sorte
Mensch gehört, die davon ausgeht, dass der Rest der Welt
gerade genau in ihrer Situation ist und genau weiĂź, was sie
auf welchem Betriebssystem mit welchen Bibliotheken und
welchen Daten oder welcher IDE zu tun versuchen. Deswegen
fragen sie nur noch nach dem letzten Detail, ohne all diese
Voraussetzungen zu erwähnen…

Sorry, hier ist der Technosalat :wink: :
Ich benutze Dev-C++ mit dessen Standartcompiler, um mir ein Programm zu basteln, welches Musik abspielt (also ein Player). Das ganze läuft mit der Biblio FMOD.
Damit das Programm das nächste Lied abspielen kann, nachdem das Vorherige fertig ist, brauche ich die Länge des Liedes (oder hat FMOD sogar eine Funktion, die mir sagt, wenn fertiggespielt ist?)

GrĂĽĂźe,
Sebastian

Liebe GrĂĽsse
Kalsan

Ich benutze Dev-C++ mit dessen Standartcompiler, um mir ein
Programm zu basteln, welches Musik abspielt (also ein Player).
Das ganze läuft mit der Biblio FMOD.

Das ist doch die SchlĂĽsselinformation - du willst wissen, wie man bei der Bibliothek FMOD feststellt, wenn ein Lied zu Ende abgespielt wurde. Hast du schon mal in den Foren zu FMOD gefragt? Sie finden sich hier: http://www.fmod.org/forum/
Unter fmod.org ist auch irgendwo ein Wiki. Und nicht zuletzt ist doch sicher eine Doku bei FMOD dabeigewesen, in der das irgendwo steht. Auf der Website ist leider keine, wie es scheint. Und ich persönlich kenne FMOD auch nicht :smile:.

Dass es eine Funktion gibt, die sagt, wenn das Lied fertig ist, halte ich für sehr sicher (es gibt zumindest eine „Event-API“, und was ist schon ein Event, wenn nicht das).

Viele GrĂĽĂźe,
Sebastian

1 Like

Hallo Sebastian

Ich wusste gar nicht, das FMOD so bekannt ist und habe deshalb eine allgemeine Lösung gesucht. Falls ich das direkt über FMOD machen kann, umso besser.

Herzlichen Dank!

Gruss
Kalsan

Sali Sebastian

Ich habe festgestellt, dass ich dies mit http://www.fmod.org/docs/HTML/FMUSIC_IsFinished.html testen kann. Allerdings stimmen die Variablentypen nicht ĂĽberein (FMUSIC_MODULE verlangt und FSOUND_STREAM gegeben).
Weiss jemand da Bescheid? Im Tutorial, wo ich FMOD kennen gelernt habe, steht nichts von FMUSIC_MODULE.

Gruss
Kalsan