ɟ频
首先感谢taotao(学苑ID:jintaohu)童鞋和m4gic童鞋的辛勤付出,没有你们两位的研究,iphone版的语音功能不可能这么快实现。 要实现iphone版SuperMemo的语音功能,首先要解决的是如何制作出一体式的smpak文件,这一工作,舍得称其为"打包",就是把当前课程的所有内容都放到一个smpak文件里,只有这样,音频文件才有可能被iphone版的SuperMemo读取. 光有smpak包还不够.你还需要修改SuperMemo的数据库文件(smm.dat),当你通过iphone从SuperMemo官网把课程下载完毕时,程序会做一个导入的工作.很显然我们自制的smpak无法享受这一待遇了,那就需要进行手工修改smm.dat文件. 首先做好smm.dat的备份,以免操作失误.用ifuxbox之类的工具将smm.dat从iphone中复制出来,然后开始用SQLiteExpert对数据库进行修改.事实上,我们只要改两个表的数据就行.下面是基本的步骤: 第一个表叫COURSES,顾名思义就是用来储存课程基本信息的.这个表修改的重点是往里边写入guid号(相当于课程的身份证号,可以在course.xml文件里找到)、课程名称,同时记下CourseId这个数值,以便下一步使用; 第二个表叫ITEMS,这是用来储存课程内容的.当前课程有几个item文件,就得往里写几条记录.修改的重点有以下几条: Id:手工编一个,通常取当前表最大数加1即可; CourseId:上一步得到的数据,这是跟COURSES表关联的重要数据; Number:填item文件的编码即可,如item00289.xml,那就填"289"; Name:参看course.xml中相应item的name值. Question和Answer:重中之重,需要将Item文件中的Question段和Answer段分别写入.比如下面这个文件: <?xml version="1.0" encoding="utf-8"?> <item xmlns="http://www.supermemo.net/2006/smux"> <lesson-title>Cambridge English Grammar in Use</lesson-title> <chapter-title>Have got and Have</chapter-title> <question-title>选择正确的答案(多选题)</question-title> <question>Evan and Jane had a farm in Wales, ______ they? Are they still there?<br/><checkbox display="inline"><option correct="true">didn’t</option><option>weren’t</option><option>hadn’t</option></checkbox><br/></question> <answer></answer> <answer-audio>true</answer-audio> <modified>2011-09-12</modified> <template-id>10005</template-id> <gfx-1 id="5" [...]

近期评论