博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
krpano之字幕添加
阅读量:4695 次
发布时间:2019-06-09

本文共 1297 字,大约阅读时间需要 4 分钟。

字幕是指介绍语音的字幕,字幕随着语音的播放而滚动,随语音暂停而暂停。字幕添加的前提是用之前的方法添加过介绍语音。

原理:

字幕层在溢出隐藏的父元素中向右滑动,当点击声音控制按钮时,字幕位置被固定,再次点击时继续右滑。

效果截图:

步骤及原理:

1.在皮肤.xml文件中添加父元素layer

2.为每一个场景添加字幕。

  在每一个场景标签<scene>中添加字幕标签,模板为:

  其中自定义的属性及含义为:

    parent="skin_subtitles" 定义父元素,将字幕放入第一步定义好的父元素位置。

    html=“”   字幕内容,将需要显示的字幕输入,不可以换行。

    widthss=“1400”  字幕块的宽,也是字幕停止时,左端点的相对位置。需要手动输入,可通过F12查询字幕快的值。

    timess=“30” 介绍音频的长度。需手动输入,就是音频播放时间。用来控制字幕滚动时间。

3.介绍语音控制按钮(暂停/播放按钮)的属性修改

  3.1增加属性

    tfaaa=“true” 标识字幕显示动态。

  3.2 onclick方法中调用字幕控制方法。

    原介绍语音控制按钮:

    修改后控制按钮:

    字幕控制方法代码:(字幕控制方法代码插入至全局事件下方即可)

if(tfaaa, tween(layer[subtitles_text].x,get(layer[subtitles_text].x),0);set(tfaaa,false), mul(mh,layer[subtitles_text].timess,get(layer[subtitles_text].x)); div(mh,get(mh),layer[subtitles_text].widthss); sub(mh,layer[subtitles_text].timess,get(mh)); mod(md,get(mh),1); sub(mh,get(mh),get(md)); tween(layer[subtitles_text].x,get(layer[subtitles_text].widthss),get(mh)); set(tfaaa,true); );

4.在tour.xml中添加全局事件

在切换场景时,上一个场景关闭,将字幕条放在父元素右边固定位置。下一个场景打开时字幕自动向右移。其移动结束位置,和移动时间设置为之前手动输入的数值。

但是场景中全局事件只能有一个,所以需要把这个整合到介绍语音的全局事件内。否则介绍语音不播放。

 

 

原创:转载请标明出处

转载于:https://www.cnblogs.com/s313139232/p/7500502.html

你可能感兴趣的文章
python 字符串 和 print
查看>>
MAC OS下安装Minizip
查看>>
Java_Certificates does not conform to algorithm constraints
查看>>
PAT 1027. Colors in Mars
查看>>
linux定时执行脚本
查看>>
Oauth支持的5类 grant_type 及说明
查看>>
ASP.NET 5 DNX SDK删除旧版本
查看>>
Android ListView 九大重要属性详细分析
查看>>
[LeetCode] 670. Maximum Swap 最大置换
查看>>
CC++中sizeof函数的用法
查看>>
SPFA 算法详解( 强大图解,不会都难!) (转)
查看>>
正则表达式验证
查看>>
QUIC:基于udp的传输新技术
查看>>
java常见面试题及部分答案
查看>>
【HTML代码】访问页面时,拨打页面中的电话号码
查看>>
重构的步骤
查看>>
动态添加方法的代码分析
查看>>
REDIS 安装
查看>>
thinkPHP5.0使用模型新增数据
查看>>
第二次ScrumMeeting
查看>>