Excel VBA video huidige positie uitlezen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • portable
  • Registratie: Oktober 2009
  • Laatst online: 15-09 20:22
Hallo medetweakers.

Momenteel ben ik bezig om een video's af te spelen in excel. om elke willekeurige file te kunnen uitlezen heb ik de URL gekoppeld aan een cel. Het afspelen lukt prima, maar ik zou graag twee aspecten willen toevoegen.
  1. 1. Momenteel beschik ik over een "next frame" functie. Deze werkt alleen voorwaarts.
  2. 2. Ik zou graag de huidige positie willen weergeven in een cel. Hiervoor zou het uitlezen of in het "hh:mm:ss.00" format moeten gaan of er moet de mogelijkheid zijn om het framenummer uit te lezen. In het laatste geval zou ik via het delen door de framerate en vervolgens delen door 86400 kunnen opvrangen.
Ik heb iets gelezen over
code:
1
WindowsMediaPlayer1.controls.currentposition
&
code:
1
WindowsMediaPlayer1.controls.currentpositionstring
Of dit de juiste commands zijn en hoe ik dit kanlaten wegschrijven naar een cel kan ik ook na veel googlen niet vinden.


Hieronder de gebruikte code.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Play_Click()
Sheets("Blad1").WindowsMediaPlayer1.URL = Sheets("Blad1").Range("A6").Value
End Sub

Private Sub Stop_Click()
WindowsMediaPlayer1.Controls.stop
End Sub

Private Sub Prevframe_Click()
WindowsMediaPlayer1.Controls.step ("-1")
End Sub

Private Sub Nextframe_Click()
WindowsMediaPlayer1.Controls.step ("1")
End Sub

[ Voor 11% gewijzigd door portable op 04-04-2012 17:06 ]


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

offtopic:
Zonder me te hebben verdiept in het aanroepen van de mediaplayer vanuit Excel (daar lijken me veel betere methoden voor te bestaan dan Excel) even voor de duidelijkheid: het lijkt me dat je de typo's even uit je voorbeeldcodes wilt halen zodat daar de discussie niet over zal gaan.


Je maakt het jezelf makkelijker als je de buttons etc beter herkenbare namen geeft dan Button6 etc.

En de TextBox1_Change() bedoel je vast andersom: cel.waarde = ****.currentPositionString
Testen kan misschien wat makkelijker met bijv debug.print

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • portable
  • Registratie: Oktober 2009
  • Laatst online: 15-09 20:22
@F_J_K Bedankt voor je feedback voor de button namen. Deze zal ik aanpassen. :)

Het uitlezen van de positie lukt nog steeds niet op geen manier.
code:
1
Range("K7").Value = WindowsMediaPlayer1.conrols.currentPosition


De reden dat ik dit in excel wil is dat ik de huidige tijd op diverse momenten wil wegschrijven om zo een video als een soort stopwatch te gebruiken. Minder accuraat wanneer je kijkt dat de foutmarge + of - 0.04 is, maar altijd nauwkeuriger dan een handgeklokte tijd. De tijden wil ik direct wegschrijven naar een dataveld.

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

tsja, F_J_K noemt het offtopic, maar ik zou toch eerst eens proberen de typefout eruit te halen. :)

En vervolgens je afvragen wanneer die procedure text_change wordt aangeroepen...

[ Voor 29% gewijzigd door Lustucru op 03-04-2012 23:17 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • portable
  • Registratie: Oktober 2009
  • Laatst online: 15-09 20:22
Ik heb het opgelost:

code:
1
Application.Cells(1, 1) = WindowsMediaPlayer1.Controls.currentPosition


Deze code toevoegen aan een button levert het gewenste resultaat op.