通用视频播放器的创建方法及装置的制造方法

文档序号:10516390阅读:198来源:国知局
通用视频播放器的创建方法及装置的制造方法
【专利摘要】本发明是关于一种通用视频播放器的创建方法及装置,其方法包括:获取终端的设备参数信息和待创建通用视频播放器的属性信息;调用所述终端中的基础视频播放模块;根据所述设备参数信息设置所述基础视频播放模块,得到目标视频播放模块;根据所述属性信息和所述目标视频播放模块,创建出所述通用视频播放器。本发明提供的通用视频播放器,可以适用于不同型号的Android终端,并提供统一的接口,方便开发人员进行二次开发。
【专利说明】
通用视频播放器的创建方法及装置
技术领域
[0001]本发明涉及视频技术领域,尤其涉及一种通用视频播放器的创建方法及装置。
【背景技术】
[0002]随着技术的不断发展,可供用户选择的智能终端的类型越来越多,但目前大部分智能终端都采用安卓Andro i d操作系统,如安卓手机等。由于Andr o i d标准的播放接口只提供了基础的视频播放功能和基础的视频显示界面;终端上的应用程序创建播放器需要和业务相关联,各个模块不独立,无法二次开发用以满足各应用的需求,各应用只能重新创建新的播放器;对遥控器的响应也需要每个程序单独处理;并且没有提前对各个不同的机型进行适配(如画面比例、3D等)。
[0003]技术开发人员需要在安卓手机上开发带有视频播放功能的应用软件时,由于目前安卓操作系统的标准接口并不适用于不同类型的安卓手机,因此技术开发人员在调用安卓操作系统上的标准接口创建视频播放器时,需要针对不同类型的安卓手机进行适配处理,这样大大增加了开发成本。

【发明内容】

