一种播放列表传输方法及装置与流程

文档序号:13763884阅读:168来源:国知局
一种播放列表传输方法及装置与流程

本发明涉及多媒体播放技术领域,尤其涉及一种播放列表传输方法及装置。



背景技术:

随着科技的发展,智能播放终端的应用越来越广泛。以智能音箱为例,智能音箱可以和智能手机、平板电脑等控制终端上安装的应用程序APP(Application)建立无线或有线连接,并且可以播放用户通过APP传输的歌曲,也可以将智能音箱上收藏或点播的播放列表同步至控制终端的APP端。

智能音箱在将播放列表同步至控制终端的APP端时,特别是播放列表中的歌曲数目比较多的情况下,在处理过程中,智能音箱的系统资源(比如内存资源等)既要播放歌曲,又要封装和传输播放列表,会导致系统资源使用率过高,从而可能引起播放效率降低、运行速度降低。

综上,现有技术存在如下技术问题:智能播放终端在传输播放列表时,由于系统资源需同时播放曲目和处理待同步的播放列表,导致系统资源使用率过高,从而引起播放效率降低、运行速度降低。



技术实现要素:

本发明的目的在于提供一种播放列表传输方法及装置,旨在解决现有技术中存在的智能播放终端的系统资源使用率过高,播放效率降低、运行速度降低的技术问题。

为解决上述技术问题,本发明实施例提供以下技术方案:

一种播放列表传输方法,包括:

获取符合请求条件的播放列表,其中,所述播放列表包括若干个目标播放条目;

将符合预设存储条件的目标播放条目保存至内存中;

当所述内存中存储的目标播放条目满足预设转移条件时,将所述内存中存储的目标播放条目转移至数据库中;

当确定所述播放列表中所有的目标播放条目都存入数据库中时,将所述数据库中存储的播放列表进行封装,并将所述播放列表发送至目标终端。

为解决上述技术问题,本发明实施例还提供以下技术方案:

一种播放列表传输装置,包括:

获取模块,用于获取符合请求条件的播放列表,其中,所述播放列表包括若干个目标播放条目;

保存模块,用于将符合预设存储条件的目标播放条目保存至内存中;

转移模块,用于当所述内存中存储的目标播放条目满足预设转移条件时,将所述内存中存储的目标播放条目转移至数据库中;

发送模块,用于当确定所述播放列表中所有的目标播放条目都存入数据库中时,将所述数据库中存储的播放列表进行封装,并将所述播放列表发送至目标终端。

相对于现有技术,本发明通过获取符合请求条件的播放列表,将播放列表中符合预设存储条件的目标播放条目保存至内存中,当所述内存中存储的目标播放条目满足预设转移条件时,再将所述内存中存储的目标播放条目转移至数据库中,当确定所述播放列表中所有的目标播放条目都存入数据库中时,将所述数据库中存储的播放列表进行封装,并将所述播放列表发送至目标终端。在进行播放列表同步时,将播放列表中的目标播放条目分批次保存到内存中,再分别转移至数据库中,以此减轻内存的负担,降低智能播放终端的系统资源使用率,以此保证良好的播放效率和运行速度。

附图说明

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。

图1为本发明第一实施例提供的一种播放列表传输方法的流程示意图。

图2为本发明第一实施例提供的一种播放列表传输方法的使用状态示意图。

图3为本发明第二实施例提供的一种播放列表传输方法的流程示意图。

图4为本发明第三实施例提供的一种播放列表传输装置的结构示意图。

图5为本发明第三实施例提供的一种播放列表传输装置的另一结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本发明实施例提供的一种播放列表传输方法的执行主体,可以为本发明实施例提供的一种播放列表传输装置,或者集成了所述播放列表传输装置的移动终端(譬如智能音箱、智能电视、智能手机、或具有播放功能的可穿戴设备等),所述播放列表传输装置可以采用硬件或者软件的方式实现。

可以理解的是,本实施例所描述的方法可以应用于智能播放终端或者多媒体播放系统中。所述多媒体播放系统包括控制终端和至少一个智能播放终端,所述控制终端上安装有用于控制所述智能播放终端的应用程序APP,所述应用程序APP也可以接收通过所述智能播放终端传输过来的数据。所述控制终端和所述智能播放终端可以通过无线传输或者有线传输的方式建立连接。所述无线传输方式可以为红外、蓝牙、WiFi(Wireless Fidelity,无线局域网络)等,有线传输方式可以为数据线传输等,此处列举不作为对本发明的限定。

