音乐播放方法、系统、可读存储介质及智能终端设备与流程

文档序号:14249151阅读:246来源:国知局
音乐播放方法、系统、可读存储介质及智能终端设备与流程

本发明涉及信息处理技术领域,特别是涉及一种音乐播放方法、系统、可读存储介质及智能终端设备。



背景技术:

随着社会经济的快速发展,其智能设备在消费者的使用中得到的迅速普及,人们越来越多的使用智能设备进行听歌、看视频以及即时通讯等日常使用活动,其中由于智能设备的体积以及硬件的限制,用户无法使用其智能设备以实现较佳的视听体验,因此通常可将智能设备进行专业设备的外接拓展,以达到更好的用户体验。

其中,智能设备可通过有线方式或无线方式将其与外接的专业音频设备或显示设备连接,例如,外接音频线将音频信号通过外接的音频设备进行播放,或者通过蓝牙、wifi等无线方式将音视频信号传输至音频设备或显示设备进行播放,其中无线方式由于不受到线的长度以及缠绕影响,其用户体验更佳。

其中,智能设备包括android设备和ios设备,在现有的无线传输方式中,其android设备和ios设备的音视频传输方式不相同,其中android设备通常采用通用的dlna传输协议进行音视频信号的传输,ios设备采用苹果公司其自行研发的airplay传输协议进行音频信号的传输,目前现有市场中没有针对其android设备和ios设备共同控制的外接音频设备。



技术实现要素:

基于此,本发明实施例提出一种音乐播放方法、系统、可读存储介质及智能终端设备,解决现有android设备和ios设备不能共同控制相同的外接音频设备的问题。

本发明实施例提供一种音乐播放方法,具体技术方案如下:

一种音乐播放方法,所述方法包括:

接收控制终端采用一通讯协议发送的音频播放信号,并根据所述通讯协议的协议类型确定所述控制终端的设备类型;

根据所述音频播放信号,控制所述设备类型对应的音频播放器进行相应的播放响应。

本发明实施例通过同时安装有多个音频播放器,且可以和不同设备类型的控制终端之间进行信号通讯,此时通过接收控制终端发送的音频播放信号以及通讯协议的类型可以确定控制终端的设备类型,并根据该音频播放信号控制该设备类型对应的音频播放器进行相应的播放响应,解决了现有android设备和ios设备不能共同控制相同的外接音频设备的问题。

进一步地,所述方法还包括:

当在预设时间内接收到多个所述控制终端分别发送的音频播放信号时,将各个所述音频播放信号依序存储至缓冲队列中;

判断所述缓冲队列中是否包括不同设备类型的所述控制终端发送的音频播放信号;

若是,则依序获取所述缓冲队列中的所述音频播放信号,并依次响应高优先级的控制终端发送的音频播放信号。

其中,当在预设时间同时接收到多个控制终端发送的音频播放信号时,此时将接收到的音频播放信号按照时间顺序依序存储到缓冲队列中,并当确定发送音频控制信号的控制终端为不同类型的控制终端时,根据确定发送该音频播放信号的设备类型可确定出该控制终端的控制优先级,此时读取该音频播放信号时响应高优先级的控制终端发送的音频播放信号,并丢弃低优先级的控制终端发送的音频播放信号,避免了由于不同类型的控制终端发送控制信号导致响应混乱的问题。

进一步地,所述根据所述通讯协议的协议类型确定所述控制终端的设备类型的步骤包括:

当获取到所述协议类型为airplay通讯协议时,确定所述控制终端为ios设备;

当获取到所述协议类型为dlna通讯协议时,确定所述控制终端为android设备。

其中,该控制终端可以为android设备或ios设备,此时根据获取到协议类型可以进一步的确定控制终端的设备类型,并更好的调用相应的音频播放器以响应不同的音频播放信号。

进一步地,所述控制所述设备类型对应的音频播放器进行相应的播放响应的步骤包括:

根据所述设备类型控制启动相应的音频播放器,其中所述ios设备对应为airplay播放器,所述android设备对应为多媒体播放器;

根据所述音频播放信号控制所述音频播放器进行相应的播放响应。

其中,当根据通讯协议的协议类型确定控制终端的设备类型后,根据该设备类型启动相应的音频播放器,当控制终端为ios设备时,启动airplay播放器;当控制终端为android设备时,启动多媒体播放器,此时不同的控制终端对应启动不同的音频播放器,从而避免了在不同的控制终端发送的音频播放信号下而无法进行对应的音频播放器的响应的问题。

