CN114489875A - 一种播放器控制方法、装置、存储介质及电子设备 - Google Patents
一种播放器控制方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114489875A CN114489875A CN202011146839.8A CN202011146839A CN114489875A CN 114489875 A CN114489875 A CN 114489875A CN 202011146839 A CN202011146839 A CN 202011146839A CN 114489875 A CN114489875 A CN 114489875A
- Authority
- CN
- China
- Prior art keywords
- container
- list
- view
- function
- calling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000006870 function Effects 0.000 claims abstract description 67
- 238000012544 monitoring process Methods 0.000 claims abstract description 19
- 238000013507 mapping Methods 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
Abstract
本发明公开了一种播放器控制方法、装置、电子设备及存储介质。其中方法包括:调用容器定义函数,创建视图容器和列表容器,并基于内存对象创建函数创建内存对象,将内存对象与视图容器设置映射关系;获取初始布局参数,基于初始布局参数对视图容器和列表容器进行参数设置;调用监听器定义函数,定义一监听器对象,设置内存对象对监听器对象的监听,其中,监听器对象用于监听列表容器的当前偏移量;调用判定函数,确定视图容器的当前状态间距和列表容器的当前偏移量是否相匹配,若否,则基于列表容器的当前偏移量设置视图容器的当前状态间距。实现了对播放器的自适应动态控制,提高了播放器的兼容性。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种播放器控制方法、装置、存储介质及电子设备。
背景技术
随着网络技术的不断发展,各种音视频相关的播放器被广泛应用。
但是,目前的播放器的屏幕一般只包括半屏和横屏两种情况,且屏幕尺寸包括不变,不法适应不同视频类型的播放。
发明内容
本发明提供一种播放器控制方法、装置、存储介质及电子设备,以实现对播放器的自适应控制。
第一方面,本发明实施例提供了一种播放器控制方法,包括:
调用容器定义函数,创建视图容器和列表容器,并基于内存对象创建函数创建内存对象,将所述内存对象与所述视图容器设置映射关系;
获取初始布局参数,基于所述初始布局参数对所述视图容器和所述列表容器进行参数设置;
调用监听器定义函数,定义一监听器对象,设置所述内存对象对所述监听器对象的监听,其中,所述监听器对象用于监听所述列表容器的当前偏移量;
调用判定函数,确定所述视图容器的当前状态间距和所述列表容器的当前偏移量是否相匹配,若否,则基于所述列表容器的当前偏移量设置所述视图容器的当前状态间距。
第二方面,本发明实施例还提供了一种播放器控制装置,包括:
容器创建模块,用于调用容器定义函数,创建视图容器和列表容器,并基于内存对象创建函数创建内存对象,将所述内存对象与所述视图容器设置映射关系;
初始布局参数设置模块,用于获取初始布局参数,基于所述初始布局参数对所述视图容器和所述列表容器进行参数设置;
监听器设置模块,用于调用监听器定义函数,定义一监听器对象,设置所述内存对象对所述监听器对象的监听,其中,所述监听器对象用于监听所述列表容器的当前偏移量;
状态判断模块,用于调用判定函数,确定所述视图容器的当前状态间距和所述列表容器的当前偏移量是否相匹配;
视图容器控制模块,用于若所述视图容器的当前状态间距和所述列表容器的当前偏移量不对应,则基于所述列表容器的当前偏移量设置所述视图容器的当前状态间距。
第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的播放器控制方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的播放器控制方法。
本发明提供的实施例,通过在创建视图容器和列表容器之后,定义一监听器,以使视图容器关联的内存对象通过该监听器监听列表容器的偏移量,并基于偏移量动态调节视图容器的布局参数,实现了对播放器的自适应动态控制,可兼容不同类型的视频播放,提高了播放器的适应性。
附图说明
图1为本发明实施例一提供的一种播放器控制方法的流程示意图;
图2A是本发明实施例提供的播放器显示界面的示意图;
图2B是本发明实施例提供的播放器显示界面的示意图;
图3是本发明实施例提供的一种播放器显示界面的示意图;
图4是本发明实施例二提供的一种播放器控制装置的结构示意图;
图5为本发明实施例三提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种播放器控制方法的流程示意图,本实施例可适用于对Android系统中播放器进行自适应控制的情况,该方法可以由本发明实施了提供的播放器控制装置来执行,该装置可通过软件和/或硬件方式实现,一般集成于配置有播放器的终端内。具体包括如下步骤:
S110、调用容器定义函数,创建视图容器和列表容器,并基于内存对象创建函数创建内存对象,将所述内存对象与所述视图容器设置映射关系。
播放器显示界面包括视图区域和列表区域,该视图区域用于播放视频内容,列表区域用于显示播放的视频内容相关的列表信息。本实施例中,通过定义视图容器和列表容器,其中,视图容器设置在视图区域,用于播放视频内容,列表容器设置在列表区域,用于显示视频内容相关的列表信息。本实施例中,视图容器和列表容器上下排布或左右排布。示例性的,参见图2A和图2B,图2A和图2B分别是本发明实施例提供的播放器显示界面的示意图,其中,图2A中显示界面中上一容器为视图容器,下一容器为列表容器,图2B中显示界面中左侧容器为视图容器,右侧容器为列表容器。需要说明的是,图2A和图2B中视图容器和列表容器的尺寸仅为一种示例,在不同的实施例中,视图容器和列表容器的尺寸可根据需求变化。通过分别创建视图容器和列表容器,分别显示视频内容和列表信息,便于用户在同一显示界面中浏览不同显示内容。
具体的,可以是定义一个类型为RelativeLayout的变量playerViewContainer,该变量playerViewContainer用于表示视图容器的容器信息,并对该变量playerViewContainer初始化为null的空对象,示例性的,视图容器的定义函数例如可以是:private var playerViewContainer:RelativeLayout?=null。同理,基于上述定义方式定义列表容器。
调用对象创建函数findViewById来构建id为mz_player_view_container的对象并赋值给playerViewContainer对象,形成内存对象,将内存对象playerViewContainer与视图容器之间设置映射关系,具体的,可以是通过以下函数将视图容器与创建的内存对象进行映射:
playerViewContainer=findViewById(R.id.mz_player_view_container)。
S120、获取初始布局参数,基于所述初始布局参数对所述视图容器和所述列表容器进行参数设置。
本实施例中,视图容器和列表容器的布局参数可根据用户需求自适应设置,在检测到播放器显示界面的触发指令时,获取视图容器和列表容器的初始布局参数,进行设置形成播放器的初始显示界面。其中初始布局参数可以包括视图容器和列表容器的屏幕占比,在竖屏显示界面(参见图2A)中,初始布局参数可以包括视图容器和列表容器的高度参数,还可以是视图容器和列表容器的高度比例,在横屏显示界面(参见图2B)中,初始布局参数可以包括视图容器和列表容器的宽度参数,还可以是视图容器和列表容器的宽度比例。在一些实施例中,初始布局参数可以是固定设置,在检测到播放器显示界面的触发指令时时,调用该固定的初始布局参数即可,例如初始布局参数可以是视图容器和列表容器的高度比例为3:1或者4:1等。示例性的,获取初始布局参数,可以是基于高度获取函数DYScreenWindowUtils.getScreenHeight(),获取屏幕高度信息,并基于所述视图容器和所述列表容器的初始占屏比例确定所述视图容器和所述列表容器的初始高度信息,例如,视图容器和列表容器的高度比例为4:1,视图容器的初始高度信息initHeight为屏幕高度信息的4/5。相应的,对于横屏显示界面中,可以是基于视图容器和列表容器的初始占屏比例确定所述视图容器和所述列表容器的初始宽度信息。
在一些实施例中,还可以是根据待播放视频的相关信息和当前播放设备的屏幕信息中的一项或多项进行设置。可选的,获取初始布局参数,包括:获取待播放视频类型,其中,所述待播放视频类型包括横屏视频和竖屏视频;根据所述待播放视频类型调用对应的初始布局参数。对于横屏视频和竖屏视频,视频高度视频宽度的不同,相应的,预先设置竖屏显示模式下,横屏视频和竖屏视频分别对应的初始布局参数,或者横屏显示模式下横屏视频和竖屏视频分别对应的初始布局参数。在一些实施例中,还可以是根据待播放视频类型确定竖屏显示或横屏显示,示例性的,横屏视频可以是横屏显示,竖屏视频可以是竖屏显示。基于待播放视频的视频类型对应的初始布局参数对视图容器和所述列表容器进行针对性的参数设置,避免了视频类型与初始布局参数不匹配的情况,减少了用户手动调节过程。需要说明的是,显示屏幕上还可以包括显示模式的转换控件,便于控制竖屏显示和横屏显示的转换。目前播放器的横屏显示中仅包括全屏模式,无法在显示视频画面的同时显示列表信息,本实施例中通过设置视图容器和列表容器左右排布的横屏模式,在扩展视频画面显示尺寸的基础上,显示列表内容,兼顾了用户的多种需求。
在一些实施例中,在竖屏显示时,还可以是根据待播放视频的高度与宽带的比例,以及当前播放设备的屏幕信息(例如屏幕宽度),确定视图容器的高度,相应的,基于当前播放设备的屏幕高度和视图容器的高度确定列表容器的高度,形成初始布局参数,对视图容器和列表容器根据待播放视频进行精准的自适应始设置,适应于各种类型的视频,提高播放器的兼容性。
在一些实施例中,在竖屏显示时,基于所述初始布局参数对所述视图容器和所述列表容器进行参数设置可以是:调用所述视图容器的布局参数layoutParams中的高度属性height设置高度为视图容器的初始高度信息,调用列表容器的布局参数layoutParams中的高度属性height设置高度为列表容器的初始高度信息。相应的,在横屏显示时,可以是调用所述视图容器的布局参数layoutParams中的宽度属性设置宽度为视图容器的初始宽度信息,以及调用列表容器的布局参数layoutParams中的宽度属性height设置宽度为列表容器的初始宽度信息。
S130、调用监听器定义函数,定义一监听器对象,设置所述内存对象对所述监听器对象的监听,其中,所述监听器对象用于监听所述列表容器的当前偏移量。
本实施例中,视图容器与列表容器的布局信息可根据用户操作进行动态设置,以满足用户需求。具体的,通过设置监听器,为视图容器的布局参数调节提供技术支持,便于实时确定视图容器的布局参数变化,以使视图容器对应的内存对象实时监听列表对象的布局参数,当列表对象的布局参数发生变化时,适应性的调节视图容器的布局参数,实现播放器的动态控制。
具体的,调用监听器定义函数定义监听器对象onOffsetChangedListener,将所述定义监听器对象onOffsetChangedListener初始化为协议类型DYLayout.OnOffsetChangedListener的对象,其中,通过设置关键字object表征该对象DYLayout.OnOffsetChangedListener为协议类型。复写所述协议类型DYLayout.OnOffsetChangedListener的回调函数,其中,所述回调函数包括入参参数为int类型的偏移量对象verticalOffset,其中,所述偏移量对象verticalOffset用于标记所述列表容器的当前偏移量。
示例性的,监听器对象onOffsetChangedListener的定义函数例如可以是:
调用内存对象playerViewContainer中的对象监听函数,该对象监听函数为addOffsetListener(onOffsetChangedListener),在所述内存对象中添加对所述监听器对象onOffsetChangedListener的监听,相应的,内存对象playerViewContainer可监听列表容器的当前偏移量。具体的,在视屏显示时,当列表容器向上滑动或向下滑动时,产生高度偏移量,可选的,可以是在列表容器对应的显示屏区域中检测到向上或向下的滑动手势时,产生高度偏移量。可选的,还可以是检测到列表容器与视图容器的分割线被按压的向上滑动手势或向下滑动手势时,产生高度偏移量。相应的,在横屏显示时,当列表容器向左或相应滑动是,产生宽度偏移量。
可选的,内存对象playerViewContainer通过监听器对象实时监听列表容器的当前偏移量,还可以是在检测列表容器的滑动操作时,监听列表容器的当前偏移量。
需要说明的是,当前偏移量可以标记为verticalOffset,该当前偏移量可以为正值或负值,根据屏幕坐标系的原点设置位置确定。以竖屏显示为例,当原点设置为屏幕的左上角或右上角时,列表容器向上滑动产生的当前偏移量verticalOffset为负值,当原点设置为左下角或右下角时,列表容器向上滑动产生的当前偏移量verticalOffset为正值。
S140、调用判定函数,确定所述视图容器的当前状态间距和所述列表容器的当前偏移量是否相匹配。若否,则执行步骤S150,若是,则返回重复执行步骤S140。
S150、基于所述列表容器的当前偏移量设置所述视图容器的当前状态间距。
以竖屏显示,且屏幕坐标系的原点设置在屏幕左上角为例,视图容器的当前状态间距,可以是向上间距,即为视图容器的高度,列表容器的当前偏移量可以是列表容器上边缘的高度坐标,为负值。对于任意时刻,监听列表容器的当前偏移量,判定视图容器的当前状态间距与列表容器的当前偏移量是否相匹配,若是,无需对视图容器进行布局参数调节,直接通过return返回,并继续监听列表容器的当前偏移量。若否,则根据列表容器的当前偏移量实时调节视图容器的当前状态间距,以使二者相匹配。
示例性的,判定函数可以是If(playerViewContainerParams.topMargin==-verticalOffset){
Return
}
相应的,以横屏显示,且屏幕坐标系的原点设置在屏幕左上角为例,参见图2B,视图容器的当前状态间距可以是向左间距,即为视图容器的宽度,列表容器的当前偏移量可以是列表容器上边缘的宽度坐标,为正值。对于任意时刻,监听列表容器的当前偏移量,判定视图容器的当前状态间距与列表容器的当前偏移量是否相匹配,若是,无需对视图容器进行布局参数调节,直接通过return返回,并继续监听列表容器的当前偏移量。若否,则根据列表容器的当前偏移量实时调节视图容器的当前状态间距,以使二者相匹配。
需要说明的是,内存对象playerViewContainer时在RelativeLayout布局中,因此,在所述调用判定函数,确定所述视图容器的当前状态间距和所述列表容器的当前偏移量是否相匹配之前,还包括:调用布局信息获取函数获取内存对象playerViewContainer的布局参数;将所述布局参数转换为RelativeLayout.LayoutParams类型的对象,便于对内存对象playerViewContainer的布局参数的设置。具体的,可以是通过如下函数实现:
val playerViewContainerParams=playerViewContainer?.layoutParams asRelativeLayout.LayoutParams
相应的,基于所述列表容器的当前偏移量设置所述视图容器的当前状态间距,包括:基于所述布局参数设置函数,将所述RelativeLayout.LayoutParams对象设置为所述当前偏移量对应的正值,例如布局参数设置函数可以是playerViewContainerParams.topMargin=-verticalOffset,相应的,当verticalOffset本申请为正值时,无需在verticalOffset之前添加负号;调用回填函数,将所述RelativeLayout.LayoutParams对象回填至所述内存对象playerViewContainer中,具体的,回填函数可以是playerViewContainer?.layoutParams=playerViewContainerParams。
可选的,基于所述列表容器的当前偏移量设置所述视图容器的当前状态间距之前,还包括:判断所述列表容器的当前偏移量是否超出偏移阈值,若是,则调用目标偏移量设置所述视图容器的当前状态间距。其中,偏移阈值可以是包括向上移动的最小阈值,和向下滑动的最大阈值。相应的,当所述列表容器的当前偏移量小于最小阈值,或者大于最大阈值时,基于目标偏移量(最小阈值或最大阈值)设置所述视图容器的当前状态间距,避免列表容器的调节过程影响视频的正常播放。
需要说明的是,视图容器用于显示视频画面,视频画面的尺寸可以是与视图容器的尺寸相同或不同,当视图容器的尺寸大于视频画面的尺寸时,在视图容器的中心位置进行显示,其边缘显示为黑色,示例性的,参见图3,图3是本发明实施例提供的一种播放器显示界面的示意图。当视图容器的布局参数发生变化时,可通过增大或减小黑色显示区域,或者等比例调节视频画面的尺寸方式进行调节。
本实施例的技术方案,通过在创建视图容器和列表容器之后,定义一监听器,以使视图容器关联的内存对象通过该监听器监听列表容器的偏移量,并基于偏移量动态调节视图容器的布局参数,实现了对播放器的自适应动态控制,可兼容不同类型的视频播放,提高了播放器的适应性。
实施例二
图4是本发明实施例二提供的一种播放器控制装置的结构示意图,该装置包括:
容器创建模块210,用于调用容器定义函数,创建视图容器和列表容器,并基于内存对象创建函数创建内存对象,将所述内存对象与所述视图容器设置映射关系;
初始布局参数设置模块220,用于获取初始布局参数,基于所述初始布局参数对所述视图容器和所述列表容器进行参数设置;
监听器设置模块230,用于调用监听器定义函数,定义一监听器对象,设置所述内存对象对所述监听器对象的监听,其中,所述监听器对象用于监听所述列表容器的当前偏移量;
状态判断模块240,用于调用判定函数,确定所述视图容器的当前状态间距和所述列表容器的当前偏移量是否相匹配;
视图容器控制模块250,用于若所述视图容器的当前状态间距和所述列表容器的当前偏移量不对应,则基于所述列表容器的当前偏移量设置所述视图容器的当前状态间距。
可选的,初始布局参数设置模块220用于:
基于高度获取函数,获取屏幕高度信息,并基于所述视图容器和所述列表容器的初始占屏比例确定所述视图容器和所述列表容器的初始高度信息;
调用所述视图容器的布局参数layoutParams中的高度属性height设置高度为初始高度信息。
可选的,监听器设置模块230用于:
调用监听器定义函数定义监听器对象onOffsetChangedListener,将所述定义监听器对象onOffsetChangedListener初始化为协议类型DYLayout.OnOffsetChangedListener的对象,并复写所述协议类型DYLayout.OnOffsetChangedListener的回调函数,其中,所述回调函数包括入参参数为int类型的偏移量对象verticalOffset,其中,所述偏移量对象verticalOffset用于标记所述列表容器的当前偏移量;
调用内存对象中的对象监听函数,在所述内存对象中添加对所述监听器对象onOffsetChangedListener的监听。
可选的,该装置还包括:
布局参数类型转换模块,用于在所述调用判定函数,确定所述视图容器的当前状态间距和所述列表容器的当前偏移量是否相匹配之前,调用布局信息获取函数获取内存对象playerViewContainer的布局参数,将所述布局参数转换为RelativeLayout.LayoutParams类型的对象。
可选的,视图容器控制模块250用于:
基于所述布局参数设置函数,将所述RelativeLayout.LayoutParams对象设置为所述当前偏移量对应的正值;
调用回填函数,将所述RelativeLayout.LayoutParams对象回填至所述内存对象playerViewContainer中。
可选的,该装置还包括:
偏移阈值判断模块,用于在所述基于所述列表容器的当前偏移量设置所述视图容器的当前状态间距之前,判断所述列表容器的当前偏移量是否超出偏移阈值,若是,则调用目标偏移量设置所述视图容器的当前状态间距。
可选的,初始布局参数设置模块220用于:
获取待播放视频类型,其中,所述待播放视频类型包括横屏视频和竖屏视频;
根据所述待播放视频类型调用对应的初始布局参数。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例三
图5为本发明实施例三提供的一种电子设备的结构示意图。图5示出了适于用来实现本发明实施方式的电子设备12的框图。图5显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备12典型的是承担图像分类功能的电子设备。
如图5所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器16,存储装置28,连接不同系统组件(包括存储装置28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储装置28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块26的程序36,可以存储在例如存储装置28中,这样的程序模块26包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块26通常执行本发明所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、摄像头、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在存储装置28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的播放器控制方法。
实施例四
本实施例提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行本发明任意实施例所提供的播放器控制方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的播放器控制方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种播放器控制方法,其特征在于,包括:
调用容器定义函数,创建视图容器和列表容器,并基于内存对象创建函数创建内存对象,将所述内存对象与所述视图容器设置映射关系;
获取初始布局参数,基于所述初始布局参数对所述视图容器和所述列表容器进行参数设置;
调用监听器定义函数,定义一监听器对象,设置所述内存对象对所述监听器对象的监听,其中,所述监听器对象用于监听所述列表容器的当前偏移量;
调用判定函数,确定所述视图容器的当前状态间距和所述列表容器的当前偏移量是否相匹配,若否,则基于所述列表容器的当前偏移量设置所述视图容器的当前状态间距。
2.根据权利要求1所述的方法,其特征在于,所述获取初始布局参数,基于所述初始布局参数对所述视图容器和所述列表容器进行参数设置,包括:
基于高度获取函数,获取屏幕高度信息,并基于所述视图容器和所述列表容器的初始占屏比例确定所述视图容器和所述列表容器的初始高度信息;
调用所述视图容器的布局参数layoutParams中的高度属性height设置高度为初始高度信息。
3.根据权利要求1所述的方法,其特征在于,所述调用监听器定义函数,定义一监听器对象,设置所述内存对象对所述监听器对象的监听,包括:
调用监听器定义函数定义监听器对象onOffsetChangedListener,将所述定义监听器对象onOffsetChangedListener初始化为协议类型DYLayout.OnOffsetChangedListener的对象,并复写所述协议类型DYLayout.OnOffsetChangedListener的回调函数,其中,所述回调函数包括入参参数为int类型的偏移量对象verticalOffset,其中,所述偏移量对象verticalOffset用于标记所述列表容器的当前偏移量;
调用内存对象中的对象监听函数,在所述内存对象中添加对所述监听器对象onOffsetChangedListener的监听。
4.根据权利要求1所述的方法,其特征在于,在所述调用判定函数,确定所述视图容器的当前状态间距和所述列表容器的当前偏移量是否相匹配之前,还包括:
调用布局信息获取函数获取内存对象playerViewContainer的布局参数;
将所述布局参数转换为RelativeLayout.LayoutParams类型的对象。
5.根据权利要求4所述的方法,其特征在于,所述基于所述列表容器的当前偏移量设置所述视图容器的当前状态间距,包括:
基于所述布局参数设置函数,将所述RelativeLayout.LayoutParams对象设置为所述当前偏移量对应的正值;
调用回填函数,将所述RelativeLayout.LayoutParams对象回填至所述内存对象playerViewContainer中。
6.根据权利要求1所述的方法,其特征在于,在所述基于所述列表容器的当前偏移量设置所述视图容器的当前状态间距之前,还包括:
判断所述列表容器的当前偏移量是否超出偏移阈值,若是,则调用目标偏移量设置所述视图容器的当前状态间距。
7.根据权利要求1所述的方法,其特征在于,所述获取初始布局参数,包括:
获取待播放视频类型,其中,所述待播放视频类型包括横屏视频和竖屏视频;
根据所述待播放视频类型调用对应的初始布局参数。
8.一种播放器控制装置,其特征在于,包括:
容器创建模块,用于调用容器定义函数,创建视图容器和列表容器,并基于内存对象创建函数创建内存对象,将所述内存对象与所述视图容器设置映射关系;
初始布局参数设置模块,用于获取初始布局参数,基于所述初始布局参数对所述视图容器和所述列表容器进行参数设置;
监听器设置模块,用于调用监听器定义函数,定义一监听器对象,设置所述内存对象对所述监听器对象的监听,其中,所述监听器对象用于监听所述列表容器的当前偏移量;
状态判断模块,用于调用判定函数,确定所述视图容器的当前状态间距和所述列表容器的当前偏移量是否相匹配;
视图容器控制模块,用于若所述视图容器的当前状态间距和所述列表容器的当前偏移量不对应,则基于所述列表容器的当前偏移量设置所述视图容器的当前状态间距。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的播放器控制方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的播放器控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011146839.8A CN114489875A (zh) | 2020-10-23 | 2020-10-23 | 一种播放器控制方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011146839.8A CN114489875A (zh) | 2020-10-23 | 2020-10-23 | 一种播放器控制方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114489875A true CN114489875A (zh) | 2022-05-13 |
Family
ID=81470149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011146839.8A Pending CN114489875A (zh) | 2020-10-23 | 2020-10-23 | 一种播放器控制方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489875A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106454477A (zh) * | 2016-08-10 | 2017-02-22 | 北京金山安全软件有限公司 | 直播视频处理方法、装置及终端设备 |
US20170161232A1 (en) * | 2015-12-08 | 2017-06-08 | Le Holdings (Beijing) Co., Ltd. | Method and electronic device for configuring a video player in a web page |
CN108234763A (zh) * | 2017-12-29 | 2018-06-29 | 广州优视网络科技有限公司 | 横竖屏切换方法、装置和终端 |
CN109151504A (zh) * | 2018-09-28 | 2019-01-04 | 上海哔哩哔哩科技有限公司 | 一种视频自适应播放方法、装置和存储介质 |
CN109582893A (zh) * | 2018-11-29 | 2019-04-05 | 北京字节跳动网络技术有限公司 | 一种页面显示位置跳转方法、装置,终端设备及存储介质 |
CN109660852A (zh) * | 2017-10-10 | 2019-04-19 | 武汉斗鱼网络科技有限公司 | 录制视频发布前的视频预览方法、存储介质、设备及系统 |
CN110139164A (zh) * | 2019-06-17 | 2019-08-16 | 北京小桨搏浪科技有限公司 | 一种语音评论播放方法、装置,终端设备及存储介质 |
-
2020
- 2020-10-23 CN CN202011146839.8A patent/CN114489875A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170161232A1 (en) * | 2015-12-08 | 2017-06-08 | Le Holdings (Beijing) Co., Ltd. | Method and electronic device for configuring a video player in a web page |
CN106454477A (zh) * | 2016-08-10 | 2017-02-22 | 北京金山安全软件有限公司 | 直播视频处理方法、装置及终端设备 |
CN109660852A (zh) * | 2017-10-10 | 2019-04-19 | 武汉斗鱼网络科技有限公司 | 录制视频发布前的视频预览方法、存储介质、设备及系统 |
CN108234763A (zh) * | 2017-12-29 | 2018-06-29 | 广州优视网络科技有限公司 | 横竖屏切换方法、装置和终端 |
CN109151504A (zh) * | 2018-09-28 | 2019-01-04 | 上海哔哩哔哩科技有限公司 | 一种视频自适应播放方法、装置和存储介质 |
CN109582893A (zh) * | 2018-11-29 | 2019-04-05 | 北京字节跳动网络技术有限公司 | 一种页面显示位置跳转方法、装置,终端设备及存储介质 |
CN110139164A (zh) * | 2019-06-17 | 2019-08-16 | 北京小桨搏浪科技有限公司 | 一种语音评论播放方法、装置,终端设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
举一个个栗子: "实现抖音评论弹窗视频联动缩放效果", pages 1 - 4, Retrieved from the Internet <URL:《https://www.jianshu.com/p/5986aec86f87》> * |
魔主恋上九尾狐: "抖音视频切换和进度条同步视频", Retrieved from the Internet <URL:《https://www.jianshu.com/p/58ae380c692d》> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106843715B (zh) | 用于远程化的应用的触摸支持 | |
CN110377264B (zh) | 图层合成方法、装置、电子设备及存储介质 | |
CN110377263B (zh) | 图像合成方法、装置、电子设备及存储介质 | |
WO2020063030A1 (zh) | 主题色彩的调节方法、装置、存储介质及电子设备 | |
US11372540B2 (en) | Table processing method, device, interactive white board and storage medium | |
WO2021135683A1 (zh) | 一种显示终端调整方法及显示终端 | |
US9164974B2 (en) | Method and apparatus for providing an electronic book service in a mobile device | |
EP4235641A2 (en) | Displaying applications on a fixed orientation display | |
US20220284377A1 (en) | Method and apparatus for task group positioning | |
WO2022096017A1 (zh) | 内容显示方法及装置 | |
CN110377220B (zh) | 一种指令响应方法、装置、存储介质及电子设备 | |
CN112817555A (zh) | 音量控制方法及音量控制装置 | |
CN114489875A (zh) | 一种播放器控制方法、装置、存储介质及电子设备 | |
WO2020007010A1 (zh) | 音量的显示方法、装置、终端设备及存储介质 | |
CN109859328B (zh) | 一种场景切换方法、装置、设备和介质 | |
WO2022193988A1 (zh) | 触控事件上报方法、装置、终端及存储介质 | |
WO2019214181A1 (zh) | 文档输入的控制方法及装置 | |
CN109559319A (zh) | 一种法线贴图的处理方法及终端 | |
CN116801027A (zh) | 显示设备和投屏方法 | |
CN114995735A (zh) | 图像显示方法、系统、装置、电子设备及可读存储介质 | |
CN114302209A (zh) | 视频处理方法、装置、电子设备及介质 | |
CN114169304A (zh) | 表格创建方法、装置、电子设备及计算机可读存储介质 | |
CN113626120A (zh) | 确定显示页面的方法、装置、电子设备及存储介质 | |
CN113613043A (zh) | 屏幕显示和图像处理方法以及嵌入式设备和云服务器 | |
US20110138321A1 (en) | Zone-based functions in a user interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |