音频播放的方法、设备、客户端装置及电子设备与流程

文档序号:20767456发布日期:2020-05-15 19:09阅读:158来源:国知局
音频播放的方法、设备、客户端装置及电子设备与流程

本公开涉及计算机技术领域,更具体地,涉及一种基于weex和native混合实现的音频播放的方法、设备、客户端装置及电子设备。



背景技术:

在目前的应用开发过程中,使用具有“发布即更新”、“一条url可适配多端”的h5技术进行开发页面应用,虽然简单高效,但很是很难获取原生(native)应用的富交互的性能体验。因此,可以兼顾开发效率和性能体验的应用开发框架,例如weex框架应运而生。

通过weex这类应用框架开发的应用,通常只能提供基础的应用功能开发,例如,只能提供基础的音频播放功能,无法实现音频的后台播放、歌曲切换等原生音频播放应用的功能。

因此,发明人认为,有必要对现有技术中存在的上述缺陷进行改进。



技术实现要素:

本公开的一个目的是提供一种音频播放的新技术方案。

根据本公开的第一方面,提供了一种音频播放的方法,其中,所述方法包括:

weex层获取针对weex音频播放界面输入的第一操作;

所述weex层通过预设通信协议中与所述第一操作对应的主动调用类接口,从native层获取对应的播放数据信息;

所述weex层根据所述播放数据信息更新所述weex音频播放界面;

其中,所述主动调用类接口用于weex层主动调用native层中对应的音频播放功能。

可选地,其中,所述方法还包括:

所述weex层获取针对所述weex音频播放界面输入的第二操作;

所述weex层根据所述第二操作,显示native播放控件,并关闭所述weex音频播放界面;

所述weex层通过预设通信协议中的监听类接口,实时接收所述native层发送的所述播放数据信息。

可选地,其中,所述主动调用类接口至少包括:音频播放器初始化接口,获取当前音频播放器数据接口,当前播放数据接口,暂停音频播放接口以及当前播放秒数接口。

可选地,其中,所述监听类接口至少包括:获取当前播放音频数据接口,获取当前播放器播放秒数接口,获取当前播放器播放状态接口,获取当前播放器播放索引接口。

可选地,其中,所述weex音频播放界面中至少包括:可拖拉的进度条、音频时间、播控按钮、弹出式播放列表目录、播放器封面图以及播放信息。

可选地,其中,所述native播放控件以小窗口形式显示;

所述native播放控件中显示当前播放信息。

可选地,所述方法还包括:

响应于针对所述native播放控件的点击操作,展示所述weex音频播放界面。

根据本公开的第二方面,提供了一种用于音频播放的设备,其中,包括:

用于使weex层获取针对weex音频播放界面输入的第一操作的装置;

用于使所述weex层通过预设通信协议中与所述第一操作对应的主动调用类接口,从native层获取对应的播放数据信息的装置;以及,

用于使所述weex层根据所述播放数据信息更新所述weex音频播放界面的装置;

其中,所述主动调用类接口用于weex层主动调用native层中对应的音频播放功能。

根据本公开的第三方面,提供了一种客户端装置,其中,包括根据本公开第二方面所述的用于音频播放的设备,或者被设计成用于执行根据本公开第一方面中的任何一项所述的音频播放的方法中的操作。

根据本公开的第四方面,提供了一种电子设备,其中,包括根据本公开第三方面所述的客户端装置;或者,所述电子设备包括存储器和处理器,所述存储器用于存储指令;所述指令用于控制所述处理器进行操作,以执行如本公开第一方面中任意一项所述的音频播放的方法中的操作。

根据本公开的一个实施例,可以实现通过weex框架开发的应用能调用native组件实现音频播放功能,达到native应用的播放体验。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1示出了根据本公开的实施例的一个音频播放的方法的示意性流程图。

图2示出了根据本公开的实施例的又一个音频播放的方法的示意性流程图。

图3示出了根据本公开的实施例的客户端装置的示意性框图。

图4示出了根据本公开的实施例的电子设备的示意性框图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

下面,参照附图描述根据本公开的各个实施例和例子。

<方法实施例>

图1示出了根据本公开的实施例的音频播放的方法的示意性流程图。

如图1所示,其中,在步骤1100,weex层获取针对weex音频播放界面输入的第一操作。

需要说明的是,所述weex音频播放界面是通过页面整合独立组件的方式,在一个weex页面上放置音频播放界面控件构建出来的,所述weex音频播放界面是独立可视化的界面。

其中,音频播放界面控件是采用weex技术编写出的,所述weex音频播放界面中至少包括:可拖拉的进度条、音频时间、播控按钮、弹出式播放列表目录、播放器封面图以及播放信息。

