本项目用于辅助 Anki 用户在卡片中实现「带倍速控制的音频播放器」,实现进度条、播放速度调节、循环播放等功能。
适用于希望在 Anki 卡片中实现:
- 自定义音频播放器(支持播放进度条)
- 倍速播放按钮(0.5x ~ 2x)
- 循环播放选项
- 兼容移动端和桌面端(播放器分离设计)
在你的目标笔记类型中,新建一个字段(例如 sentence_audio_path),用于保存音频文件名,例如:
xxxxxxxxx.mp3
注意:不要包含 [sound:...] 包裹符,只需要文件名本身。
使用本仓库中的 Python 脚本(基于 AnkiConnect 接口):
- 自动查找指定笔记类型中所有带
[sound:xxx.mp3]的字段 - 提取文件名(不含
sound:和方括号) - 批量写入你新建的字段(仅更新为空字段,避免重复写入)
- 原始字段:
sentence_audio(内容为[sound:xxx.mp3]) - 目标字段:
sentence_audio_path(将被写入xxx.mp3)
运行脚本前需确保:
- Anki 已启动并安装 AnkiConnect 插件
- 脚本中
note_type、字段名设置与你当前牌组匹配
在你的卡片模板的 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 提出建议或问题。