Avatar billede Slettet bruger
18. april 2007 - 19:07 Der er 6 kommentarer

Audio Curser i VC++ 7

Hej

Jeg udvikler en lydapplikation hvor man under afspilning af et lydklip skal have mulighed for at se hvor i klippet man er (i ved - en streg der flytter sig). Det burde være meget simpelt, men hvordan ville I gøre det?

Jeg har prøvet simpelthen at tegne en streg oven i selve den grafiske representation af signalet, og efter hvert step erstattet den gamle streg med de pixels der var der før. Disse steps reguleres af en timer, men der er noget galt for selvom jeg har indstillet timeren efter samplings frekvensen af signalet kører min curser langsommere end lyden (faktor ca. 1.3).

Jeg bruger en alm. PictureControl (moveto, lineto, setpixel osv...)

Er der en bedre måde?
Avatar billede bertelbrander Novice
18. april 2007 - 19:38 #1
Måske en progress-bar, se f.eks:
http://damb.dk/dialogtut08.php
Avatar billede Slettet bruger
18. april 2007 - 19:40 #2
bertelbrander -> det skal helst være en linie der er oven i selve den grafiske repræsentation (som man kender det fra alle andre lydprogrammer programmer)
Avatar billede bertelbrander Novice
18. april 2007 - 19:46 #3
Jeg kender ikke alle andre lydprogrammer.
Avatar billede Slettet bruger
18. april 2007 - 22:00 #4
sorry, det var ikke for at være nedladende...
Avatar billede bertelbrander Novice
18. april 2007 - 23:21 #5
Det var heller ikke mit indtryk.

Prøv at beskrive hvoran du vil have din "cursor" skal se ud.
Avatar billede Slettet bruger
10. juli 2007 - 13:35 #6
Hej igen. Sorry jeg er så langsom, men spørgsmålet er sådan set stadig aktuelt...

Jeg har et windue (altså et rektangel) hvor jeg har en grafisk representation af et lydsignal - det er vist med gennemsnits amplitude indenfor nogle små tidsintervaller, men det er ikke så vigtigt. Det er sådan at tiden 0 svarer til det der vises helt til venstre i vinduet og lydsignalets slutning vises så helt til højre. Alt det er tegnet med linier sådan som jeg beskriver i spørgsmålet.

Det jeg gerne vil have er at når lyden afspilles, så kan man i billedet følge med i afspilningen, altså se hvor i klippet man er nu. Dette vil jeg gerne vise ved en form for markør som når klippet starter bevæger sig startende helt ude i venstre side og når klippet slutter har den bevæget sig helt ud i højre side. Og denne markør havde jeg tænkt kunne være en lodret linie (f.eks 2 pixel tyk) som fylder hele højden af vinduet.

Problemet med at tidssynkroniseringen mellem lyd og markør, tror jeg jeg må leve med - nu er problemet nærmere at den markør jeg har fået lavet ser ud som om en hakker når den flytter sig. Det skal siges at den måde jeg animerer den på er ved at tegne en ny markør og fjerne den gamle.

Kan jeg på en eller anden måde lave det så jeg har eet objekt som rent faktisk flytter sig? Findes der nogle klasser som kan animere controls og få dem til at flytte sig på en pæn måde fra et sted til et andet (du ved smoooth)...?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester