Toon posts:

[delphi5] DelphiX - Directsound

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb Google bijna platgesurft voor een goeie tutorial voor DirectSound onder DelphiX. Het beroerde is dat over Direct3D, DirectDraw etc etc wel genoeg te vinden is, maar *goeie* tutorials of docs over DirectSound zijn bijna niet te vinden. En dat dure DirectX boek wat ik onder het stof vandaan heb getrokken gaf ook alleen maar info over de basis van DirectSound...*zucht*

Als iemand mij een linkje weet te geven met wat goeie bruikbare informatie over Directsound (het liefts met DelphiX voorbeelden), ben ik die persoon zeer zeer dankbaar :*

Ik vraag dit hierom:
Ik heb weer een oud projectje opgepakt; een movie player voor ander formaat videos (vqa). Video speelt, mooi gesynct met geluid (Directsound dus) enzo nix mis mee. Natuurlijk heeft een goeie player ook een pause knop enzo. De mijne dus ook :D
Maar nu komt het. Zodra ik het filmpje pauseer, en weer resume, loopt het geluid 9 van de 10 keer niet meer synchroon..soms wel een seconde verschil!

Ik synchroniseer het video op het geluid m.b.v. Notify markers in de soundbuffer, om de 1470 bytes (= geluid voor 1 frame). Voor elke notify die ik krijg laat ik de volgende frame zien en render alvast de daaropvolgende.

Dus, als ik op de pause knop klik, stop ik het geluid. De soundbuffer play positie staat dus stil, komt niet voorbij de notify markers, dus laat ie ook geen nieuwe frames zien. So far so good...

En dus, als ik weer resume, speelt het buffer weer, komt voorbij de marker, laat de frame zien en zou alles nog synchroon moeten lopen. Toch?

Niet dus. Ik heb m.b.v. labels op de form gechecked of er iets met de play positie gebeurt als ik 'm pauseer maar ik zie nix verdachts. En toch slaat ie vaak een stuk buffer over...

Ik kan wel een stukje source posten als iemand denkt mij te kunnen helpen...

Verwijderd

Topicstarter
Laat maar, Het (overigens ontzettend vage en onbegrijpelijke) probleem is verholpen. Ik heb 'm nu mooi in synch zelfs na tig keer de pause knop te hebben gebruikt...

Heb ik toch nog steeds 1 probleem... Soms blijft het beeld gewoon stil staan, ondankt dat het geluid gewoon doorspeelt (en buffer wordt geupdate!). De frames worden nog wel gedecodeerd maar op een een of andere manier wil het niet meer op het scherm. De DXDraw.CanDraw staat ook op TRUE dus er kan getekend worden. De enige manier om weer video te krijgen is de app af te sluiten en opnieuw te openen |:(