本发明的另一个实施例提出一种音乐播放系统,所述音乐播放系统包括:

确定模块,用于接收控制终端采用一通讯协议发送的音频播放信号,并根据所述通讯协议的协议类型确定所述控制终端的设备类型;

第一控制模块,用于根据所述音频播放信号,控制所述设备类型对应的音频播放器进行相应的播放响应。

进一步地,所述装置还包括:

存储模块,用于当在预设时间内接收到多个所述控制终端分别发送的音频播放信号时,将各个所述音频播放信号依序存储至缓冲队列中;

判断模块,用于判断所述缓冲队列中是否包括不同设备类型的所述控制终端发送的音频播放信号;

第二控制模块,用于当所述判断模块判断结果为是时,依序获取所述缓冲队列中的所述音频播放信号,并依次响应高优先级的控制终端发送的音频播放信号。

进一步地,所述确定模块包括:

第一确定单元,用于当获取到所述协议类型为airplay通讯协议时,确定所述控制终端为ios设备;

第二确定单元,用于当获取到所述协议类型为dlna通讯协议时,确定所述控制终端为android设备。

进一步地,所述第一控制模块包括:

启动单元,用于根据所述设备类型控制启动相应的音频播放器,其中所述ios设备对应为airplay播放器,所述android设备对应为多媒体播放器;

控制单元,用于根据所述音频播放信号控制所述音频播放器进行相应的播放响应。

本发明的另一个实施例提出一种可读存储介质,其上存储有应用程序,该程序被处理器执行时实现如上述中任意一项所述方法的步骤。

本发明的另一个实施例提出一种智能终端设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的应用程序,所述处理器执行所述程序时实现如上述中任意一项所述方法的步骤。

附图说明

图1为本发明第一实施例提出的音乐播放方法的流程图。

图2为本发明第二实施例提出的音乐播放方法的流程图。

图3为本发明一实施例提出的音乐播放系统的结构框图。

图4为本发明另一实施例提出的音乐播放系统的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。

请查阅图1,为本发明的第一实施例提出的音乐播放方法的流程图,其中,该方法包括:

步骤s11,接收控制终端采用一通讯协议发送的音频播放信号,并根据所述通讯协议的协议类型确定所述控制终端的设备类型;

其中,该音乐播放方法应用于音乐播放系统,该音乐播放系统包括一智能终端和若干个音响。当智能终端接收到控制终端发送的音频播放信号时,其控制终端与智能终端之间会按照一通讯协议进行信号的传输。其中,不同设备类型的控制终端与智能终端进行通讯时,其通讯协议的协议类型不相同,此时智能终端根据通讯协议的协议类型可以确定控制终端的设备类型。

步骤s12,根据所述音频播放信号,控制所述设备类型对应的音频播放器进行相应的播放响应;

其中,该智能终端中包括多个音频播放器(音频播放软件),其中各个音频播放控制用于接收其对应匹配的音频播放信号并通过控制音响进行相应的播放响应。其中不同的设备类型的控制终端发送的音频播放信号需要其相应的音频播放器进行播放响应,其他的播放器无法接收以及响应与其不匹配的音频播放信号,此时智能终端根据设备类型确定出其对应的音频播放器,并根据音频控制信息控制相应的音频播放器进行相应的播放响应。

更进一步讲,在步骤s11中,根据所述通讯协议的协议类型确定所述控制终端的设备类型,例如,可采取如下方式执行:

其中,该音乐播放方法应用于音乐播放系统,该音乐播放系统包括一智能终端和若干个音响,其中,本实施例中,该控制终端为智能面板,其控制终端中包括多个通讯及控制软件,其中本实施例中具体包括dlna协议软件(platinum)、多媒体播放器(mplayer)以及airplay播放器(shairport)。

其中,dlna协议软件(platinum)用于与控制终端进行信号通讯,且此时控制终端为android设备。多媒体播放器(mplayer)用于根据android设备发送的音频播放信号进行相应的播放响应。airplay播放器(shairport)用于与控制终端进行信号通讯以及根据接收到控制终端发送的音频播放信号进行相应的响应,且此时控制终端为ios设备。