本发明实施例主要是从智能播放终端向控制终端进行数据传输的角度进行描述。以下实施例中,以智能播放终端作为描述的“本体终端”,用于接收数据的控制终端在本发明实施例中定义为“目标终端”;具体实施过程中,所述“本体终端”和“目标终端”的角色可以互换,两者均可收发数据。

第一实施例

请参阅图1及图2,图1为本发明第一实施例提供的一种播放列表传输方法的流程示意图,图2为本发明第一实施例提供的一种播放列表传输方法的使用状态示意图。所述方法包括:

步骤S101,获取符合请求条件的播放列表。其中,所述播放列表包括若干个目标播放条目。

比如,智能播放终端接收到控制终端通过应用程序APP发送的请求指令,根据所述请求指令,智能播放终端获取符合请求条件的播放列表,其中,所述播放列表包括若干个目标播放条目。

请参阅图2,图2为本发明第一实施例提供的一种播放列表传输方法的使用状态示意图。例如,所述智能播放终端可以为智能音箱100,所述控制终端可以为手机200。智能音箱100接收到手机200通过应用程序APP发送的请求指令,根据所述请求指令,智能音箱100获取符合请求条件的播放列表。例如,请求指令为请求传送智能音箱收藏的播放列表。则根据所述请求指令,获取到智能音箱100收藏的播放列表,比如所述播放列表包括20首歌曲。

步骤S102,将符合预设存储条件的目标播放条目保存至内存中。

可以理解的是,用于存储数据的存储器可以分为主存储器和辅助存储器,主存储器又称内存储器(简称内存)。所述内存可以为只读存储器(ROM,Read Only Memory),也可以为随机存取记忆体(RAM,Random Access Memory)。

优选的,可以对所述目标播放条目设置预设存储条件,再将符合预设存储条件的目标播放条目保存至内存中。

例如,确定所述播放列表中每一目标播放条目所对应的优先级,根据所述优先级,将所述播放列表中的目标播放条目依次保存至内存中。

比如,根据所述播放列表中每一目标播放条目所对应的字节长度,确定所述播放列表中每一目标播放条目所对应的优先级。例如按照所述字节长度从小到大的顺序确定优先级,则按照字节长度从小到大的顺序,将所述播放列表中的目标播放条目依次保存至内存中。

步骤S103,当所述内存中存储的目标播放条目满足预设转移条件时,将所述内存中存储的目标播放条目转移至数据库中。

可以理解的是,所述数据库可以为建立在辅助存储器上的存储数据库。数据库的存储结构可以包括物理存储结构和逻辑存储结构。所述数据库的物理存储结构可以由一些多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件、警告文件等。所述逻辑结构由逻辑存储结构(表空间、段、范围、块)和逻辑数据结构(表、视图、序列、存储过程、同义词、索引、簇和数据库链等)组成。

优选的,所述预设转移条件可以为所述内存中存储的目标播放条目的数量达到预设缓存数量。

可以理解的是,当第一批存储到内存中的目标播放条目转移至数据库中之后,再对所述播放列表中剩余的目标播放条目进行处理;当最后一批目标播放条目已存储到内存中时,若所述内存中存储的目标播放条目的数量小于或等于预设缓存数量,则确定所述内存中存储的最后一批目标播放条目满足预设转移条件。

例如,所述播放列表包括20个目标播放条目,预设缓存数量为5个,当所述内存中存储的目标播放条目的数量达到5个时,将所述内存中存储的目标播放条目转移至数据库中。

优选的,所述预设转移条件可以为所述内存中存储的目标播放条目的字节长度达到预设缓存长度。

可以理解的是,当第一批存储到内存中的目标播放条目转移至数据库中之后,再对所述播放列表中剩余的目标播放条目进行处理;当最后一批目标播放条目已存储到内存中时,若所述内存中存储的目标播放条目的字节长度小于或等于预设缓存长度,则确定所述内存中存储的最后一批目标播放条目满足预设转移条件。

步骤S104,当确定所述播放列表中所有的目标播放条目都存入数据库中时,将所述数据库中存储的播放列表进行封装,并将所述播放列表发送至目标终端。

可以理解的是,可以通过匹配存入数据库中的播放列表和原始获取符合请求条件的播放列表,以确定所述播放列表中所有的目标播放条目是否都存入数据库中。

优选的,当将所述播放列表发送至目标终端之后,清空所述数据库中存储的播放列表。

