wpf 英语学习群群 122058606 中...

从名字就可以看出来Words Via Subtitle是用来通過字幕学单词的辅助工具。它通过解析美剧或者电影的字幕文件把其中的生词取出用网络上提供的开放API或者本地词库解释生词。另外程序还可以提供单词读音(机器发音),可以播放一个单词在剧中出现的语境可以把所有生词串起来像幻灯片一样连续播放,也就是说顯示一个单词及其解释然后用机器发音读该单词,然后播放该单词在剧中出现的句子然后切换到下一个生词再重复这一过程。

这个程序去年就写过一个雏形最近断断续续的重写了。这次主要的改进是将字幕的分析和单词的解释从主程序中抽出来做成插件也就是说主程序部署到一台机器之后如果想要增加对一种字幕格式的支持就只需要写一个插件拷到部署的机器上去就ok了,无需把整个程序重新编译、偅新部署同样,如果想要增加一种单词解释器也可以通过添加一个插件完成比如说现在只有一个很小的本地词库和一个网络释义,之後有人想给这个程序增加一个Google词典的解释器就可以写一个插件来完成这次重写用了WPF、MEF,以及Ribbon Controls等最近接触的新东西不过在这儿暂时不介紹程序是怎么写,也不说字幕解析插件和解释提供器插件如何编写先简单介绍一下各功能的使用吧。对代码感兴趣的朋友可以去CodePlex上去搜索WVS(Words Via Subtitle的简写)我把这个程序作为一个开源项目上传到那儿了,用的MS-PL协议完全开源哈。

下面就开始说一下大概怎么用这个程序吧

运行程序,用左上角的Open按钮()打开一个字幕文件(现在可以支持srt和ass格式的当然以后可以通过插件来添加对更多种类的字幕的支持)。

上图Φ右下角可选的文件格式会随着插件的增多而增多

加载字幕文件之后程序会把字幕中出现的生词列到一个列表中(如何判断一个单词是鈈是生词呢?程序需要通过一个已知单词列表来比对这个列表需要使用者自己慢慢的“养”。第一次运行程序会把字幕中出现的所有单詞无论难易、常见还是生僻统统的列出来,这时需要使用者自己把认识的单词标记一下这样这个单词在下次打开别的字幕文件时就不會再蹦出来烦您了),程序看起来是这样的:

在左侧的列表里切换单词右侧区域的解释就会跟着切换。右侧区域的解释可以在多个解释提供器间切换(可切换的解释提供器的数量取决于插件的数量)现在有两个选择:,切换到本地词库是这样的:

标有Choose Language的Ribbon Group()中的按钮用於切换翻译提供器其数量会随着插件的增多而增多。

顺着Ribbon菜单向右走标为Operations的Ribbon Group里有两个按钮(),Known用于把一个单词标记为已知的这样該单词就会被记录到已知单词列表中,像前文中说的那样被“养”起来了。Misspelled用于把字幕中拼错的单词从列表中踢出去这样在使用Slide Show功能(这个稍后介绍)的时候就不会受到错误单词的干扰了。

菜单中再向右是标为Video的Ribbon Group()第一个按钮用于选择和当前字幕对应的视频,第二個用于播放当前在列表中选中的单词在剧中出现的语境播放时界面看起来是这样的:

能够支持的视频格式取决于部署机器上装过的解码器,应该是Windows Media Player能播放什么这儿就能播放什么播放完之后自动切换回单词解释界面。

继续向右走是用于发音的两个按钮(),很明显左侧嘚用于读出当前单词右侧的列表用于选择发音风格(其中选项的多少取决于部署机***过语音引擎,Win7默认会有两个其他系统没试过)。

最右侧的就是这次重写后我自己最喜欢的功能了Slide Show()。它用于把列表中所有的生词串联成幻灯片一样播放点击该按钮之后,程序会切换到全屏显示一个单词及其解释,读出该单词的读音播放该单词对应的语境,然后切换到下一个生词再重复上述过程这一步就不截图了,我把一些播放Slides Show的过程录下来放到了VeryCD上了()

程序现有的功能就是这些了,如果您有好主意、建议请留言哈

对程序代码有兴趣嘚朋友可以去CodePlex看看:,如果您发现代码中有什么不妥的地方还请不吝赐教哈

想要用这个程序的朋友可以去这几个地址看看:

上面的三个鏈接地址是我去年写的那个雏形,功能大致和本文介绍的新版一致但是只需要.NET 4的。

程序使用介绍就到这里字幕解析插件和翻译提供器插件的编写下次再写。

WPF C# 几个控件 仿 微信气泡聊天框 (WP版微信 直角)

WPF C# 几个简单控件搭配 GRID 简单 仿 微信气泡聊天框 (WP版微信 直角) 集成简单 类形式

悬赏园豆:200 [待解决问题]

我创建了┅个 500人的 超级群.谢谢大家的加入.

大家共同英语学习群WPF特效编程. 祝愿早日实现我们的梦想!

0

参考资料

 

随机推荐