[0004]为克服相关技术中存在的问题,本发明提供一种通用视频播放器的创建方法及装置。
[0005]根据本发明实施例的第一方面,提供一种通用视频播放器的创建方法,包括:
[0006]获取终端的设备参数信息和待创建通用视频播放器的属性信息;
[0007]调用所述终端中的基础视频播放模块;
[0008]根据所述设备参数信息设置所述基础视频播放模块,得到目标视频播放模块;
[0009]根据所述属性信息和所述目标视频播放模块,创建出所述通用视频播放器。
[0010]根据本发明实施例的第二方面,提供一种通用视频播放器的创建装置,包括:
[0011]信息获取单元,用于获取终端的设备参数信息和待创建通用视频播放器的属性信息;
[0012]调用单元,用于调用所述终端中的基础视频播放模块;
[0013]设置单元,用于根据所述设备参数信息设置所述基础视频播放模块,得到目标视频播放模块;
[0014]创建单元,用于根据所述属性信息和所述目标视频播放模块,创建出所述通用视频播放器。
[0015]本发明的实施例提供的技术方案可以包括以下有益效果:
[0016]本发明提供的通用视频播放器的创建方法及装置,通过获取终端的设备参数信息和待创建通用视频播放器的属性信息;调用终端中的基础视频播放模块;根据设备参数信息设置基础视频播放模块,得到目标视频播放模块;根据属性信息和目标视频播放模块,创建出通用视频播放器。本发明提供的通用视频播放器,可以适用于不同型号的Android终端,并提供统一的接口,方便开发人员进行二次开发。
[0017]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
【附图说明】
[0018]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0019]图1是根据一示例性实施例示出的一种通用视频播放器的创建方法流程图;
[0020]图2中步骤S130的流程图;
[0021 ]图3是根据一示例性实施例示出的一种通用视频播放器的创建方法流程图;
[0022]图4是根据一示例性实施例示出的一种通用视频播放器的创建方法流程图;
[0023]图5是根据一示例性实施例示出的一种通用视频播放器的创建装置示意图;
[0024]图6是图5中设置单元的示意图;
[0025]图7是根据一示例性实施例示出的一种通用视频播放器的创建装置示意图;
[0026]图8是根据一示例性实施例示出的一种通用视频播放器的创建装置示意图。
【具体实施方式】
[0027]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0028]现有技术每次在创建播放器的过程中,在调用Android系统的标准接口时,需要针对系统播放状态来写相应的响应,这就需要重新编写代码,也容易出现问题。由于Android系统的标准接口中没有针对不同的机型进行处理,所以遇到和底层相关的设置,比如需要调整视频播放比例(4:3,16:9等),需要针对不同的机型做出相应的适配处理,这就增加了开发人员的工作量。例如,创建视频播放器过程中一般每次都需要添加处理遥控器的按键响应,但是遥控器控制播放的按键功能几乎都一样,如确定键暂停或播放,如果可以提供统一的响应处理就可以避免每次都需要重新处理。
[0029]为了解决上述技术问题,本发明实施例首先提供了一种通用视频播放器的创建方法,应用于终端中,如图1所示,该方法可以包括如下步骤:
[0030]在步骤SllO中,获取终端的设备参数信息和待创建通用视频播放器的属性信息。
[0031]这里的终端主要是指安装有Android系统的手机、平板电脑等设备。由于不同型号的终端的屏幕尺寸等不同,因此需要根据终端的参数信息获取对应的设备参数。通用视频播放器的属性信息是指将要创建的通用视频播放器的功能阐述,相当于功能需求。根据该属性信息可以创建与该属性信息对应功能的通用视频播放器。另外,该属性信息还可以是功能属性信息之外的其他属性信息,如视频播放器的皮肤颜色等。
[0032]通过首先根据底层的设备信息,获取终端型号,然后根据不同的型号调用对应的底层接口,以实现对应的播放功能。这些接口有的是安卓标准的统一接口,如设置播放路径,设置快进快退、暂停启动等功能,这些直接进行调用即可;有的是不同的终端有所区分,如设置画面比例功能,设置3d对于区分终端的功能,需要根据终端类型及安卓版本处理,如设置画面比例,首先因为终端分辨率不同,要先获取对应的分辨率然后进行适配,其次有些设备是调整界面大小即可,有些需要调用改变视频尺寸,有些是系统专门提供的接口,需要对这些进行分别的调用。
[0033]在步骤S120中,调用终端中的基础视频播放模块。
[0034]Android系统中有视频播放相关的标准模块,及基础视频播放模块,通过获取这些基础视频播放模块的接口,可以调用终端中的基础视频播放模块。
[0035]在步骤S130中,根据设备参数信息设置基础视频播放模块,得到目标视频播放模块。
[0036]这些接口有的是安卓标准的统一接口,如设置播放路径,设置快进快退、暂停启动等功能,这些直接进行调用即可;有的是不同的终端有所区分,如设置画面比例功能,设置3d对于区分终端的功能,需要根据终端类型及安卓版本处理,如设置画面比例,首先因为终端分辨率不同,要先获取对应的分辨率然后进行适配。因此,需要对涉及到不同终端有所区别的基础视频播放模块,就需要根据终端的设备参数信息设置这些基础视频播放模块,使得可以适用于其他不同型号的终端。
[0037]在步骤S140中,根据属性信息和目标视频播放模块,创建出通用视频播放器。
[0038]在得到目标视频播放模块之后,根据属性信息在目标视频播放器上增加相应的功能,就可以创建成通用视频播放器。该通用视频播放器具体功能的实现,是由不同功能对应的模块组成,具体可以参考上述实施例中提供的通用视频播放器,这里不再赘述。
[0039]作为图1方法的细化,在本发明的另一实施例中,如图2所示,步骤S130还可以包括如下步骤:
[0040]在步骤S131中,查找终端中的基础视频播放模块。
[0041]终端中的基础视频模块包括与设备参数信息相关的基础视频播放模块及与设备参数信息无关的基础视频播放模块。
[0042]在播放不同格式视频的时候要根据不同的终端选择视频解码方式,首先获取视频格式信息,然后对于不同的终端型号,需要根据具体终端,判断是否支持视频的硬解码,如果支持,就用硬解码播放,如果不支持,就采用软解码。同时根据具体终端,获取缓存进度,获取视频卡顿等,缓存进度是不同终端提供的接口方式及计算规则不同的,需要对不同的接口按照不同的计算规则进行计算。视频卡顿进度也是不同的终端的实现不一样,有的是系统提供的专门接口,直接进行调用,有的没有提供接口,现在做的处理是定时获取当前播放的进度,一旦发现在一段时间后视频播放进度还是没有发生变化,就视为播放卡顿。播放模块提供给外部的具体播放功能实现及播放状态的统一调用。通过调用这些方法,实现具体想要的播放操作。
[0043]在步骤S132中,将基础视频播放模块中与设备参数信息无关的基础视频播放模块作为第一视频播放模块。
[0044]与设备参数信息无关的视频模块可以是设置播放路径,设置快进快退、暂停启动等功能相关的t吴块。
[0045]在步骤S133中,将基础视频播放模块中与设备参数信息相关的基础视频播放模块作为第二视频播放模块。
[0046]与设备参数信息相关的视频播放模块可以是设置画面比例功能、设置3d对于区分终端的功能等相关的t吴块。
[0047]在步骤S134中,通过设备参数信息设置第二视频播放模块,得到第二目标视频播放模块。
[0048]利用终端的设备参数信息设置第二视频播放模块,这样使得设置后得到的第二目标视频播放模块可以适配与该终端。
[0049]在步骤S135中,将第二目标视频模块和第一视频播放模块均作为目标视频播放模块。
[0050]将第一目标模块和第二目标模块关联在一起,就可以得到通用视频播放器中的目标视频播放模块,具体可以参见上述实施例中本发明提供的通用播放器相关内容,这里不再赘述。
[0051 ]需要说明的是,结合上述实施例,第一视频播放模块,可以包括:播放路径模块、快进快退模块和暂停启动模块;第二视频播放模块,可以包括:画面比例模块和3D视频模块。
[0052]作为图1方法的细化,在本发明的另一实施例中,如图3所示,该方法还可以包括如下步骤:
[0053]在步骤S150中,获取用户的触发操作。
[0054]在步骤3160中,根据触发操作控制播放模块的视频播放。
[0055]在步骤S170中,在通用视频播放器的显示界面上显示与触发操作相对应的显示信息。
[0056]通过获取用户的触发操作来控制终端上视频的播放,如用户的滑动操作、点击操作等。另外,还可以通过遥控器获取用户的操作来控制视频的播放,并控制界面模块显示与触发操作相对应的显示信息。通过适配遥控器,根据遥控器按键的键值,调用播放模块的方法实现播放功能切换,调用界面模块的方法,实现界面的正确显示。同时,如果是触摸终端,会根据触摸动作,适配同一套的播放操作及界面响应。
[0057]作为图1方法的细化,在本发明的另一实施例中,如图4所示,该方法还可以包括如下步骤:
[0058]在步骤S180中,创建视频播放的线程安全列表。
[0059]在步骤S190中,将待播放的视频信息添加到所述线程安全列表中。
[0060]通过创建一个线程安全的播放列表,可以往列表里动态添加、移除元素,可以查询某个位置的元素信息,这个元素类型不是固定的,可以是播放地址、也可以是用于请求播放地址的信息。并且还可以启动或停止列表中视频的播放,可以控制跳转上一个、下一个视频播放,可以播指定的位置,可以设置多种播放模式(顺序、倒序、随机)。
[0061]本发明提供的通用视频播放器的创建方法,通过获取终端的设备参数信息和待创建通用视频播放器的属性信息;调用终端中的基础视频播放模块;根据设备参数信息设置基础视频播放模块,得到目标视频播放模块;根据属性信息和目标视频播放模块,创建出通用视频播放器。本发明提供的通用视频播放器,可以适用于不同型号的Android终端,并提供统一的接口,方便开发人员进行二次开发。
[0062]通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0063]另外,作为对上述各实施例的实现,本发明实施例还提供了一种通用视频播放器的创建装置,该装置位于终端中,如图5所示,该装置包括:信息获取单元10、调用单元20、设置单元30和创建单元40,其中,
[0064]信息获取单元10,用于获取终端的设备参数信息和待创建通用视频播放器的属性?目息O
[0065]信息获取单元10首先根据底层的设备信息,获取终端型号,然后根据不同的型号调用对应的底层接口,以实现对应的播放功能。这些接口有的是安卓标准的统一接口,如设置播放路径,设置快进快退、暂停启动等功能,这些直接进行调用即可;有的是不同的终端有所区分,如设置画面比例功能,设置3d对于区分终端的功能,需要根据终端类型及安卓版本处理,如设置画面比例,首先因为终端分辨率不同,要先获取对应的分辨率然后进行适配,其次有些设备是调整界面大小即可,有些需要调用改变视频尺寸,有些是系统专门提供的接口,需要对这些进行分别的调用。
[0066]调用单元20,用于调用所述终端中的基础视频播放模块;
[0067]Android系统中有视频播放相关的标准模块,及基础视频播放模块,通过获取这些基础视频播放模块的接口,可以调用终端中的基础视频播放模块。
[0068]设置单元30,用于根据所述设备参数信息设置所述基础视频播放模块,得到目标视频播放模块;
[0069]这些接口有的是安卓标准的统一接口,如设置播放路径,设置快进快退、暂停启动等功能,这些直接进行调用即可;有的是不同的终端有所区分,如设置画面比例功能,设置3d对于区分终端的功能,需要根据终端类型及安卓版本处理,如设置画面比例,首先因为终端分辨率不同,要先获取对应的分辨率然后进行适配。因此,需要对涉及到不同终端有所区别的基础视频播放模块,就需要根据终端的设备参数信息设置这些基础视频播放模块,使得可以适用于其他不同型号的终端。
[0070]创建单元40,用于根据所述属性信息和所述目标视频播放模块,创建出所述通用视频播放器。
[0071 ]在得到目标视频播放模块之后,根据属性信息在目标视频播放器上增加相应的功能,就可以创建成通用视频播放器。该通用视频播放器具体功能的实现,是由不同功能对应的模块组成,具体可以参考上述实施例中提供的通用视频播放器,这里不再赘述。
[0072 ]在本发明又一实施例中,基于图5,如图6所示,所述设置单元30,包括:查找子单元31、第一确定子单元32、第二确定子单元33、设置子单元34和目标视频播放模块确定子单元35,其中,
[0073]查找子单元31,用于查找所述终端中的基础视频播放模块;
[0074]在播放不同格式视频的时候要根据不同的终端选择视频解码方式,首先获取视频格式信息,然后对于不同的终端型号,需要根据具体终端,判断是否支持视频的硬解码,如果支持,就用硬解码播放,如果不支持,就采用软解码。同时根据具体终端,获取缓存进度,获取视频卡顿等,缓存进度是不同终端提供的接口方式及计算规则不同的,需要对不同的接口按照不同的计算规则进行计算。视频卡顿进度也是不同的终端的实现不一样,有的是系统提供的专门接口,直接进行调用,有的没有提供接口,现在做的处理是定时获取当前播放的进度,一旦发现在一段时间后视频播放进度还是没有发生变化,就视为播放卡顿。播放模块提供给外部的具体播放功能实现及播放状态的统一调用。通过调用这些方法,实现具体想要的播放操作。
[0075]第一确定子单元32,将所述基础视频播放模块中与所述设备参数信息无关的视频模块作为第一视频播放模块;
[0076]与设备参数信息无关的视频模块可以是设置播放路径,设置快进快退、暂停启动等功能相关的t吴块。
[0077]第二确定子单元33,将所述基础视频播放模块中与所述设备参数信息相关的视频播放模块作为第二视频播放模块;
[0078]与设备参数信息相关的视频播放模块可以是设置画面比例功能、设置3d对于区分终端的功能等相关的t吴块。
[0079]设置子单元34,用于通过所述设备参数信息设置所述第二视频播放模块,得到第二目标视频播放模块;
[0080]利用终端的设备参数信息设置第二视频播放模块,这样使得设置后得到的第二目标视频播放模块可以适配与该终端。
[0081 ]目标视频播放模块确定子单元35,用于将所述第二目标视频模块和所述第一视频播放模块均作为所述目标视频播放模块。
[0082]将第一目标模块和第二目标模块关联在一起,就可以得到通用视频播放器中的目标视频播放模块,具体可以参见上述实施例中本发明提供的通用播放器相关内容,这里不再赘述。
[0083]需要说明的是,所述第一视频播放模块,包括:播放路径模块、快进快退模块和暂停启动模块;所述第二视频播放模块,包括:画面比例模块和3D视频模块。
[0084]在本发明又一实施例中,基于图5,如图7所示,该装置还可以包括:触发操作获取单元50、播放控制单元60和信息显示单元70,其中,
[0085]触发操作获取单元50,用于获取用户的触发操作;
[0086]播放控制单元60,用于根据所述触发操作控制所述播放模块的视频播放;
[0087]信息显示单元70,用于在所述通用视频播放器的显示界面上显示与所述触发操作相对应的显示信息。
[0088]通过获取用户的触发操作来控制终端上视频的播放,如用户的滑动操作、点击操作等。另外,还可以通过遥控器获取用户的操作来控制视频的播放,并控制界面模块显示与触发操作相对应的显示信息。通过适配遥控器,根据遥控器按键的键值,调用播放模块的方法实现播放功能切换,调用界面模块的方法,实现界面的正确显示。同时,如果是触摸终端,会根据触摸动作,适配同一套的播放操作及界面响应。
[0089]在本发明又一实施例中,基于图5,如图8所示,该装置还可以包括:列表创建单元80和信息添加单元90,其中,
[0090]列表创建单元80,用于创建视频播放的线程安全列表;
[0091]信息添加单元90,用于将待播放的视频信息添加到所述线程安全列表中。
[0092]通过创建一个线程安全的播放列表,可以往列表里动态添加、移除元素,可以查询某个位置的元素信息,这个元素类型不是固定的,可以是播放地址、也可以是用于请求播放地址的信息。并且还可以启动或停止列表中视频的播放,可以控制跳转上一个、下一个视频播放,可以播指定的位置,可以设置多种播放模式(顺序、倒序、随机)。
[0093]可以理解的是,本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0094]本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0095]需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0096]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0097]应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
【主权项】
1.一种通用视频播放器的创建方法,其特征在于,包括: 获取终端的设备参数信息和待创建通用视频播放器的属性信息; 调用所述终端中的基础视频播放模块; 根据所述设备参数信息设置所述基础视频播放模块,得到目标视频播放模块; 根据所述属性信息和所述目标视频播放模块,创建出所述通用视频播放器。2.根据权利要求1所述的通用视频播放器的创建方法,其特征在于,所述根据所述设备参数信息设置所述基础视频播放模块,包括: 查找所述终端中的基础视频播放模块; 将所述基础视频播放模块中与所述设备参数信息无关的基础视频播放模块作为第一视频播放模块; 将所述基础视频播放模块中与所述设备参数信息相关的基础视频播放模块作为第二视频播放模块; 通过所述设备参数信息设置所述第二视频播放模块,得到第二目标视频播放模块; 将所述第二目标视频模块和所述第一视频播放模块均作为所述目标视频播放模块。3.根据权利要求2所述的通用视频播放器的创建方法,其特征在于,所述第一视频播放模块,包括:播放路径模块、快进快退模块和暂停启动模块; 所述第二视频播放模块,包括:画面比例模块和3D视频模块。4.根据权利要求1所述的通用视频播放器的创建方法,其特征在于,还包括: 获取用户的触发操作; 根据所述触发操作控制所述播放模块的视频播放; 在所述通用视频播放器的显示界面上显示与所述触发操作相对应的显示信息。5.根据权利要求1所述的通用视频播放器的创建方法,其特征在于,还包括: 创建视频播放的线程安全列表; 将待播放的视频信息添加到所述线程安全列表中。6.一种通用视频播放器的创建装置,其特征在于,包括: 信息获取单元,用于获取终端的设备参数信息和待创建通用视频播放器的属性信息; 调用单元,用于调用所述终端中的基础视频播放模块; 设置单元,用于根据所述设备参数信息设置所述基础视频播放模块,得到目标视频播放模块; 创建单元,用于根据所述属性信息和所述目标视频播放模块,创建出所述通用视频播放器。7.根据权利要求6所述的通用视频播放器的创建装置,其特征在于,所述设置单元,包括: 查找子单元,用于查找所述终端中的基础视频播放模块; 第一确定子单元,将所述基础视频播放模块中与所述设备参数信息无关的基础视频播放模块作为第一视频播放模块; 第二确定子单元,将所述基础视频播放模块中与所述设备参数信息相关的基础视频播放模块作为第二视频播放模块; 设置子单元,用于通过所述设备参数信息设置所述第二视频播放模块,得到第二目标视频播放模块; 目标视频播放模块确定子单元,用于将所述第二目标视频模块和所述第一视频播放模块均作为所述目标视频播放模块。8.根据权利要求7所述的通用视频播放器的创建装置,其特征在于,所述第一视频播放模块,包括:播放路径模块、快进快退模块和暂停启动模块; 所述第二视频播放模块,包括:画面比例模块和3D视频模块。9.根据权利要求6所述的通用视频播放器的创建装置,其特征在于,还包括: 触发操作获取单元,用于获取用户的触发操作; 播放控制单元,用于根据所述触发操作控制所述播放模块的视频播放; 信息显示单元,用于在所述通用视频播放器的显示界面上显示与所述触发操作相对应的显示信息。10.根据权利要求6所述的通用视频播放器的创建装置,其特征在于,还包括: 列表创建单元,用于创建视频播放的线程安全列表; 信息添加单元,用于将待播放的视频信息添加到所述线程安全列表中。
【文档编号】H04N21/414GK105872776SQ201511019459
【公开日】2016年8月17日
【申请日】2015年12月29日
【发明人】蔡玮
【申请人】乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1