我目前正在从事一个将使用媒体覆盖的epub3项目。
我想在每个页面上添加2个按钮,一个用于播放歌曲,另一个用于播放,使用带有媒体覆盖的文字突出显示的歌曲版本。
是否有任何方法可以通过JavaScript访问阅读设备控件以触发类似的内容?换句话说,我想通过单击一个按钮而不是直接使用设备控件来读取读取。
谢谢您的帮助!
简短的答案是:不,没有可靠的,跨平台的方法可以做到这一点。(通过"跨平台"我的意思是"适用于任何任意阅读系统"。)
长答案是:EPUB规范不需要读取系统(RS)公开JavaScript功能。对于确实具有JS功能的RS'ES,EPUB规范不需要它们支持其状态的"操纵"。另外,EPUB规范要求最多与一个SMIL文件关联的每个内容文档(即XHTML文件),而您需要创建两个文件:一个引用完整的音频文件,另一个引用A Capella Audio文件。因此,在纸上,没有办法做您想做的事。
实际上,唯一提供用于控制媒体覆盖的JS手柄的RS是iBooks(请参阅《 iBooks Asset Guide》)。但这仅适用于iBooks,并且仅适用于固定布局(预上网)。
如果您想编码自己的媒体叠加仿真JS库,则可能会查看https://github.com/pettarin/rb_smil_emulator。但是,请注意,我本人对它的使用不屑一顾,因为这是一种非常脆弱的方法。