1.一种视频直播中的弹幕显示方法,其特征在于,包括以下步骤:
(1)根据移动设备显示屏的横屏高度和预设的弹幕框高度确定每页显示的弹幕数量allcount,并设定弹幕框的初始位置,其中第page个页面上第n个弹幕框的ID为ID(page,n)=page*allcount+n,page表示该弹幕框所在页面的序号,其数值为0至pagenumber-1之间,pagenumber为预设的显示弹幕的页面数量,n为弹幕框从上到下的序号,所有弹幕框的ID构成一个弹幕框ID数组;
(2)初始化并启动定时器NSTimer,其每隔t秒触发一次,其中t的取值范围是0到1秒;
(3)判断弹幕池中是否存在来自服务器端的多个弹幕数据,如果存在则进入步骤(4),否则继续等待弹幕数据;
(4)判断所有pagenumber个页面上是否存在可用的弹幕框,如果是,则转入步骤(5),否则返回步骤(2);
(5)从pagenumber个页面中随机提取一个可用的弹幕框,将弹幕池中最先到达的弹幕数据填充到该弹幕框中,并使该弹幕框从右向左水平匀速移动,将该弹幕框的ID从弹幕框ID数组中移除,并转入弹幕池中下一个弹幕数据,对其重复执行步骤(4),直到用户选择退出弹幕框所在的直播页面为止,过程结束;
其中,待弹幕框从显示屏最右侧移动到显示屏最左侧以后,将该弹幕框的ID放入弹幕框ID数组中进行回收,并将该弹幕框的位置进行复位。
2.根据权利要求1所述的弹幕显示方法,其特征在于,步骤(1)中,每页显示的弹幕数量allcount等于int(screenheight/labelheight),其中screenheight为显示屏的横屏高度,labelheight为弹幕框高度,int表示对括号内的除法结果取整。
3.根据权利要求1所述的弹幕显示方法,其特征在于,弹幕数据在弹幕框中的位置是左居中,弹幕框的初始位置是在显示屏可视范围的右外侧。
4.根据权利要求1所述的弹幕显示方法,其特征在于,如果步骤(4)中确定仅仅存在一个可用的弹幕框,则直接选择该弹幕框进行后续操作。
5.一种视频直播中的弹幕显示系统,其特征在于,包括:
第一模块,用于根据移动设备显示屏的横屏高度和预设的弹幕框高度确定每页显示的弹幕数量allcount,并设定弹幕框的初始位置,其中第page个页面上第n个弹幕框的ID为ID(page,n)=page*allcount+n,page表示该弹幕框所在页面的序号,其数值为0至pagenumber-1之间,pagenumber为预设的显示弹幕的页面数量,n为弹幕框从上到下的序号,所有弹幕框的ID构成一个弹幕框ID数组;
第二模块,用于初始化并启动定时器NSTimer,其每隔t秒触发一次,其中t的取值范围是0到1秒;
第三模块,用于判断弹幕池中是否存在来自服务器端的多个弹幕数据,如果存在则进入第四模块,否则继续等待弹幕数据;
第四模块,用于判断所有pagenumber个页面上是否存在可用的弹幕框,如果是,则转入第五模块,否则返回第二模块;
第五模块,用于从pagenumber个页面中随机提取一个可用的弹幕框,将弹幕池中最先到达的弹幕数据填充到该弹幕框中,并使该弹幕框从右向左水平匀速移动,将该弹幕框的ID从弹幕框ID数组中移除,并转入弹幕池中下一个弹幕数据,对其重复执行第四模块,直到用户选择退出弹幕框所在的直播页面为止,过程结束;
其中,待弹幕框从显示屏最右侧移动到显示屏最左侧以后,将该弹幕框的ID放入弹幕框ID数组中进行回收,并将该弹幕框的位置进行复位。
6.根据权利要求5所述的弹幕显示系统,其特征在于,第一模块中,每页显示的弹幕数量allcount等于int(screenheight/labelheight),其中screenheight为显示屏的横屏高度,labelheight为弹幕框高度,int表示对括号内的除法结果取整。
7.根据权利要求5所述的弹幕显示系统,其特征在于,弹幕数据在弹幕框中的位置是左居中,弹幕框的初始位置是在显示屏可视范围的右外侧。
8.根据权利要求5所述的弹幕显示系统,其特征在于,如果第四模块中确定仅仅存在一个可用的弹幕框,则直接选择该弹幕框进行后续操作。