发明内容
本发明实施例的目的在于提供一种播放列表的分享方法,解决目前通过蓝牙进行点对点的歌单分享时,音乐播放器必须依赖网络访问才能加载并显示歌单的详细信息的问题。
本发明实施例是这样实现的,一种播放列表的分享方法,包括:
在发送客户端提取播放列表的分享信息,所述分享信息包括所述播放列表的列表信息;
生成包含所述分享信息的预设格式信息流;
通过蓝牙建立与接收客户端的连接;
将所述预设格式信息流发送至所述接收客户端,以使所述接收客户端通过解析所述预设格式信息流中的所述分享信息还原出所述播放列表,并加载至所述接收客户端。
本发明实施例的另一目的在于提供一种播放列表的分享方法,包括:
通过蓝牙建立与发送客户端的连接;
接收所述发送客户端发送的包含播放列表的分享信息的预设格式信息流,所述分享信息由所述发送客户端在本地的播放列表中提取,且所述分享信息包括所述播放列表的列表信息;
解析所述预设格式信息流中的所述分享信息,还原出所述播放列表;
加载并显示所述播放列表。
本发明实施例的另一目的在于提供一种播放列表的分享装置,包括:
提取单元,用于在发送客户端提取播放列表的分享信息,所述分享信息包括所述播放列表的列表信息;
生成单元,用于生成包含所述分享信息的预设格式信息流;
第一连接单元,用于通过蓝牙建立与接收客户端的连接;
发送单元,用于将所述预设格式信息流发送至所述接收客户端,以使所述接收客户端通过解析所述预设格式信息流中的所述分享信息还原出所述播放列表,并加载至所述接收客户端。
本发明实施例的另一目的在于提供一种播放列表的分享装置,包括:
第二连接单元,用于通过蓝牙建立与发送客户端的连接;
接收单元,用于接收所述发送客户端发送的包含播放列表的分享信息的预设格式信息流,所述分享信息由所述发送客户端在本地的播放列表中提取,且所述分享信息包括所述播放列表的列表信息;
解析单元,用于解析所述预设格式信息流中的所述分享信息,还原出所述播放列表;
第一加载单元,用于加载并显示所述播放列表。
本发明实施例的另一目的在于提供一种播放列表的分享方法,包括:
发送客户端提取播放列表的分享信息,所述分享信息包括所述播放列表的列表信息;
所述发送客户端生成包含所述分享信息的预设格式信息流;
所述发送客户端与接收客户端通过蓝牙建立连接;
所述发送客户端将所述预设格式信息流发送至所述接收客户端;
所述接收客户端解析所述预设格式信息流中的所述分享信息,还原出所述播放列表;
所述接收客户端加载并显示所述播放列表。
在本发明实施例中,当通过蓝牙来进行点对点的播放列表分享时,发送客户端将播放列表中的相关内容提取出来生成适合蓝牙传输的数据流,接收客户端在接收到该数据流之后,经过解析即能还原出该播放列表,并加载显示,使得接收客户端不再需要依赖于网络访问才能获取到其中的详细信息,简化了播放列表分享的操作步骤,提高了播放列表的分享效率。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,当通过蓝牙来进行点对点的播放列表分享时,发送客户端将播放列表中的相关内容提取出来生成适合蓝牙传输的数据流,接收客户端在接收到该数据流之后,经过解析即能还原出该播放列表,并加载显示,使得接收客户端不再需要依赖于网络访问才能获取到其中的详细信息,简化了播放列表分享的操作步骤,提高了播放列表的分享效率。
图1示出了本发明实施例提供的播放列表的分享方法所适用的通信架构图,为了便于说明,仅示出了与本实施例相关的部分。
参照图1的通信架构,发送客户端11和接收客户端12分别位于不同的终端13上,且终端13包括但不限于计算机、平板电脑、手机等可以运行上述客户端且提供蓝牙通信功能的终端设备上,用于为上述客户端提供运行环境,并保证发送客户端11和接收客户端12之间通过蓝牙进行通信。
其中,所述蓝牙(Bluetooth)通信功能,是一种支持设备短距离通信的无线电技术,通过在设备中植入蓝牙芯片,即能够在包括移动电话、掌上电脑(Personal Digital Assistant,PDA)、无线耳机、笔记本电脑等众多设备之间进行无线信息交换。需要说明的是,由于蓝牙通信的最大传输距离为10米,因此,在图1所示的通信架构中,发送客户端11和接收客户端12的位置距离理论上应不超过10米。
同时,基于蓝牙的通信原理,只要符合上述通信距离要求,发送客户端11可以同时将播放列表通过蓝牙分享给多个接收客户端12。
在本发明实施例中,发送客户端11上创建并保存了播放列表,该播放列表可以为仅包括音频文件的歌单,或者为包括了视频文件等其他形式媒体文件的播放列表,当发送客户端11加载并显示了该播放列表之后,便可以依据该播放列表,顺序、随机或者单曲循环来播放该播放列表中的媒体文件。
图2示出了一种移动终端的结构框图。移动终端可以作为图1中的终端13,如图2所示,移动终端200包括存储器202、存储控制器204,一个或多个(图中仅示出一个)处理器206、外设接口208、射频模块210、定位模块212、图像采集设备214、音频模块216、触控屏幕218以及按键模块220。这些组件通过一条或多条通讯总线/信号线222相互通讯。
可以理解,图2所示的结构仅为示意,移动终端200还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
存储器202可用于存储软件程序以及模块,如本发明实施例中的在移动终端之间进行播放列表的分享的方法及装置对应的程序指令/模块,处理器202通过运行存储在存储器204内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的播放列表的分享方法。
存储器202可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器202可进一步包括相对于处理器206远程设置的存储器,这些远程存储器可以通过网络连接至移动终端200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器206以及其他可能的组件对存储器202的访问可在存储控制器204的控制下进行。
外设接口208将各种输入/输入装置耦合至CPU以及存储器202。处理器206运行存储器202内的各种软件、指令以执行移动终端200的各种功能以及进行数据处理。
在一些实施例中,外设接口208,处理器206以及存储控制器204可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块210用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。射频模块210可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。射频模块210可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(wideband codedivision multiple access,W-CDMA),码分多址技术(Code division access,CDMA)、时分多址技术(time division multiple access,TDMA),蓝牙,无线保真技术(Wireless,Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voiceover internet protocal,VoIP)、全球微波互联接入(Worldwide Interoperability forMicrowave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
定位模块212用于获取移动终端200的当前位置。定位模块212的实例包括但不限于全球卫星定位系统(GPS)、基于无线局域网或者移动通信网的定位技术。
图像采集设备214用于拍摄照片或者视频。拍摄的照片或者视频可以存储至存储器202内,并可通过射频模块210发送。
音频模块216向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。音频电路从外设接口208处接收声音数据,将声音数据转换为电信息,将电信息传输至扬声器。扬声器将电信息转换为人耳能听到的声波。音频电路还从麦克风处接收电信息,将电信号转换为声音数据,并将声音数据传输至外设接口208中以进行进一步的处理。音频数据可以从存储器202处或者通过射频模块210获取。此外,音频数据也可以存储至存储器202中或者通过射频模块210进行发送。在一些实例中,音频模块216还可包括一个耳机播孔,用于向耳机或者其他设备提供音频接口。
触控屏幕218在移动终端200与用户之间同时提供一个输出及输入界面。具体地,触控屏幕218向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。触控屏幕218还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。触控屏幕218显示单元的具体实例包括但并不限于液晶显示器或发光聚合物显示器。
按键模块220同样提供用户向移动终端200进行输入的接口,用户可以通过按下不同的按键以使移动终端200执行不同的功能。
图3示出了本发明实施例提供的播放列表的分享方法的实现流程,在本实施例中,流程的执行主体为图1中的发送客户端11。图2所示的实现流程详述如下:
在S301中,在发送客户端提取播放列表的分享信息,所述分享信息包括所述播放列表的列表信息。
在本实施例中,播放列表的列表信息包括但不限于以下几项:播放列表的名称、播放列表中的媒体文件数量以及播放列表中每个媒体文件的名称、所属的专辑的名称、演唱者、作词者、作曲者,等等。
具体地,可以预先在本地存储关于播放列表的字段名,在进行列表信息提取时,根据预先存储的字段名,对需要进行分享的播放列表进行信息提取,提取出每个字段名对应的字段值,从而生成播放列表的列表信息。例如,字段名为歌曲数量,则在进行信息提取时,检测歌单中包含的歌曲的数量,将检测到的歌曲数量填充为该字段名对应的字段值;又例如,字段名为播放列表名,则在进行信息提取时,检测歌单的名称,将检测到的歌单名称填充为该字段名对应的字段值。在本实施例中,通过字段名与字段值的形式来处理提取出的播放列表的分享信息,接收客户端便能够根据预先在本地存储的、与发送客户端相同的关于播放列表的字段名,检测出分享信息中每个字段名对应的字段值,由此还原出播放列表。
作为本发明的一个实施例,提取的播放列表的分享信息除了包括上述播放列表的列表信息之外,还可以包括:
当前所述发送客户端的账号信息。
即,当前登录发送客户端的账号信息,将该账号信息与播放列表的列表信息一同提取并最终进行分享,能够有助于接收客户端知晓进行播放列表分享的账号信息,并便于客户端对应的服务器记录进行播放列表分享的账号信息,从而生成该账号的播放列表分享记录。每个客户端账号的播放列表分享记录能够被应用在音乐社区活跃度排名等网络互动场景之下,具体的应用场景在此不用于限定本发明,不一一赘述。
在S302中,生成包含所述分享信息的预设格式信息流。
当S301提取出播放列表的分享信息之后,需要将该分享信息转换成适用于数据传输的预设格式信息流,以使得播放列表能够成功分享给接收客户端。
在本实施例中,预设格式信息流包括但不限于:
可扩展标记语言(Extensible Markup Language,XML)格式信息流或者JSON格式信息流。
其中,所述XML格式为用于标记电子文件使其具有结构性的标记语言,其的格式规范极其简单,被用于传输和存储数据,适合播放列表分享这类的两个终端之间的数据传输行为。
所述JSON(JavaScript Object Natation)格式是一种轻量级的数据交换格式,其易于阅读和编写,同时也易于机器解析和生成,因此也为一种理想的数据交换语言,适合播放列表分享这类的两个终端之间的数据传输行为。
另外,预设格式也可以为开发者自行定义的数据格式规范,在本实施例中,预设格式信息流的目的在于便于播放列表相关信息在两个终端之间通过蓝牙相互传输,而具体的格式规范在此不一一限定。
作为本发明实施例的一种具体实现方式,以预设格式信息流为XML信息流为例,图4示出了本发明实施例S301和S302的具体实现流程,详述如下:
在S401中,通过检测输入指令,确定需要进行分享的歌单。
在S402中,生成XML信息包头。
该XML信息包头为XML相关协议所规定的XML信息所必须包含的数据结构。
在S403中,提取当前发送客户端的账号信息并加入到XML格式信息流中。
在S404中,提取进行分享的歌单的歌单名称和歌曲数量并加入到XML格式信息流中。
在S405中,依序提取歌单中下一首歌曲的歌曲名、歌手名、专辑名等信息并加入到XML格式信息流中。
在S406中,判断是否还有待提取信息的下一首歌曲,如果有,则重复执行S405,如果歌单中每首歌曲的相关信息都已提取完毕,则执行S407。
在S407中,把生成的XML格式信息流转换成二进制流。
在S408中,需要将XML格式信息流进一步处理成二进制流,以便于通过蓝牙在两个终端之间实现数据传输。
通过图4所示的步骤,即可实现在发送客户端对进行分享的播放列表的信息处理,处理后得到的二进制流可以直接通过蓝牙发送给接收客户端。
在S303中,通过蓝牙建立与接收客户端的连接。
在本实施例中,发送客户端所在终端首先通过蓝牙发起呼叫,扫描到处于可被查找状态的接收客户端所在的终端,并与接收客户端所在的终端进行配对然后与接收客户端所在设备建立连接,在连接成功建立之后,发送客户端所在终端与接收客户端所在终端之间即可进行双向的数据通讯。
在S304中,将所述预设格式信息流发送至所述接收客户端,以使所述接收客户端通过解析所述预设格式信息流中的所述分享信息还原出所述播放列表,并加载至所述接收客户端。
在本实施例中,通过S303建立的连接,发送客户端将S302中生成的预设格式信息流发送至接收客户端,接收客户端在接收到该预设格式信息流之后,通过解析其中的分享信息,还原出发送客户端分享的播放列表,并直接加载至接收客户端以显示。其中,接收客户端在接收到预设格式信息流之后的相关处理流程将在后续实施例中进行详细说明,在此不再赘述。
作为本发明的一个实施例,对发送客户端来说,其在确认预设格式信息流发送成功之后,或者在根据接收客户端返回的响应确认接收客户端成功还原出播放列表之后,可以主动释放与接收客户端的蓝牙连接,从而及时地降低了因为蓝牙连接而带来的终端功耗。
作为本发明实施例的一种具体实现方式,图5示出了本发明实施例S303和S304的具体实现流程,详述如下:
在S501中,发送客户端所在终端通过蓝牙扫描到接收客户端所在终端。
在S502中,发送客户端用通用唯一识别码(Universally Unique Identifier,UUID)向接收客户端所在终端发起蓝牙连接请求。
在S503中,判断蓝牙连接是否成功建立,是则执行S504,否则执行S508。
在S504中,发送客户端通过蓝牙连接向接收客户端发送二进制的预设格式信息流。
在S505中,判断预设格式信息流是否发送成功,是则执行S506,否则执行S508。
在S506中,发送客户端发出指令,以使发送客户端所在终端释放与接收客户端所在终端的蓝牙连接。
在S507中,发送客户端提示播放列表分享成功。
在S508中,发送客户端提示播放列表分享失败。
图6示出了本发明实施例提供的播放列表的分享方法的实现流程,在本实施例中,流程的执行主体为图1中的接收客户端12。图6所示的实现流程详述如下:
在S601中,通过蓝牙建立与发送客户端的连接。
在本实施例中,接收客户端通过蓝牙建立与发送客户端的连接,首先需要接收客户端所在终端将其蓝牙芯片开启,以使其处于可被其他蓝牙终端查找的状态。之后,接收客户端所在终端需要监听来自发送客户端所在终端的蓝牙连接请求,接收该蓝牙连接请求,并在与发送客户端所在终端配对成功的前提下,建立起两个终端之间的蓝牙连接,由此,发送客户端与接收客户端之间通过蓝牙建立起连接,可以实现基于蓝牙的数据通信。
在S502中,接收所述发送客户端发送的包含播放列表的分享信息的预设格式信息流,所述分享信息由所述发送客户端在本地的播放列表中提取,且所述分享信息包括所述播放列表的列表信息。
在建立好蓝牙连接之后,接收客户端通过蓝牙链路接收发送客户端发送的,包含了播放列表的分享信息的预设格式信息流。在本实施例中,预设格式信息流在发送客户端的生成方式已在前述实施例中进行详细说明,在此不再赘述。
在S603中,解析所述预设格式信息流中的所述分享信息,还原出所述播放列表。
在接收客户端成功接收预设格式信息流之后,根据预设格式信息流的格式规范,识别出其中的信息包头等内容,提取出包含在预设格式信息流中的播放列表的分享信息,并从中还原出播放列表。
具体地,对应前述实施例中通过预先存储的字段名进行播放列表的分享信息提取的方法,在接收客户端,也可以预先在本地存储关于播放列表的字段名,在进行播放列表还原时,根据预先存储的字段名进行检测,从分享信息中提取出每个字段名对应的字段值,从而逐一地提取出播放列表的相关内容。例如,预先存储的字段名包括了歌曲数量,则在进行播放列表还原时,检测到分享信息中字段名为“歌曲数量”的字段,提取出该字段名对应的字段值,将提取出的字段值还原为歌单中包含的歌曲的数量;又例如,预先存储的字段名包括了歌单名称,则在进行播放列表还原时,检测到分享信息中的字段名为“歌单名称”的字段,提取出该字段名对应的字段值,将提取出的字段值还原为歌单的名称。通过上述方法一一对预先存储的字段名进行检测,接收客户端就可以从解析出的播放列表的分享信息中还原出播放列表。
在S604中,加载并显示所述播放列表。
在本实施例中,由于S603中,接收客户端还原出的播放列表为接收客户端可以直接加载并显示在接收客户端中的格式,因此,在还原出播放列表之后,接收客户端可以即时地显示出播放列表中的详细信息,播放列表中详细信息的获取无需通过进一步的互联网连接才能实现,有效地减少了播放列表分享的操作步骤,并节省了终端流量,即使是在没有网络连接的情况下,两个客户端之间也可以进行播放列表分享。
作为本发明的一个实施例,提取的播放列表的分享信息除了包括上述播放列表的列表信息之外,还可以包括:
发送客户端的账号信息。
接收客户端在解析出播放列表中的分享信息之后,提取出其中的发送客户端的账号信息,并加载显示在接收客户端的预设位置中,能够有助于接收客户端用户知晓进行播放列表分享的账号信息。对发送客户端的账号信息的加载显示能够被应用在音乐社区活跃度排名等网络互动场景之下,便于接收客户端向发送客户端账号赠予相应的活跃度积分,具体的应用场景在此不用于限定本发明,不一一赘述。
作为本发明的一个实施例,对接收客户端来说,其在确认预设格式信息流接收成功之后,或者在确认播放列表还原成功之后,可以主动释放与发送客户端的蓝牙连接,从而及时地降低了因为蓝牙连接而带来的终端功耗。
在本发明实施例中,接收客户端一旦检测出预设格式信息流接收失败或者播放列表还原失败,则可以通过仍然建立着连接的蓝牙链路,向发送客户端发送相应的重传响应,以使发送客户端执行播放列表分享的相关操作。
作为本发明实施例的一种具体实现方式,图7示出了接收客户端数据通信的示意流程,详述如下:
在S701中,设置蓝牙芯片,使接收客户端所在的终端处于可被查找的状态。
在S702中,通过UUID端口监听到发送客户端的蓝牙连接请求,当监听到连接请求时,则执行S603,否则重复执行S602。
在S703中,通过蓝牙建立与发送客户端的连接。
在S704中,通过建立的连接接收来自发送客户端的预设格式信息流。
在S705中,判断预设格式信息流是否接收成功,是则执行S606,否则结束操作,向发送客户端返回分享失败的响应。
在S706中,释放与发送客户端的蓝牙连接。
作为本发明实施例的一种具体实现方式,以预设格式信息流为XML信息流为例,图8示出了接收客户端处理接收到的预设格式信息流的示意流程,详述如下:
在S801中,将接收到的二进制的预设格式信息流转换为XML格式的信息流。
在S802中,从XML信息流中解析播放列表的分享信息。
在S803中,判断解析是否成功,若成功则执行S804,否则结束操作,向发送客户端返回分享失败的响应。
在S804中,加载播放列表至接收客户端的媒体库。
在S805中,弹出播放列表接收成功的提示,以示意接收客户端可以播放该播放列表中的媒体文件。
在本发明实施例中,当通过蓝牙来进行点对点的播放列表分享时,发送客户端将播放列表中的相关内容提取出来生成适合蓝牙传输的数据流,接收客户端在接收到该数据流之后,经过解析即能还原出该播放列表,并加载显示,使得接收客户端不再需要依赖于网络访问才能获取到其中的详细信息,简化了播放列表分享的操作步骤,提高了播放列表的分享效率。
图9示出了本发明实施例提供的播放列表的分享装置的结构框图,该装置可以位于图1所示的发送客户端11中,用于运行本发明图3至图5实施例所述的播放列表的分享方法。为了便于说明,仅示出了与本实施例相关的部分。
参照图9,该装置包括:
提取单元91,在发送客户端提取播放列表的分享信息,所述分享信息包括所述播放列表的列表信息。
生成单元92,生成包含所述分享信息的预设格式信息流。
第一连接单元,用于通过蓝牙建立与接收客户端的连接。
发送单元93,将所述预设格式信息流发送至所述接收客户端,以使所述接收客户端通过解析所述预设格式信息流中的所述分享信息还原出所述播放列表,并加载至所述接收客户端。
可选地,所述分享信息还包括:
当前所述发送客户端的账号信息。
可选地,所述装置还包括:
第一连接释放单元,当所述预设格式信息流发送至所述接收客户端时,释放与所述接收客户端的连接。
可选地,所述预设格式信息流包括:
可扩展标记语言XML格式信息流或者JSON格式信息流。
图10示出了本发明实施例提供的播放列表的分享装置的结构框图,该装置可以位于图1所示的接收客户端12中,用于运行本发明图6至图8实施例所述的播放列表的分享方法。为了便于说明,仅示出了与本实施例相关的部分。
参照图10,该装置包括:
第二连接单元1001,通过蓝牙建立与发送客户端的连接。
接收单元1002,接收所述发送客户端发送的包含播放列表的分享信息的预设格式信息流,所述分享信息由所述发送客户端在本地的播放列表中提取,且所述分享信息包括所述播放列表的列表信息。
解析单元1003,解析所述预设格式信息流中的所述分享信息,还原出所述播放列表。
第一加载单元1004,加载并显示所述播放列表。
可选地,所述分享信息还包括:
所述发送客户端的账号信息;
所述装置还包括:
第二加载单元,加载并显示所述发送客户端的账号信息。
可选地,所述装置还包括:
第二连接释放单元,释放与所述发送客户端的连接。
在本发明实施例中,当通过蓝牙来进行点对点的播放列表分享时,发送客户端将播放列表中的相关内容提取出来生成适合蓝牙传输的数据流,接收客户端在接收到该数据流之后,经过解析即能还原出该播放列表,并加载显示,使得接收客户端不再需要依赖于网络访问才能获取到其中的详细信息,简化了播放列表分享的操作步骤,提高了播放列表的分享效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。