主要制作一个由SMIL编写而成,将图片和音频结合起来的有声绘本。

其实制作过程很简单,只要是理解了流文件,ra音频流文件以及流式文本的编写和使用即可。在CSDN上看到利用SMIL写的程序比较少......其实SMIL和HTML很像,都是标签化语言,不过SMIL一般用于写流文件。

需要注意的是:流文件需要通过realone软件来播放,要提前下载好。

主要成果如图:

步骤1:将图片内容利用SMIL语言组织起来,代码如下:

<smil xmlns="http://www.w3.org/2000/SMIL20/CR/Language">
<head>
<layout>
<!--设置图片的大小和边框样式-->
<root-layout width="1300" height="1050" background-color="#dededc"/>
<region id="image"  left="50" top="20" width="1200" height="900" fit="meet"/>
<region id="text" left="50" top="955" width="1300" height="50" background-color="#dededc"/>
<!--layout标记-->
</layout>
<!--为图片转场添加特效-->
<transition id="fade1" type="fade" subtype="fadeToColor" fadeColor="#dededc" dur="2s"/>
<transition id="fade2" type="fade" subtype="fadeFromColor" fadeColor="#dededc" dur="2s"/>
<transition id="fade3" type="fade" subtype="crossfade" dur="1s"/>
<transition id="wipe1" type="slideWipe" dur="2s"/>
<transition id="wipe2" type="waterfallWipe" dur="2s"/>
<transition id="clockWipe" type="clockWipe" dur="2s"/></head><body>
<!--媒体标记--><par><seq>
<!--将要和背景音乐同步播放的媒体放到这个地方-->
<!--按照begin 和end的时间,添加切换图片。后续代码都是-->
<img src="data:image_0.jpg" region="image" begin="0" end="3" transIn="fade3"  fill="transition"/>
</seq><seq>
<img src="data:image_1_2.jpg" region="image" begin="3" end="14">
<animate attributeName="height" from="300" to="1050" fill="freeze" dur="3s"/> </img>
</seq><seq>
<img src="data:image_3.jpg" region="image" begin="14" end="19" transIn="wipe1" fill="transition"/>
</seq><seq>
<img src="data:image_4.jpg" region="image" begin="19" end="25" transIn="wipe1" fill="transition"/>
</seq><seq>
<img src="data:image_5.jpg" region="image" begin="25" end="30"/>
</seq><seq>
<img src="data:image_6.jpg" region="image" begin="30" end="35" transIn="clockWipe" fill="transition"/>
</seq><seq>
<img src="data:image_7_8.jpg" region="image" begin="35" end="43">
<animateMotion from="0 0" to="900 600" dur="8s"/></img>
</seq><seq>
<img src="data:image_9.jpg" region="image" begin="43" end="49" transIn="fade3"  fill="transition"/>
</seq><seq>
<img src="data:image_10.jpg" region="image" begin="49" end="54">
<animateMotion from="0 0" to="900 -600" dur="5s"/></img>
</seq><seq>
<img src="data:image_11_12.jpg" region="image" begin="54" end="63" transIn="wipe1" fill="transition"/>
</seq><seq>
<img src="data:image_13.jpg" region="image" begin="63" end="69" transIn="fade1"  fill="transition"/>
</seq><textstream src="text.rt" region="text" fill="remove"/>
<!--添加背景音-->
<audio src="background.ra"/>
</par></body></smil>

步骤2 为该文件添加字幕

RealText也属于XML。故字幕也要编写为*.rt(realtext)的流式文本。

<window type="TelePrompter" width=1300" height="50" duration="1:09.0" wordwrap="false" bgcolor="#dededc">
<font color="black" size="5" charset="gb2312"><center><br/><b><time begin="0" end="3"/>《拇指姑娘》</b><br/><time begin="3" end="8"/>花盆里的花开了,从花里出来一个美丽的小姑娘。<br/><time begin="8" end="14"/>小姑娘十分漂亮,既会唱歌,又会跳舞,惹人疼爱。<br/><time begin="14" end="19"/>因为她只有拇指那么大,人们把她叫做拇指姑娘。<br/><time begin="19" end="25"/>晚上,一只大蛤蟆爬进屋,把正在睡觉的拇指姑娘叼走了。<br/><time begin="25" end="30"/>大蛤蟆说:“拇指姑娘,你是我的玩具,对吗?”<br/><time begin="30" end="35"/>拇指姑娘哭着说:“不是,不是,我不喜欢你!”<br/><time begin="35" end="40"/>一片绿叶当小船,拇指姑娘悄悄地逃走了。<br/><time begin="40" end="43"/>她用力划船,想逃的远远的。<br/><time begin="43" end="49"/>可怜的拇指姑娘又被老鼠捉住了,老鼠要把她当点心吃。<br/><time begin="49" end="54"/>听见哭声,一群小鸟飞来,救走了拇指姑娘。<br/><time begin="54" end="58"/>他们飞过森林,飞过高山,飞过大海......<br/><time begin="58" end="63"/>小鸟带着拇指姑娘来到了一个开满鲜花的小人国。<br/><time begin="63" end="69"/>在这个美丽的小人国里,拇指姑娘生活的非常幸福。</center>
</font>
</window>