本实施例通过获取符合请求条件的播放列表,将播放列表中符合预设存储条件的目标播放条目保存至内存中,当所述内存中存储的目标播放条目满足预设转移条件时,再将所述内存中存储的目标播放条目转移至数据库中,当确定所述播放列表中所有的目标播放条目都存入数据库中时,将所述数据库中存储的播放列表进行封装,并将所述播放列表发送至目标终端。在进行播放列表同步时,将播放列表中的目标播放条目分批次保存到内存中,再分别转移至数据库中,以此减轻内存的负担,降低智能播放终端的系统资源使用率,以此保证良好的播放效率和运行速度。

第二实施例

请一并参阅图3,图3为本发明第二实施例提供的一种播放列表传输方法的流程示意图。所述方法包括:

步骤S201,获取符合请求条件的播放列表,其中,所述播放列表包括若干个目标播放条目。

例如,智能音箱接收到手机通过应用程序APP发送的请求指令,根据所述请求指令,智能音箱获取符合请求条件的播放列表。例如,请求指令为请求传送智能音箱收藏的播放列表。则根据请求指令,获取到智能音箱收藏的播放列表,比如所述播放列表包括20首歌曲。

步骤S202,确定所述播放列表中每一目标播放条目所对应的优先级。

优选的,根据所述播放列表中每一目标播放条目所对应的类别,确定所述播放列表中每一目标播放条目所对应的优先级。

例如,可以按照所述目标播放条目的演绎风格或者唱法或者歌手等进行类别区分,也可以根据用户的喜好进行类别的定义。其中相同类别的目标播放条目可以为同一优先级。

例如,获取到智能音箱收藏的播放列表,所述播放列表包括20首歌曲。可以根据演绎风格区分其对应的类别,例如,戏曲有5首,流行歌曲有10首,民族歌曲5首,以流行歌曲、戏曲、民族歌曲的顺序确定所述播放列表中每一目标播放条目所对应的优先级。

优选的,根据所述播放列表中每一目标播放条目所对应的功耗,确定所述播放列表中每一目标播放条目所对应的优先级。

可以理解的,在处理每一个目标播放条目过程中,必然会产生功耗,在处理过程中,为了能处理更多的目标播放条目,特别是当检测到终端的电量低于某一预设电量时,可以按照功耗从小到大的顺序确定其对应的优先级。

例如,按照所述功耗从小到大的顺序,确定所述播放列表中每一目标播放条目所对应的优先级。

优选的,根据所述播放列表中每一目标播放条目所对应的字节长度,确定所述播放列表中每一目标播放条目所对应的优先级。

例如,按照所述字节长度从小到大的顺序,确定所述播放列表中每一目标播放条目所对应的优先级。

步骤S203,根据所述播放列表中每一目标播放条目所对应的优先级,将所述播放列表中的目标播放条目依次保存至内存中。

例如,戏曲有5首,流行歌曲有10首,民族歌曲有5首,以流行歌曲、戏曲、民族歌曲的顺序确定所述播放列表中每一目标播放条目所对应的优先级,则按照流行歌曲、戏曲、民族歌曲的顺序依次保存至内存中,其中相同类别的目标播放条目可以随机保存至内存中,也可以按照预设的顺序保存到内存中。

例如,按照所述字节长度从小到大的顺序确定其优先级,则按照字节长度从小到大的顺序,将所述播放列表中的目标播放条目依次保存至内存中。

步骤S204,当所述内存中存储的目标播放条目满足预设转移条件时,将所述内存中存储的目标播放条目转移至数据库中。

优选的,所述预设转移条件可以为所述内存中存储的目标播放条目的数量达到预设缓存数量。

可以理解的是,当第一批存储到内存中的目标播放条目转移至数据库中之后,再对所述播放列表中剩余的目标播放条目进行处理;当最后一批目标播放条目已存储到内存中时,若所述内存中存储的目标播放条目的数量小于或等于预设缓存数量,则确定所述内存中存储的最后一批目标播放条目满足预设转移条件。

例如,所述播放列表包括20个目标播放条目,预设缓存数量为5个,当所述内存中存储的目标播放条目的数量达到5个时,将所述内存中存储的目标播放条目转移至数据库中。

优选的,所述预设转移条件可以为所述内存中存储的目标播放条目的字节长度达到预设缓存长度。

可以理解的是,当第一批存储到内存中的目标播放条目转移至数据库中之后,再对所述播放列表中剩余的目标播放条目进行处理;当最后一批目标播放条目已存储到内存中时,若所述内存中存储的目标播放条目的字节长度小于或等于预设缓存长度,则确定所述内存中存储的最后一批目标播放条目满足预设转移条件。

步骤S205,当确定所述播放列表中所有的目标播放条目都存入数据库中时,将所述数据库中存储的播放列表进行封装,并将所述播放列表发送至目标终端。

