|
| DirectSound opfører sig underligt ved stop~ Fra : Jacob Jensen |
Dato : 24-08-06 20:41 |
|
Hej
Jeg har lavet en lille wavefil-afspiller. Det kører fint. Lige indtil jeg
prøver at lave en pausefunktion. Hvis jeg kalder stop() og så play() igen på
min buffer så "hakker" lyden. Jeg kan ikke helt bestemme hvad det er der
sker.
Er der nogle der har ideer?
--
Jacob Jensen
E-mail: jacob@etlivmedsle.dk
Hjemmeside: www.etlivmedsle.dk
| |
Jacob Jensen (24-08-2006)
| Kommentar Fra : Jacob Jensen |
Dato : 24-08-06 20:42 |
|
>Jeg kan ikke helt bestemme hvad det er der sker.
....men jeg kan tilføje at når det sker (og det er oftest) så starter lyden
lidt "senere" i musikken end dér hvor den blev stoppet.
Jacob
| |
Rasmus Neckelmann (01-09-2006)
| Kommentar Fra : Rasmus Neckelmann |
Dato : 01-09-06 09:23 |
|
Jacob Jensen wrote:
> Jeg har lavet en lille wavefil-afspiller. Det kører fint. Lige indtil
> jeg prøver at lave en pausefunktion. Hvis jeg kalder stop() og så
> play() igen på min buffer så "hakker" lyden. Jeg kan ikke helt
> bestemme hvad det er der sker.
>
> Er der nogle der har ideer?
Hvis du bruger et primary buffer, så er DirectSound nødt til at sætte
play-cursoren til starten af bufferen når du kalder stop(), hvilket betyder
der kommer hakker i lyden medmindre du explicit sørger for at håndtere den
situation.
Prøv med et secondary buffer i stedet. Hvis du allerede bruger sådan et, så
ved jeg ikke hvad der er i vejen...
--
mvh Rasmus Neckelmann
| |
Jacob Jensen (01-09-2006)
| Kommentar Fra : Jacob Jensen |
Dato : 01-09-06 15:15 |
|
> Prøv med et secondary buffer i stedet. Hvis du allerede bruger sådan et,
> så ved jeg ikke hvad der er i vejen...
Jeg bruger secondary buffer. Går jeg ud fra. Jeg er lidt ny i det her, men
jeg ville vel vide hvis jeg brugte primary buffer ikke?
Jacob
| |
Rasmus Neckelmann (01-09-2006)
| Kommentar Fra : Rasmus Neckelmann |
Dato : 01-09-06 15:39 |
|
Jacob Jensen wrote:
> Jeg bruger secondary buffer. Går jeg ud fra. Jeg er lidt ny i det
> her, men jeg ville vel vide hvis jeg brugte primary buffer ikke?
Hmm okay ja. Har du prøvet at holde øje med play/write cursorne med
IDirectSoundBuffer8::GetCurrentPosition()?
Kunne være interessant at se om de laver nogle besynderlige hop.
--
mvh Rasmus Neckelmann
| |
Jacob Jensen (02-09-2006)
| Kommentar Fra : Jacob Jensen |
Dato : 02-09-06 13:49 |
|
> Hmm okay ja. Har du prøvet at holde øje med play/write cursorne med
> IDirectSoundBuffer8::GetCurrentPosition()?
> Kunne være interessant at se om de laver nogle besynderlige hop.
Næ, det kunne jeg da gøre. Sådan lige før og lige efter stop() eller
hvordan?
Jacob
| |
|
|