我需要在许多网页上同步文字和音频。
播放音频时,文字应逐字逐句地突出显示(不是逐字逐句或按字符突出显示,因此只有短语的开头才需要同步)。
我不想使用仅限闪存的解决方案,我更喜欢使用更友好的HTML。
我想使用两个插件的组合:
然后我可以编写一个jquery脚本来循环各种短语。 第一个问题是JPlayer只有百分比播放事件而不是精确的时间轴事件,因此我需要将每个短语的较小音频文件中的语音文本的完整mp3音频分开(需要长时间的编辑工作和预加载管理)。
有更好的解决方案吗?我应该回到更简单的完整swf解决方案吗?
答案 0 :(得分:3)
您可以做的是在javascript中编写时间轴脚本。当音频开始播放时,您可以为时间线上的每个操作设置超时。这将要求您的音频播放没有任何延迟。
它看起来像这样:
<div>one</div>
<div>two</div>
<div>three</div>
<script>
// this is the timeline
var actions = [ { time : 1, action : function() { $('div:eq(0)').css('color','red') } },
{ time : 1.5, action : function() { $('div:eq(1)').css('color','green') } },
{ time : 2, action : function() { $('div:eq(2)').css('color','blue') } } ];
$(document).ready( function() {
// execute the timeline
for( var i in actions ) {
setTimeout( actions[i].action, actions[i].time * 1000 );
}
});
</script>