使用键盘控制另一个窗口中的视频行为

使用键盘控制另一个窗口中的视频行为

我正在做一些翻译工作,所以我将窗口分成两部分,左边部分用于我想要翻译的视频,右边部分用于编辑器。

就拿 Google Chrome 和 Microsoft Word 中的 Youtube 来说吧。每当我在左边听完一句话,我就停下视频,切换到 Word 然后翻译。在 Word 中输入完后,我再切换回 Google Chrome 并重新开始视频。这个过程重复进行。

PS. 我正在学习另一门外语,听说做翻译对听力有好处。

在它们之间切换确实是一件烦人的工作(即使使用Win + num),有没有一种方法可以坚持在 Word 中并仅使用全局键盘在另一个窗口中控制视频行为(前进、后退、暂停、开始)?

我使用的是 Windows 7,但如果其中没有方法,也欢迎针对 Linux/Unix 提供答案。

答案1

以下受到广泛评论 自动热键 脚本取自帖子 从另一个窗口播放/暂停 Youtube 的脚本

字符停止/启动 YouTube 视频。此脚本由+K组合键触发 。它将找到 Chrome 及其正在播放的选项卡并向其发送 字符,所有这些都不会更改焦点窗口(我假设是 Word)。CtrlSpaceK

安装 AutoHotKey 后,将上述文本放入一个.ahk文件中并双击进行测试。您可以通过右键单击托盘栏中的绿色 H 图标并选择退出来停止脚本。要让它在登录时运行,请将其放在 的启动组中 C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

;============================== Start Auto-Execution Section ==============================

; Keeps script permanently running
#Persistent

; Avoids checking empty variables to see if they are environment variables
; Recommended for performance and compatibility with future AutoHotkey releases
#NoEnv

; Ensures that there is only a single instance of this script running
#SingleInstance, Force

;Determines whether invisible windows are "seen" by the script
DetectHiddenWindows, On

; Makes a script unconditionally use its own folder as its working directory
; Ensures a consistent starting directory
SetWorkingDir %A_ScriptDir%

; sets title matching to search for "containing" isntead of "exact"
SetTitleMatchMode, 2

;sets controlID to 0 every time the script is reloaded
controlID       := 0

return

;============================== Main Script ==============================
#IfWinNotActive, ahk_exe chrome.exe

ctrl & space::
    ; Gets the control ID of google chrome
    ControlGet, controlID, Hwnd,,Chrome_RenderWidgetHostHWND1, Google Chrome

    ; Focuses on chrome without breaking focus on what you're doing
    ControlFocus,,ahk_id %controlID%

    ; Checks to make sure YouTube isn't the first tab before starting the loop
    ; Saves time when youtube is the tab it's on
    IfWinExist, YouTube
    {
        ControlSend, Chrome_RenderWidgetHostHWND1, k , Google Chrome
        return
    }

    ; Sends ctrl+1 to your browser to set it at tab 1
    ControlSend, , ^1, Google Chrome

    ; Starts loop to find youtube tab
    Loop
    {
        IfWinExist, YouTube
        {
            break
        }

        ;Scrolls through the tabs.
        ControlSend, ,{Control Down}{Tab}{Control Up}, Google Chrome

        ; if the script acts weird and is getting confused, raise this number
        ; Sleep, is measures in milliseconds. 1000 ms = 1 sec
        Sleep, 150
    }

    Sleep, 50

    ; Sends the K button to chrome
    ; K is the default pause/unpause of YouTube (People think space is. Don't use space!
    ; It'll scroll you down the youtube page when the player doesn't have focus.
    ControlSend, Chrome_RenderWidgetHostHWND1, k , Google Chrome
return

#IfWinNotActive

;============================== End Script ==============================

答案2

我四处寻找,发现这两个插件可以完成这项工作。您需要在 Chrome 中配置快捷键。这两个插件都在其页面中解释了如何执行此操作。YouTube Anywhere Remote 涵盖了 YouTube 的更多功能,包括快进和快退,这正是我所寻找的。

YouTube Anywhere 远程流密钥

Chrome 中的 YouTube Anywhere Remote 插件键盘快捷键设置

相关内容