第一操作是针对weex音频播放界面输入的、用于触发音频播放功能的操作。例如,第一操作可以包括:初始化操作、播放操作、暂停操作、前进/后退操作、音频切换操作、拖动进度条操作等。

其中,初始化操作可以触发weex音频播放界面的初始化功能。播放操作可以触发音频播放功能。暂停操作可以触发暂停音频播放功能。前进/后退操作可以触发快进/快退播放音频的功能。音频切换操作可以触发播放上一条音频/下一条音频的功能。拖动进度条操作可以触发音频从特定描述开始播放的功能。

在获取第一操作后,进入步骤1200,所述weex层通过预设通信协议中与所述第一操作对应的主动调用类接口,从native层获取对应的播放数据信息。

其中,所述主动调用类接口用于weex层主动调用native层中对应的音频播放功能。weex层可以通过所述主动调用类接口主动与native层通信,单次调用,weex层获取或者传递参数给native层,native层返回相应播放数据信息,并响应于对应的功能操作,调用结束。

具体地,所述主动调用类接口至少包括:音频播放器初始化接口(initaudio),获取当前音频播放器数据接口(getextrainfo),当前播放数据接口(play),暂停音频播放接口(pause)以及当前播放秒数接口(seekto)。

需要说明的是,在设置当前播放数据接口中,可选的可以包括:播放数据参数,以及播放索引参数,以指定播放的音频数据,若不包括参数则为播放当前音频数据。在设置当前播放秒数接口中,则必须要包括秒数参数,以指定音频播放的起始秒数。

在一个例子中,所述weex音频播放界面实现初始化功能时,先调用音频播放器初始化接口(initaudio)通知native层初始化,再通过获取当前音频播放器数据接口(getextrainfo)获取当前音频播放数据。

所述weex音频播放界面实现播放/暂停功能时,调用当前播放数据接口(play)和暂停音频播放接口(pause),来播放/暂停当前音频。

所述weex音频播放界面实现前进/后退功能时,调用当前播放秒数接口(seekto),传递需要前进/后退的秒数,实现从所传递的秒数继续播放的功能。

所述weex音频播放界面实现音频切换功能时,调用当前播放数据接口(play),传递需要所需要播放音频的数据和索引值,即可播放此条音频数据。

所述weex音频播放界面实现拖动进度条从而播放到特定位置的功能时,weex层不依赖于native层,在weex层上实现可实时拖动的进度条组件,并实时返回所拖动的进度,并调用当前播放秒数接口(seekto),传递拖动后的秒数至native层,实现weex拖动进度条播放的功能。

在步骤1300,所述weex层根据所述播放数据信息更新所述weex音频播放界面。

例如,获取到当前音频播放数据,根据当前音频播放数据更新weex音频播放界面中的信息,显示出一个可供操作的音频播放器界面。获取到前进/后退的秒数,将所述weex音频播放界面中音频时间更新为对应的秒数。获取到播放/暂停信息时,将所述weex音频播放界面中的播控按钮更新为对应的播放/暂停状态。获取到音频的数据和索引值时,将所述weex音频播放界面中的播放器封面图、播放信息更新为对应的音频数据。

进一步地,在实际使用过程中,可以进行weex音频播放界面与native播放组件的后台切换播放。

具体地,如图2所示,在步骤2100,所述weex层获取针对所述weex音频播放界面输入的第二操作。

其中,第二操作是将所述weex音频播放界面切换为native播放组件的操作。例如,所述第二操作可以是点击所述weex音频播放界面的关闭按钮的操作。又例如,所述第二操作可以是点击后台运行所述weex音频播放界面的操作。

在步骤2200,所述weex层根据所述第二操作,显示native播放控件,并关闭所述weex音频播放界面。

具体地,所述native播放控件以小窗口形式显示;所述native播放控件中显示当前播放信息。

需要说明的是,所述关闭所述weex音频播放界面,是指在当前的显示界面中不再显示所述weex音频播放界面,将所述weex音频播放界面后台运行。

当需要切换至所述weex音频播放界面,进行细致化音频操作时,可以通过点击所述native播放控件实现快速开启所述weex音频播放界面。具体地,响应于针对所述native播放控件的点击操作,展示所述weex音频播放界面。

在步骤2300,所述weex层通过预设通信协议中的监听类接口,实时接收所述native层发送的所述播放数据信息。

其中,所述监听类接口用于weex层被动的与所述native层通信,实时接收所述native层返回的播放数据信息。只要所述native层返回数据,所述weex层就会一直接收数据并响应,不会调用结束。