其中,智能终端还包括opensles播放接口,该opensles播放接口为针对其智能终端的硬件进行优化的硬件音频加速api,其用于接收多媒体播放器和airplay播放器输出的音频数据流并控制音响进行播放。

其中,智能终端会分别由airplay播放器发布airplay服务,以及dlna协议软件发布dlna服务,此时各个控制终端均可搜索到该智能终端,并通过其相应的通讯协议进行通讯,例如,当android设备打开dlna服务并搜索到智能终端时,其android设备可通过dlna通讯协议与智能终端的dlna协议软件进行信号通讯。

此时智能终端接收控制终端发送的音频播放信号,并根据控制终端发送音频播放信号的通讯协议,获取通讯协议的协议类型,进一步地,其中根据通讯协议的协议类型确定其控制终端的设备类型。其中,通讯协议的协议类型为控制终端发送音频播放信号时采用的通讯协议,协议类型包括airplay通讯协议或dlna通讯协议,例如,当智能终端获取到协议类型为airplay通讯协议时,智能终端确定控制终端为ios设备;当智能终端获取到协议类型为dlna通讯协议时,智能终端确定控制终端为android设备。

更进一步讲,在步骤s12中,根据所述音频播放信号,控制所述设备类型对应的音频播放器进行相应的播放响应,例如,可采取如下方式执行:

其中,根据控制终端发送的通讯协议的协议类型确定好控制终端的设备类型后,根据设备类型控制启动相应的音频播放器,其中ios设备对应为airplay播放器,android设备对应为多媒体播放器;并根据音频播放信号控制对应的音频播放器进行相应的播放响应。

其中,智能终端的播放控制主要包括其使用本地音频文件通过多媒体播放器进行音乐的播放控制;或接收android设备发送的音频播放信号并通过使用多媒体播放器进行音乐的播放控制;或接收ios设备发送的音频播放信号并通过使用airplay播放器进行音乐的播放控制。

其中,需要指出的是,airplay播放器可以接收控制终端发送的音频播放信号并进行相应的播放响应,但是airplay播放器不能调用系统的音量控制接口,其不能实现对音量的控制响应。而多媒体播放器不能接收到控制终端发送的音频播放信号,其音频播放信号均为通过dlna协议软件进行接收通讯,并通过dlna协议软件与多媒体播放器之间进行通讯。且airplay播放器以及多媒体播放器进行音频播放解码后,其音频输出流不相同,其难以实现通过opensles播放接口统一播放。

因此为了配合各个软件之间协调工作,智能终端通过采用本地套接字接口(localsocket接口)实现各个软件之间的对接工作,其中,本地套接字接口(localsocket接口)包括控制套接字接口(localsocket.control接口)和播放套接字接口(localsocket.pcm接口),其中,控制套接字接口(localsocket.control接口)用于连接dlna协议软件和多媒体播放器,以及连接本地文件和多媒体播放器。其还用于与airplay播放器连接,并接收airplay播放器的音量控制信号。其中,播放套接字接口(localsocket.pcm接口)用于将airplay播放器以及多媒体播放器输出的音频流进行重采样处理后,统一音频格式通过opensles播放接口传输至音响进行音频输出。

其中,当控制终端为android设备时,其控制终端连接dlna服务并向智能终端发送一音频播放信号,此时智能终端根据控制终端发送的音频播放信号的通讯协议确定出通讯协议为dlna协议,此时智能终端中的dlna协议软件与控制终端之间进行信号通讯,并将接收到的音频播放信号通过控制套接字接口写入至多媒体播放器,此时,控制套接字接口将音频播放信号写入至多媒体播放器的数据格式可例如为:

{"cmd":"play","name":"http://xxx.xxx.xxx.xxx/xxx.mp3或者file://xxx.mp3"}

{"cmd":"stop"}

{"cmd":"pause"}

{"cmd":"seek","pos":"100"}//pos:时间单位秒

{"cmd":"playmode","mode":0/1/2/3}//0:顺序1:循环2:随机3:单曲播放

{"cmd":"setvolume","vol":50}//vol0-100

