Skip to content

LeaiFish/AnkiDuplicateField

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

AnkiDuplicateField

本项目用于辅助 Anki 用户在卡片中实现「带倍速控制的音频播放器」,实现进度条、播放速度调节、循环播放等功能。


🎯 功能介绍

适用于希望在 Anki 卡片中实现:

  • 自定义音频播放器(支持播放进度条)
  • 倍速播放按钮(0.5x ~ 2x)
  • 循环播放选项
  • 兼容移动端和桌面端(播放器分离设计)

🛠 使用步骤

1️⃣ 新建字段(只保存音频文件名)

在你的目标笔记类型中,新建一个字段(例如 sentence_audio_path),用于保存音频文件名,例如:

xxxxxxxxx.mp3

注意:不要包含 [sound:...] 包裹符,只需要文件名本身。


2️⃣ 提取音频文件名并批量填入字段

使用本仓库中的 Python 脚本(基于 AnkiConnect 接口):

  • 自动查找指定笔记类型中所有带 [sound:xxx.mp3] 的字段
  • 提取文件名(不含 sound: 和方括号)
  • 批量写入你新建的字段(仅更新为空字段,避免重复写入)

示例操作字段设置:

  • 原始字段:sentence_audio(内容为 [sound:xxx.mp3]
  • 目标字段:sentence_audio_path(将被写入 xxx.mp3

运行脚本前需确保:

  • Anki 已启动并安装 AnkiConnect 插件
  • 脚本中 note_type、字段名设置与你当前牌组匹配

3️⃣ 修改卡片模板(添加播放器)

在你的卡片模板的 HTML 中插入如下代码,用于播放你刚刚提取的音频文件:

<!-- 新增的 HTML5 播放器 -->
      <div style="margin-top: 6px;">
        <audio controls style="width: 100%;">
          <source src="{{sentence_audio_path}}" type="audio/mpeg">
        </audio>
      </div>

📦 文件说明

  • AnkiDuplicateField.py:主脚本,提取 [sound:xxx.mp3] 并批量写入指定字段
  • 支持自动忽略已有内容,避免重复写入
  • 支持输出日志,可加改为保存 .txt 文件

📋 依赖项

  • AnkiConnect
  • Python 3.x
  • requests 模块(可使用 pip install requests 安装)

💡 未来扩展建议

  • 导出更新记录日志
  • 支持回滚写入
  • 提供 Web UI 管理操作

📬 联系

欢迎通过 Issues 或 Discussions 提出建议或问题。

About

本项目用于辅助 Anki 用户在卡片中实现「带倍速控制的音频播放器」,实现进度条、播放速度调节、循环播放等功能。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages