Hallo zusammen,
ich habe gerade ein interessantes Problem:
Meine Applikation soll möglichst gleichmässig eine Animation synchronisiert zur Musik abspielen, das klappt bei Audiofiles auch sehr gut. Zur Synchronisierung hole ich mir
TMediaPlayer.Position
was bei Audiofiles einen Wert in Millisekunden zurückliefert. Beim Abspielen einer Audio-CD wechselt das Format (vermutlich historisch bedingt) auf MSF was aber auch kein Beinbruch ist, in der
Unit mmsystem gibts Makros zur Konvertierung.
ABER: Wenn in den erweiterten Einstellungen des CD/DVD-Laufwerks im Gerätemanager die "Digitale Wiedergabe" aktiviert ist, liest Windows immer so ca. eine halbe Sekunde (vielleicht 32 Frames?) Musik am Stück von der CD. Versuche, während so eines Lesevorgangs das Property Position des TMediaPlayer auszulesen, halten meine Applikation so lange an bis der Lesevorgang beendet ist. Das sorgt dann dafür dass meine Applikation nur noch so 2-3 Bilder pro Sekunde anzeigt. Stelle die die digitale Wiedergabe ab (standardmäßig ist sie ja seit IIRC Windows 2000 aktiviert), benötige ich natürlich ein Audiokabel zwischen Laufwerk und Soundkarte aber die Positionsbestimmung geht wunderbar und mit dem gleichen hohen Tempo wie bei der Wiedergabe von Audiofiles.
Hat irgendjemand einen Tipp, wie ich diese Synchronisation auf die Audio-CD besser lösen kann?
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet.
" (Henning Richter)