具体地,所述监听类接口至少包括:获取当前播放音频数据接口(getcurrentstate),获取当前播放器播放秒数接口(onaudioprogresschange),获取当前播放器播放状态接口(onaudiostatechange),获取当前播放器播放索引接口(onaudioitemchange)。

weex音频播放界面播放时,通过预设通信协议,传递播放数据信息给native层,在weex层的weex音频播放界面被关掉的情况下,依旧实现native后台播放功能,且后台播放时,能随时无缝切换回weex层weex音频播放界面,并展现当前音频播放状态,继续音频播放。

在一种可行的实现方式中,利用所述预设通信协议,还可以实现更多可拓展性的功能,例如倍数播放、音频文稿、音频评论等,在此不一一列举。

在另一种可行的实现方式中,weex与native之间的预设通信协议,还可以是将音频数据信息存储在公用区域,weex层与native层通过各自实时读取和复写,来实现通信。

本实施例的音频播放的方法,通过构建weex与native之间与音频相关的通信协议,实现通过weex开发的应用能调用native组件实现音频播放功能,并能实现更多可拓展性的功能,例如倍数播放、音频文稿、音频评论等等更多功能,极大丰富在weex上音频播放的多样性,可以实现通过weex框架开发的应用能调用native组件实现音频播放功能,达到native应用的播放体验。

<设备>

本领域技术人员应当理解,在电子技术领域中,可以通过软件、硬件以及软件和硬件结合的方式,将上述方法体现在产品中本领域技术人员很容易基于上面公开的方法,产生一种用于音频播放的设备,所述音频播放的设备包括用于执行根据上述实施例的音频播放的方法中的各个操作的装置。例如,所述设备包括:用于使weex层获取针对weex音频播放界面输入的第一操作的装置;用于使所述weex层通过预设通信协议中与所述第一操作对应的主动调用类接口,从native层获取对应的播放数据信息的装置;以及,用于使所述weex层根据所述播放数据信息更新所述weex音频播放界面的装置;其中,所述主动调用类接口用于weex层主动调用native层中对应的音频播放功能。

本领域技术人员应当明白,可以通过各种方式来实现用于音频播放的设备。例如,可以通过指令配置处理器来实现用于音频播放的设备。例如,可以将指令存储在rom中,并且当启动设备时,将指令从rom读取到可编程器件中来实现用于音频播放的设备。例如,可以将用于音频播放的设备固化到专用器件(例如asic)中。可以将用于音频播放的设备分成相互独立的单元,或者可以将它们合并在一起实现。用于音频播放的设备可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。

<客户端装置>

可以在诸如手机、平板电脑等的客户端装置(或客户端应用)中实现根据本公开的至少一个实施例。

图3示出了根据本公开的实施例的客户端装置的示意性框图。如图3所示,客户端装置3000包括音频播放的设备3010。音频播放的设备3010可以是根据上述实施例的用于音频播放的设备。

此外,如前面所述,也可以基于前面所述的方法产生一种客户端装置,它可以被设计成用于执行参照图1所述的实施例的方案中的步骤。

本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由硬件来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。对于技术人员来说,软件实现方式和硬件实现方式是等同的。技术人员可以根据需要选择软件或硬件来实现上述方案。因此,这里不对具体的软件或硬件进行限制。

<电子设备>

可以在诸如手机、平板电脑、电脑等的电子设备中实现上述实施例中的任何一个。例如,所述电子设备可以包括上述实施例中的客户端装置。

此外,图4示出了根据本公开的实施例的电子设备的示意性框图。如图4所示,电子设备4000可以包括处理器4010、存储器4020、接口装置4030、通信装置4040、显示装置4050、输入装置4060、扬声器4070、麦克风4080,等等。

处理器4010例如可以是中央处理器(cpu)、微处理器(mcu)等。存储器4020例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置4030例如包括usb接口、耳机接口等。

通信装置4040例如能够进行有有线或无线通信。

显示装置4050例如是液晶显示屏、触摸显示屏等。输入装置4060例如可以包括触摸屏、键盘等。用户可以通过扬声器4070和麦克风4080输入/输出语音信息。

图4所示的电子设备仅是解释性的,并且决不是为了要限制本发明、其应用或用途。

在这个实施例中,所述存储器4020用于存储指令,所述指令在所述电子设备4000运行时控制所述处理器4010执行前面参照图1所述的音频播放的方法中的操作。本领域技术人员应当理解,尽管在图4中示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,处理器4010和存储器4020等。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。

本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由硬件来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。对于技术人员来说,软件实现方式和硬件实现方式是等同的。技术人员可以根据需要选择软件或硬件来实现上述方案。因此,这里不对具体的软件或硬件进行限制。

本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

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