其中,其控制套接字接口将音频播放信号中的数据以一标准数据格式写入,其中,控制指令为"play"时表示为播放,其中"name"表示为播放的歌曲,其可以为android设备发送的网络流媒体文件,也可以为本地音频文件中存储的本地文件;控制指令为"stop"时表示为停止播放;控制指令为"pause"时表示为暂停播放;控制指令为"seek"时表示为时间调整,其中"pos"中确定的属性为具体调整到多少秒;控制指令为"playmode"时表示为播放模式,其中"mode"为确定模式具体信息,其中当确定该属性值为0时,表示顺序播放;确定该属性值为1时,表示循环播放;确定该属性值为2时,表示随机播放;确定该属性值为3时,表示单曲循环播放;控制指令为"setvolume"时表示为调节音量,其中"vol"中确定的属性为具体调节的音量值,其中本实施例中,音量值的属性为百分比,其最大属性值为100,表示为音量调节为100%,其最小属性值为0,表示为音量调节为0%。

进一步地,该控制套接字接口除可以将控制终端发送的音频播放信号写入至多媒体播放器外,其还可以读取多媒体播放器以及airplay播放器的当前播放信息,并发送至控制终端,以使使用控制终端的用户了解当前的播放状态,其中该控制套接字接口读取播放信息的数据格式可例如为:

其中,"totaltime"的属性值表示为该歌曲的总时长;"current"的属性值表示为该歌曲的当前播放时长;"playstate"的属性值表示为该歌曲的播放状态,其中播放状态具体包括play播放状态,stop停止状态,以及pause暂停状态;"name"的属性值表示为该歌曲的播放名称,其可以为android设备或ios设备发送的网络流媒体文件,也可以为本地音频文件中存储的本地文件;"volume"的属性值表示为该歌曲的音量值;"playmode"的属性值表示为该歌曲的播放模式。

进一步地,当控制终端为ios设备时,其控制终端连接airplay服务并向智能终端发送一音频播放信号,此时智能终端根据控制终端发送的音频播放信号的通讯协议确定出通讯协议为airplay协议,此时智能终端中的airplay播放器与控制终端之间进行信号通讯,并将接收到的音频播放信号通过airplay播放器控制相应的响应,其中,当接收到的音频播放信号包括音量控制信息时,则通过控制套接字接口写入至airplay播放器。

进一步地,当多媒体播放器或airplay播放器对待播放的音乐进行解码后,将解码后的pcm流传输到opensles播放接口进行音乐的播放,此时由于多媒体播放器或airplay播放器对音乐进行解码后的pcm流不一致,因此此时opensles播放接口对多媒体播放器或airplay播放器传输的pcm流进行重采样处理,此时将pcm流全部统一成44100采样率的双声道格式音频,其中将pcm流进行重采样处理后的数据格式可例如为如下:

其中,属性名"type"表示为播放器的输出类型,其中属性值包括0或1,其中0表示为由多媒体播放器控制输出的音频,1表示为由airplay播放器控制输出的音频;属性名"format"表示为音频数据格式,其属性值为"44100-2",即多媒体播放器或airplay播放器传输的pcm流均重采样处理后为44100采样率的双声道格式;属性名"pcm"表示为音频输入流,其属性值为经base64编码的数据;属性名"pcm_len"表示为音频输入流的字节长度,其属性值为1024,即该pcm流的最小单元为1024个字节。

此时,通过opensles播放接口对多媒体播放器或airplay播放器传输的pcm流进行重采样处理后传输至音响,并通过音响进行音乐的播放等操作。

本发明的实施例通过智能终端同时安装有airplay播放器和多媒体播放器,且其通过发布的airplay服务和dlna服务可以分别和ios设备或android设备进行信号通讯,此时接收控制终端发送的音频播放信号并确定控制终端的设备类型,并根据该音频播放信号控制该设备类型对应的音频播放器进行相应的播放响应,解决了现有android设备和ios设备不能共同控制相同的外接音频设备的问题。

请查阅图2,本发明的第二实施例中提供的音乐播放方法的流程图,其中,该方法包括:

步骤s21,接收控制终端采用一通讯协议发送的音频播放信号,并根据所述通讯协议的协议类型确定所述控制终端的设备类型。

步骤s22,当在预设时间内接收到多个所述控制终端分别发送的音频播放信号时,将各个所述音频播放信号依序存储至缓冲队列中;

其中,当智能终端在预设时间同时接收到多个控制终端发送的音频播放信号时,智能终端将接收到的音频播放信号按照时间顺序依序存储到缓冲队列中。

步骤s23,判断所述缓冲队列中是否包括不同设备类型的所述控制终端发送的音频播放信号;

其中,当判断出缓冲队列中包括不同设备类型的控制终端发送的音频播放信号时,执行步骤s24;