可以理解的是,可以通过匹配存入数据库中的播放列表和原始获取符合请求条件的播放列表,以确定所述播放列表中所有的目标播放条目是否都存入数据库中。

优选的,当将所述播放列表发送至目标终端之后,清空所述数据库中存储的播放列表。

本实施例通过获取符合请求条件的播放列表,将播放列表中符合预设存储条件的目标播放条目保存至内存中,当所述内存中存储的目标播放条目满足预设转移条件时,再将所述内存中存储的目标播放条目转移至数据库中,当确定所述播放列表中所有的目标播放条目都存入数据库中时,将所述数据库中存储的播放列表进行封装,并将所述播放列表发送至目标终端。在进行播放列表同步时,将按照播放列表中的目标播放条目所对应的优先级分批次保存至内存中,再分别转移至数据库中,以此减轻内存的负担,降低智能播放终端的系统资源使用率,以此保证良好的播放效率和运行速度。

第三实施例

请参阅图4,图4为本发明第三实施例提供的一种播放列表传输装置的结构示意图。所述装置包括获取模块31,保存模块32,转移模块33,以及发送模块34。

其中,所述获取模块31,用于获取符合请求条件的播放列表,其中,所述播放列表包括若干个目标播放条目。

例如,所述获取模块31获取到智能音箱收藏的播放列表,比如所述播放列表包括20首歌曲。

所述保存模块32,用于将符合预设存储条件的目标播放条目保存至内存中。

优选的,可以对所述目标播放条目设置预设存储条件,所述保存模块32再将符合预设存储条件的目标播放条目保存至内存中。

例如,确定所述播放列表中每一目标播放条目所对应的优先级,根据所述优先级,将所述播放列表中的目标播放条目依次保存至内存中。

比如,根据所述播放列表中每一目标播放条目所对应的字节长度,确定所述播放列表中每一目标播放条目所对应的优先级。例如按照所述字节长度从小到大的顺序确定优先级,则按照字节长度从小到大的顺序,所述保存模块32将所述播放列表中的目标播放条目依次保存至内存中。

所述转移模块33,用于当所述内存中存储的目标播放条目满足预设转移条件时,将所述内存中存储的目标播放条目转移至数据库中。

优选的,所述预设转移条件可以为所述内存中存储的目标播放条目的数量达到预设缓存数量。

可以理解的是,当第一批存储到内存中的目标播放条目转移至数据库中之后,再对所述播放列表中剩余的目标播放条目进行处理;当最后一批目标播放条目已存储到内存中时,若所述内存中存储的目标播放条目的数量小于或等于预设缓存数量,则确定所述内存中存储的最后一批目标播放条目满足预设转移条件。

例如,所述播放列表包括20个目标播放条目,预设缓存数量为5个,当所述内存中存储的目标播放条目的数量达到5个时,所述转移模块33将所述内存中存储的目标播放条目转移至数据库中。

优选的,所述预设转移条件可以为所述内存中存储的目标播放条目的字节长度达到预设缓存长度。

可以理解的是,当第一批存储到内存中的目标播放条目转移至数据库中之后,再对所述播放列表中剩余的目标播放条目进行处理;当最后一批目标播放条目已存储到内存中时,若所述内存中存储的目标播放条目的字节长度小于或等于预设缓存长度,则确定所述内存中存储的最后一批目标播放条目满足预设转移条件。

所述发送模块34,用于当确定所述播放列表中所有的目标播放条目都存入数据库中时,将所述数据库中存储的播放列表进行封装,并将所述播放列表发送至目标终端。

可以理解的是,可以通过匹配存入数据库中的播放列表和原始获取符合请求条件的播放列表,以确定所述播放列表中所有的目标播放条目是否都存入数据库中。

优选的,当所述发送模块34将所述播放列表发送至目标终端之后,清空所述数据库中存储的播放列表。

请一并参阅图5,图5为本发明第三实施例提供的一种播放列表传输装置的另一结构示意图。所述装置包括获取模块31,保存模块32,转移模块33,以及发送模块34。

其中,所述获取模块31,用于获取符合请求条件的播放列表,其中,所述播放列表包括若干个目标播放条目。

例如,所述获取模块31获取到智能音箱收藏的播放列表,比如所述播放列表包括20首歌曲。

所述保存模块32还包括确定单元321和保存单元322。

其中,所述确定单元321,用于确定所述播放列表中每一目标播放条目所对应的优先级。

优选的,所述确定单元321,具体用于根据所述播放列表中每一目标播放条目所对应的类别,确定所述播放列表中每一目标播放条目所对应的优先级。

