让javascript知道epub3电子书中何时播放媒体覆盖
Make javascript aware of when media overlays are being played in an epub3 ebook
我想让一些javascript代码修改作为媒体覆盖(smil驱动)一部分播放的元素的一些属性。特别是,我对文本媒体覆盖感兴趣,当播放一些音频时,它会被突出显示。我的问题有两个:
- 有没有办法查明媒体覆盖是否"活跃"?一些回调功能将是最好的,否则我可以创建一个计时器并不断从js检查状态
- 一旦我知道(如果可能的话)有一个元素被高亮显示,有没有办法知道这个是哪个SMIL ID
EPUB 3规范允许嵌入EPUB容器中的JavaScript内容仅通过epubReadingSystem
对象与读取应用程序"通信"。
不幸的是,该规范只要求公开基本字段,如Reading System的名称和版本,并探测其脚本功能(hasFeature
)。请参阅:http://www.idpf.org/epub/301/spec/epub-contentdocs.html#app-epub读取系统
特别是,没有IDPF指定的方法来获取暴露于嵌入EPUB内的JS的媒体覆盖层的状态(未启动/播放/暂停,哪个片段是活动的,等等)。
当然,理论上,人们可能会为特定的阅读系统找到"破解"方法(尤其是如果它依赖JS作为GUI,如Readium或iBooks),并能够将这些信息路由到EPUB内的JS代码(并由阅读系统呈现)。当然,这种方法是脆弱的——正如你从我之前对我自己的rb_smil_emulator.js
的观察中所知道的。
另一种可能性是只监视DOM,跟踪应用于所有SMIL片段的类的变化,但这种技术可能在定时性能/准确性方面存在问题。
相关文章:
- 如何播放部分音频文件
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 播放当前视频时如何停止其他视频?JavaScript
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- 如何检查用户在html5视频播放器中观看了完整的视频
- 浏览器何时记录历史记录
- tiltSlider播放/暂停视频元素(如果li有当前类)
- 为什么要对define.md和module.exports进行条件检查,以及条件何时通过
- 让javascript知道epub3电子书中何时播放媒体覆盖
- 知道何时从UIWebView中开始播放YouTube视频
- 有没有一种方法可以检测Flash视频何时播放完毕
- 检测何时单击了我网站视频中的播放按钮
- 有没有一种方法可以找出声音何时停止在Javascript中播放
- 了解HTML5视频何时可以在没有黑色背景的情况下播放的事件
- 我如何判断HTML5音频元素何时播放完毕
- 如何在jQuery中监听HTML5视频何时停止播放
- Youtube检测视频何时开始播放
- 检测移动Safari何时因为第二个视频开始而停止播放视频
- 如何知道客户端何时更改了播放时间