当判断出所述缓冲队列中不包括不同设备类型的控制终端发送的音频播放信号时,执行步骤s25;

其中,智能终端通过读取其缓冲队列存储的多个音频播放信号,判断发送各个音频播放信号的控制终端的设备类型。

步骤s24,依序获取所述缓冲队列中的所述音频播放信号,并依次响应高优先级的控制终端发送的音频播放信号;

其中,当智能终端判断出缓冲队列中包括不同设备类型的控制终端发送的音频播放信号时,此时智能终端将缓冲队列中的多个音频播放信号依序读取,其中,例如,首先读取到的缓冲队列的第一个音频播放信号时,根据确定音频播放信号的设备类型可确定出该控制终端的控制优先级。其中,需要指出的是,本实施例中,两个不同的设备类型的控制终端中,android设备的控制优先级较ios设备的控制优先级高。即当智能终端读取的第一个音频播放信号为ios设备发送时,其智能终端丢弃该低优先级的ios设备发送的第一音频播放信号,此时依序读取该缓冲队列的各个音频播放信号,当读取到高优先级的音频播放信号时,对该高优先级的音频播放信号进行播放响应。此时在预设的时间内若两个不同的设备类型的控制终端同时发送音频播放信号时,其中智能终端不会响应低优先级的ios设备发送的音频播放信号,而是一直响应高优先级的android设备发送的音频播放信号。其中需要指出的是,在本发明的其他实施例中,两个不同的设备类型的控制终端中的优先级的高低可根据实际用户使用需求进行设定,在此不做限定。

步骤s25,依序获取所述缓冲队列中的所述音频播放信号,并根据所述音频播放信号,控制所述设备类型对应的音频播放器进行相应的播放响应;

其中,当智能终端判断出缓冲队列中全部为同一设备类型的控制终端发送的音频播放信号时,此时智能终端依序获取缓冲队列中的音频播放信号,并根据该音频播放信号开启对应的音频播放器,并控制该音频播放器进行相应的播放响应。

请查阅图3,为本发明的一实施例中提供的音乐播放系统的结构框图,该音乐播放系统10包括:

确定模块11,用于接收控制终端采用一通讯协议发送的音频播放信号,并根据所述通讯协议的协议类型确定所述控制终端的设备类型。

第一控制模块12,用于根据所述音频播放信号,控制所述设备类型对应的音频播放器进行相应的播放响应。

进一步讲,所述协议类型包括airplay通讯协议或dlna通讯协议,其中,确定模块11包括:

第一确定单元111,用于当获取到所述协议类型为airplay通讯协议时,确定所述控制终端为ios设备。

第二确定单元112,用于当获取到所述协议类型为dlna通讯协议时,确定所述控制终端为android设备。

进一步讲,所述第一控制模块12包括:

启动单元121,用于根据所述设备类型控制启动相应的音频播放器,其中所述ios设备对应为airplay播放器,所述android设备对应为多媒体播放器。

控制单元122,用于根据所述音频播放信号控制所述音频播放器进行相应的播放响应。

请查阅图4,为本发明的另一实施例中提供的音乐播放系统的结构框图,该音乐播放系统20包括:

确定模块21,用于接收控制终端采用一通讯协议发送的音频播放信号,并根据所述通讯协议的协议类型确定所述控制终端的设备类型。

第一控制模块22,用于根据所述音频播放信号,控制所述设备类型对应的音频播放器进行相应的播放响应。

存储模块23,用于当在预设时间内接收到多个所述控制终端分别发送的音频播放信号时,将各个所述音频播放信号依序存储至缓冲队列中。

判断模块24,用于判断所述缓冲队列中是否包括不同设备类型的所述控制终端发送的音频播放信号。

第二控制模块25,用于当所述判断模块判断结果为是时,依序获取所述缓冲队列中的所述音频播放信号,并依次响应高优先级的控制终端发送的音频播放信号。

本发明实施例提出的音乐播放系统的技术特征和技术效果与本发明实施例提出的方法相同,在此不予赘述。

本发明实施例还提供了一种可读存储介质,其上存储有应用程序,该程序被处理器执行时实现上述实施例1、2中任意一个方法的步骤。

本发明实施例还提供了一种智能终端设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的应用程序,所述处理器执行所述程序时实现上述实施例1、2中任意一个方法的步骤。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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