例如,可以按照所述目标播放条目的演绎风格或者唱法或者歌手等进行类别区分,也可以根据用户的喜好进行类别的定义。其中相同类别的目标播放条目可以为同一优先级。

例如,获取到智能音箱收藏的播放列表,所述播放列表包括20首歌曲。可以根据演绎风格区分其对应的类别,例如,戏曲有5首,流行歌曲有10首,民族歌曲有5首,所述确定单元321以流行歌曲、戏曲、民族歌曲的顺序确定所述播放列表中每一目标播放条目所对应的优先级。

优选的,所述确定单元321,具体用于根据所述播放列表中每一目标播放条目所对应的功耗,确定所述播放列表中每一目标播放条目所对应的优先级。

可以理解的,在处理每一个目标播放条目过程中,必然会产生功耗,在处理过程中,为了能处理更多的目标播放条目,特别是当检测到终端的电量低于某一预设电量时,所述确定单元321可以按照功耗从小到大的顺序确定其对应的优先级。

例如,按照所述功耗从小到大的顺序,所述确定单元321确定所述播放列表中每一目标播放条目所对应的优先级。

优选的,所述确定单元321,具体用于根据所述播放列表中每一目标播放条目所对应的字节长度,确定所述播放列表中每一目标播放条目所对应的优先级。

例如,按照所述字节长度从小到大的顺序,所述确定单元321确定所述播放列表中每一目标播放条目所对应的优先级。

步骤S203,根据所述播放列表中每一目标播放条目所对应的优先级,将所述播放列表中的目标播放条目依次保存至内存中。

例如戏曲有5首,流行歌曲有10首,民族歌曲有5首,以流行歌曲、戏曲、民族歌曲的顺序确定所述播放列表中每一目标播放条目所对应的优先级,则按照流行歌曲、戏曲、民族歌曲的顺序依次保存至内存中,其中相同类别的目标播放条目可以随机保存至内存中,也可以按照预设的顺序保存到内存中。

例如,按照所述字节长度从小到大的顺序确定其优先级,则按照字节长度从小到大的顺序,将所述播放列表中的目标播放条目依次保存至内存中。

所述转移模块33,用于当所述内存中存储的目标播放条目满足预设转移条件时,将所述内存中存储的目标播放条目转移至数据库中。

优选的,所述预设转移条件可以为所述内存中存储的目标播放条目的数量达到预设缓存数量。

可以理解的是,当第一批存储到内存中的目标播放条目转移至数据库中之后,再对所述播放列表中剩余的目标播放条目进行处理;当最后一批目标播放条目已存储到内存中时,若所述内存中存储的目标播放条目的数量小于或等于预设缓存数量,则确定所述内存中存储的最后一批目标播放条目满足预设转移条件。

例如,所述播放列表包括20个目标播放条目,预设缓存数量为5个,当所述内存中存储的目标播放条目的数量达到5个时,所述转移模块33,将所述内存中存储的目标播放条目转移至数据库中。

优选的,所述预设转移条件可以为所述内存中存储的目标播放条目的字节长度达到预设缓存长度。

可以理解的是,当第一批存储到内存中的目标播放条目转移至数据库中之后,再对所述播放列表中剩余的目标播放条目进行处理;当最后一批目标播放条目已存储到内存中时,若所述内存中存储的目标播放条目的字节长度小于或等于预设缓存长度,则确定所述内存中存储的最后一批目标播放条目满足预设转移条件。

所述发送模块34,用于当确定所述播放列表中所有的目标播放条目都存入数据库中时,将所述数据库中存储的播放列表进行封装,并将所述播放列表发送至目标终端。

可以理解的是,可以通过匹配存入数据库中的播放列表和原始获取符合请求条件的播放列表,以确定所述播放列表中所有的目标播放条目是否都存入数据库中。

优选的,当所述发送模块34将所述播放列表发送至目标终端之后,清空所述数据库中存储的播放列表。

本发明实施例中,所述播放列表传输装置与上文实施例中的一种播放列表传输方法属于同一构思,在所述播放列表传输装置上可以运行所述播放列表传输方法实施例中提供的任一方法,其具体实现过程详见所述播放列表传输方法实施例,此处不再赘述。

需要说明的是,对本发明所述播放列表传输方法而言,本领域普通测试人员可以理解实现本发明实施例所述播放列表传输方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在终端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如所述播放列表传输方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。

对本发明实施例的所述播放列表传输装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。

以上对本发明实施例所提供的一种播放列表传输方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1