TA的每日心情 | 怒 5 天前 |
---|
签到天数: 548 天 [LV.9]以坛为家II
|
楼主 |
发表于 2022-4-1 20:27:38
|
显示全部楼层
, M) d% i1 `& `$ C" J% W6 S/ |& i
$ U1 w6 E, K6 l! Z) b. z8 z十分感谢!!我就准备这么做了。另外我也看到了一个帖子,也挺有意思的,与帖子无关,也可以看看学习一下。
8 L& ~4 e6 R6 ~' h( p2 Y! |+ h7 S! ^, c" r# e: g% p
再次感谢!# [2 l* q1 R% J8 K! c" @2 f4 g
" [! X" ]# I3 r9 j$ v
———————————————
0 d4 A! w- B+ H/ q& R
4 J H- A0 o6 Y( x2 T, V 基本流程:
5 B: s( M* G$ _; w( h R) s- 卡负责其模板渲染: render_output
! ]3 W- R; r9 w" r2 ~
) ^- c. ^+ C( H/ ]" }- render_into
3 ?6 E- ^; z3 x' y3 g% o$ v" F; l3 | c5 _3 a6 n9 {
- 从模板解析{{tts en_US voices=Bob,Jane:Field}}并转换为[anki:tts][en_US voices=Bob,Jane]text[/anki:tts] : tts_filter
- 从[anki:tts]转换为[anki:play:q:0] : extract_av_tags/ ^; c9 f! x4 p% m( J
# t9 G/ L1 j, L2 l- w- [sound:]标签也已完成此操作
1 j4 }9 e/ P- Z# Y1 L - 这会将其转换为AVTag的列表,并且文本表示形式引用此列表的索引。+ \3 O4 F5 y! W
; h$ o2 z& L+ C# A9 l N
- AVTag的列表存储在卡中: render_card_from_context , render_card , question_av_tags
: R+ K& w, H, Q5 B, C; C
, G }/ m, w4 _0 O- 列出了两个列表,一个用于问题,一个用于答案。
5 K" b# P: B/ y7 w |+ @& k2 q% P3 [6 f; U; v- t
- 在卡片上渲染: prepare_card_text_for_display
. H/ x% A8 j- c
+ F8 {- Y. x- f; d0 r/ D- [anki:play]转换为svg,其调用pycmd('play:q:0') av_refs_to_play_icons
6 o) f+ g$ s9 f8 K3 x: s7 `1 Y8 ~( a* b, J
- 审阅者将卡中的AVTag传递给sounds.av_player : replay_audio
- aqt.sounds.av_player是玩家列表的抽象。 这些设置为接受AVTag ,并将其排名为setup_audio _best_player_for_tag
- 排名逻辑: voice_for_tag+ Q, J1 ]/ Z; S2 h) i g
* .play在播放器上被调用, - 添加{{tts-voices}}字段: on_tts_voices
; F. L! {- h& N
|
|