基于流文件和SMIL同步制作的有声绘本相关推荐

  1. c语言开发五轴后处理,基于UGCLS文件使用C语言制作智能后处理工具.doc

    基于UGCLS文件使用C语言制作智能后处理工具 基于UG CLS文件使用C语言制作智能后处理工具 发表时间:2008-9-10 张伟 基于UGCLS文件特性,利用C语言制作附带业务规则的后处理工具的一 ...

  2. linux 带缓存的fwrite,文件IO编程之(六):基于流缓冲 fopen,fwrite,fput

    标准IO开发 前面分析的文件IO编程都是基于文件描述符的.这些都是基本的IO控制,是不带缓存的. 这里要讨论的IO操作是基于流缓冲的,它是符合ANSIC的标准IO处理. 标准IO提供流缓冲的目的是尽可 ...

  3. 基于流式输入输出 使用Java借助GSON库 实现对大型asc文件的读入解析 并输出为JSON文件

    基于流式输入输出 使用Java借助GSON库 实现对大型asc文件的读入解析 并输出为JSON文件 致谢 1 为什么要使用流式输入输出(使用情景) 2 目标.主要思路及相关方法 2.1 目标 2.2 ...

  4. c语言开发五轴后处理,「数控干货」基于UG CLS文件使用 C 语言制作智能后处理工具...

    原标题:「数控干货」基于UG CLS文件使用 C 语言制作智能后处理工具 1 前言 UG 后处理操作是 UGCAM 数控加工工作中一个重要环节,主要任务是把在 UG 加工环境下生成的加工刀位文件转换成 ...

  5. 基于busybox的Linux小系统制作 (initrd)

    我们有时候有需要在busybox基础上,制作linux,可是却不知道具体怎么做,这里将对基于busybox的linux小系统制作做出详细的步骤说明. 准备环境: 1.一个Redhat完整系统的虚拟机, ...

  6. sersync + rsync 实现文件的实时同步

    这里有一点要特别注意了,就是在你完成备份之后,先不要把本地的文件都给删除了,先把服务停了之后再删除文件, 因为你已删除,检查到两边不一致,他又会把备份端给删除了.所以特别得注意了.这里吃过一次亏. 还 ...

  7. 基于pygame的射击小游戏制作(一)让飞船动起来

    基于pygame的射击小游戏制作(一)让飞船动起来 一.文件结构 alien_invasion.py 是整个系统的主文件,用来创建游戏中的一系列对象,ai_settings存储设置.screen存储显 ...

  8. 2017云栖大会·杭州峰会:《在线用户行为分析:基于流式计算的数据处理及应用》之《数据可视化:构建实时动态运营数据分析大屏》篇...

    实验背景介绍 了解更多2017云栖大会·杭州峰会 TechInsight & Workshop. 本手册为云栖大会Workshop之<在线用户行为分析:基于流式计算的数据处理及应用> ...

  9. 60秒计时器的仿真电路_基于伏秒平衡的同步整流方案探讨

    为了提高电源的效率和功率密度,尤其是低输出电压的应用场合,同步整流是不可或缺的. 图1-1 反激输出二极管损耗 比如上图的反激电源如果输出二极管 Vf=0.7V,输出电压 Vout=3V 则效率不会高 ...

最新文章

  1. 认真对待学习(2月反思)
  2. Could not GET “XXXXX.xml”Received status code 400
  3. python怎么导入时间-python 插入日期数据到Oracle
  4. 54. Spiral Matrix
  5. Icon class生成器(Python)
  6. SAP UI5 应用开发教程之四十一 - Chrome 扩展 UI5 Inspector 的离线安装和使用方法试读版
  7. 远程桌面最新漏洞CVE-2019-0708 POC利用复现
  8. python多线程协程配合使用_多线程配合协程
  9. 树莓派之安装dlna服务
  10. 配置在一台三层交换上,不同VLAN相互通信
  11. 联想无线网卡 linux驱动,联想R7000 Ubuntu无线网卡驱动
  12. git鉴权失败问题 以及每次clone 都要输入用户名密码问题
  13. GIF是什么格式的文件
  14. Android中的保活机制
  15. 智能管家---11. 用户重置密码功能实现(忘记密码或重置)
  16. k8s学习笔记5-部署和应用ingress-nginx-controller(v1.3.0)
  17. 【复杂网络学习笔记】1:基本知识和小世界网络初步建立
  18. 人工智能学习体系大纲
  19. 深入理解数据库当中的聚合函数
  20. 杰理芯片移植涂鸦OTA步骤

热门文章

  1. 1.5 Illustrator视图的放大与缩小
  2. pip报错:No module named pip
  3. 查看当前目录和上一级目录的命令
  4. c语言访问mysql,C语言访问mysql数据库
  5. Androidnbsp;学习论坛博客及网站推荐(…
  6. MySQL数据库-设置数据完整性
  7. FineReport报表工具激活码
  8. jmeter-----使用
  9. CentOS 7.5 搭建以太坊私联(联盟链)及区块链浏览器
  10. BaseAdapter 的notifyDataSetInvalidated 和notifyDataSetChanged