使用python里调用win11的实时辅助字幕功能,并将其输出保存用于字幕翻译。

JY Z 5 信誉分
2024-02-14T16:19:07.4866667+00:00

在Copilot的回答的基础上编写了下面的程序:

# 导入所需的模块
import win32com.client
import googletrans
import tkinter as tk

# 创建一个翻译器对象
translator = googletrans.Translator()

# 创建一个窗口对象
window = tk.Tk()
window.title("实时字幕翻译")

# 创建两个标签对象,用于显示原始字幕和翻译后的字幕
original_label = tk.Label(window, text="原始字幕", font=("Arial", 16))
translated_label = tk.Label(window, text="翻译后的字幕", font=("Arial", 16))

# 将标签对象添加到窗口中
original_label.pack()
translated_label.pack()

# 创建一个函数,用于获取和更新字幕
def update_captions():
  # 获取 Windows 11 的实时字幕对象
  captions = win32com.client.GetObject("Livecaption")
  # 获取当前的字幕文本
  original_text = captions.GetText()
  # 如果字幕文本不为空,进行翻译
  if original_text:
  # 调用 Google 翻译 API,将字幕文本从英语翻译成中文
  translated_text = translator.translate(original_text, src="en", dest="zh-   cn").text
  # 更新标签对象的文本
  original_label.config(text=original_text)
  translated_label.config(text=translated_text) 
 # 每隔一秒钟,重复调用该函数
 window.after(50, update_captions)

# 调用函数,开始获取和更新字幕
update_captions()

但是其中: 24行captions = win32com.client.GetObject("Livecaption") 38行update_captions() 出现错误,我并没有学习过编程相关内容,请问我应该如何正确的在python里调用该功能?

Windows API - Win32
Windows API - Win32
一组适用于桌面和服务器应用程序的核心 Windows 应用程序编程接口 (API)。 以前称为 Win32 API。
105 个问题
0 个注释 无注释
{count} 票

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。