Obtendo um timestamp do VLC em um processador de texto

0

Eu gostaria de poder obter o tempo de reprodução atual de um arquivo no VLC media player e inseri-lo como timestamp em um processador de texto - algo como uma combinação de teclas de atalho que gerará "[HH: MM: SS ] "na posição atual do cursor.

Existe alguma maneira de fazer isso? Se não, dado algo como AutoHotkey, como eu iria obter o tempo atual fora do VLC?

    
por shermarama 28.06.2016 / 23:49

1 resposta

1

Estou usando o AutoHotKey, conforme mostrado abaixo.

Mas isso é um pouco complicado, já que a AFAIK não tem como prever e posicionar o foco no campo de tempo. Eu acho que isso é (pelo menos na versão alemã), porque não há combinação de teclas Alt para ele. Existem apenas (aparentemente) duas combinações de teclas Alt: para o botão "Los" (alemão para "OK") e para "Abbrechen (alemão para" Cancelar "). O próximo problema é que o diálogo não é modal e pressiona Alt -Keys ativa os menus na janela principal.

Portanto, estou usando MouseClick para clicar no campo de hora. As coordenadas podem variar dependendo da resolução da tela. Por favor, mude isso para a sua resolução de tela. Evtl. use WindowSpy do AutoHotKey para obter suas coordenadas

Além disso, eu armazeno o conteúdo original da área de transferência e a posição do mouse no início do script e os restauro no final.

; # Insert Timestamp from VLC
#ifWinActive ahk_exe WINWORD.EXE
F8::
    ; GoToTimeDialogName:="Zu Zeitpunkt gehen" ; # german name of "Go to Time" dialog
    GoToTimeDialogName:="Go to Time" ; # english name of "Go to Time" dialog
    ClipSaved := ClipboardAll ; # Save the entire clipboard
    MouseGetPos x, y ; # get current mouse position
    if WinExist("ahk_exe vlc.exe") { ; # if vlc existst, i.e. vlc is running
        WinActivate ; # activate vlc window
        Send, {Esc} ; # make sure you are not in other dialogs
        Send, ^t ; # open the "Go to Time" dialog
        if WinExist(GoToTimeDialogName) { ; # if the "Go to Time" dialog exists
            WinActivate ; # activate "Go to Time" dialog exists
            MouseClick, left, 120, 48 ; # click on time field (change this for other screen resolutions)
            Send, ^a ; # select time field
            Send, ^c ; # copy to clipboard
            ClipWait ; # Wait for the clipboard to contain text.
            ts:=clipboard ; # get content of clipboard to var "ts"
            Send, ^t ; # quit "Go to Time" dialog
        }
    }
    if WinExist("ahk_exe WINWORD.EXE") { ; # if word exists
        WinActivate  ; # activate word window
        Send, [%ts%]{space} ; # insert the timestamp surrounded by brackets and a space
    }
    Clipboard := ClipSaved   ; # Restore the original clipboard
    MouseMove %x%, %y% ; # move mouse to original position
Return
    
por 09.06.2018 / 12:24