首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取Smil文件

读取Smil文件
EN

Stack Overflow用户
提问于 2018-08-13 04:01:53
回答 1查看 600关注 0票数 1

我的epub3文档中有一个包含几行文本的页面。当用户按下一条线路时,我使用html5音频元素播放与该线路相关联的音频。所有的音频都存储在一个mp3/ogg文件中。因此,我想我可以在smil文件中定义它们,而不是在javascript中定义每一行的开始和结束时间。我是否应该使用Html5 file API读入smil文件,或者是否有其他方法?

EN

回答 1

Stack Overflow用户

发布于 2018-08-21 03:49:16

通过使用,Smil文件,你可以使用音频文件来读取行。

在HTML代码中,你需要将句子拆分成单词,例如。w01,w02 ....并创建smil文件,这里在第3.mp3页使用ClipBeginClipEnd根据该单词分割剪辑秒数。(您可以使用音频编辑器,如GoldWave来分割剪辑秒数)。将以下代码添加到您的包文件中。

HTML代码:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" 
xmlns:ev="http://www.w3.org/2001/xml-events">
<head>
<meta name="viewport" content="width=623, height=911" />
<meta charset="UTF-8"/>
<title>Page 03</title>
</head>
<body>
<div class="page3_item1">
<span id="w01">Some</span> <span id="w02">animals</span> <span id="w03">hide</span> 
<br/><span id="w04">to</span> <span id="w05">stay</span> <span id="w06">safe</span> 
<span id="w07">from</span> <span id="w08">enemies</span>.</div>
<audio id="myaudio">
<source src="audio/page3.mp3" type="audio/mpeg"/>
</audio>
</body>
</html>

SMIL文件编码:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<smil xmlns="http://www.w3.org/ns/SMIL" version="3.0" 
xmlns:epub="http://www.idpf.org/2007/ops">
<body>
<par id="p_w01"><text src="p03.xhtml#w01"/><audio src="audio/page3.mp3"  
clipBegin="0s" clipEnd="10s"/></par>
<par id="p_w02"><text src="p03.xhtml#w02"/><audio src="audio/page3.mp3"  
clipBegin="11s" clipEnd="18s"/></par>
<par id="p_w03"><text src="p03.xhtml#w03"/><audio src="audio/page3.mp3"  
clipBegin="19s" clipEnd="24s"/></par>
<par id="p_w04"><text src="p03.xhtml#w04"/><audio src="audio/page3.mp3"  
clipBegin="25s" clipEnd="35s"/></par>
<par id="p_w05"><text src="p03.xhtml#w05"/><audio src="audio/page3.mp3"  
clipBegin="36s" clipEnd="40s"/></par>
<par id="p_w06"><text src="p03.xhtml#w06"/><audio src="audio/page3.mp3"  
clipBegin="41s" clipEnd="48s"/></par>
<par id="p_w07"><text src="p03.xhtml#w07"/><audio src="audio/page3.mp3"  
clipBegin="49s" clipEnd="58s"/></par>
<par id="p_w08"><text src="p03.xhtml#w08"/><audio src="audio/page3.mp3"  
clipBegin="59s" clipEnd="65s"/></par>
</body>
</smil>

程序包文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<package>
<metadata>
<meta property="media:duration" refines="#p03smil">0:00:04.600</meta>
</metadata>

<manifest>
<item id="page3" href="audio/page3.mp3" media-type="audio/mpeg"/>
<item id="p03smil" href="smil/p03.smil" media-type="application/smil+xml"/>
</manifest>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51812380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档