CN110366118A - 一种电台、应用程序及实现电台功能的方法 - Google Patents

一种电台、应用程序及实现电台功能的方法 Download PDF

Info

Publication number
CN110366118A
CN110366118A CN201910604488.1A CN201910604488A CN110366118A CN 110366118 A CN110366118 A CN 110366118A CN 201910604488 A CN201910604488 A CN 201910604488A CN 110366118 A CN110366118 A CN 110366118A
Authority
CN
China
Prior art keywords
radio station
service
data
application program
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910604488.1A
Other languages
English (en)
Inventor
熊路
徐伟豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Baiguoyuan Information Technology Co Ltd
Original Assignee
Guangzhou Baiguoyuan Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Baiguoyuan Information Technology Co Ltd filed Critical Guangzhou Baiguoyuan Information Technology Co Ltd
Priority to CN201910604488.1A priority Critical patent/CN110366118A/zh
Publication of CN110366118A publication Critical patent/CN110366118A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/81Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself
    • H04H60/82Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet
    • H04H60/83Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet accessed over telephonic networks
    • H04H60/85Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet accessed over telephonic networks which are mobile communication networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4823End-user interface for program selection using a channel name
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种电台、应用程序及实现电台功能的方法,该电台包括:核心业务层,用于以子模块的方式接入应用程序,向应用程序的主工程的业务使用方提供服务,核心业务层包括数据服务模块和播放服务模块,数据服务模块用于根据用户输入的电台业务指令向服务器请求与目标文件相关的电台数据,电台数据用于在应用程序中展示;播放服务模块用于根据电台业务指令向服务器请求目标文件并播放目标文件。通过将电台核心业务层以子模块的方式接入任意应用程序,无需对工程内的其他代码进行更改即可实现与服务器通信并提供核心的数据服务和播放服务,使得电台功能可任意接入和独立调用,从而提高电台功能的可扩展性,并使电台功能易于维护。

Description

一种电台、应用程序及实现电台功能的方法
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种电台、应用程序及实现电台功能的方法。
背景技术
电台是一种基于调频(Frequency Modulation,FM)广播技术的多媒体应用,用户通过电台可以浏览不同的频道、歌单、播放列表等,并收听或播放不同频道的音频或视频文件。随着互联网技术的飞速发展,平板、手机等智能终端中的应用程序(Application,APP)各式各样,应用越来越广泛,成为用户播放多媒体文件的主要途径。在开发APP的过程中,使用APP工程内部的各类工具与代码,可将电台功能高度集成于APP中,以工程内源码的形式在APP内调用。
然而,在需要在不同APP中复用电台功能,或者需要对电台功能进行修改或维护的情况下,受到电台功能的源码对APP工程内部其他代码的强依赖关系的限制,需要将涉及电台功能的核心代码从APP工程中剥离出来,进行移植或修改后作为新的源码重新写入APP工程内,再次与其他代码耦合和兼容,开发过程较为复杂,成本高耗时长;即便将电台功能封装于不同的接口,使用过程中利用APP调用现成的接口获取电台功能的代码,也仍然需要针对不同的APP编写接口调用代码,仍面临代码迁移和接口重构复杂的问题。因此,电台功能的可扩展性差,不能独立灵活地应用于任意的应用程序,并且也不便于维护,造成电台功能的复用和维护困难。
发明内容
本发明提供了一种电台、应用程序及实现电台功能的方法,以提高电台功能的可扩展性。
第一方面,本发明实施例提供了一种电台,包括:
核心业务层,所述核心业务层用于以子模块的方式接入应用程序,向应用程序的主工程的业务使用方提供服务,所述核心业务层包括数据服务模块和播放服务模块,其中,
所述数据服务模块,用于根据用户输入的电台业务指令,向服务器请求与目标文件相关的电台数据,所述电台数据用于在所述应用程序中展示;
所述播放服务模块,用于根据所述电台业务指令向所述服务器请求目标文件,并播放所述目标文件。
第二方面,本发明实施例提供了一种应用程序,包括:
主工程和以子模块方式接入的如第一方面所述的电台,所述主工程调用所述电台实现电台数据展示和目标文件播放。
第三方面,本发明实施例提供了一种实现电台功能的方法,包括:
通过电台功能入口接收用户输入的电台业务指令;
根据所述电台业务指令调用电台的核心业务层向服务器请求与目标文件相关的电台数据,并展示所述电台数据;
根据所述电台业务指令调用电台的核心业务层向服务器请求目标文件,并播放所述目标文件。
本发明实施例提供了一种电台、应用程序及实现电台功能的方法,该电台包括:核心业务层,核心业务层用于以子模块的方式接入应用程序,向应用程序的主工程的业务使用方提供服务,核心业务层包括数据服务模块和播放服务模块,其中,数据服务模块用于根据用户输入的电台业务指令向服务器请求与目标文件相关的电台数据,电台数据用于在应用程序中展示;播放服务模块用于根据电台业务指令向服务器请求目标文件,并播放目标文件。上述技术方案通过将电台核心业务层以子模块的方式接入任意应用程序,无需对工程内的其他代码进行更改即可实现与服务器通信并提供核心的数据服务和播放服务,使得电台功能可任意接入和独立调用,从而提高电台功能的可扩展性,并使电台功能易于维护。
附图说明
图1为本发明实施例一提供的一种电台的结构示意图;
图2为本发明实施例一中的应用程序的电台功能入口的示意图;
图3为本发明实施例一中的核心业务层与服务器通信的示意图;
图4为本发明实施例二提供的一种电台的结构示意图;
图5为本发明实施例二中的接口代理与核心业务层交互的示意图;
图6为本发明实施例二中的播放界面的示意图;
图7为本发明实施例二中的播放器的状态的示意图;
图8为本发明实施例二中的播放列表状态的示意图;
图9为本发明实施例二提供的电台的实现示意图;
图10为本发明实施例三提供的应用程序的结构示意图;
图11为本发明实施例四提供的一种实现电台功能的方法的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种电台的结构示意图。本实施例可适用于在任意APP内接入电台功能的情况,以实现电台数据的浏览和目标文件的播放。如图1所示,电台包括:核心业务层100,核心业务层100用于以子模块的方式接入应用程序,向应用程序的主工程的业务使用方提供服务,核心业务层100包括数据服务模块101和播放服务模块102,其中,数据服务模块101用于根据用户输入的电台业务指令,向服务器请求与目标文件相关的电台数据,电台数据用于在应用程序中展示;播放服务模块102用于根据电台业务指令向服务器请求目标文件,并播放目标文件。
具体的,核心业务层100定义了电台所使用到的所有电台数据(如频道数据、播放列表数据、目标文件内容等),用于实现电台的核心功能,核心功能包括电台数据的浏览和目标文件的播放。基于核心业务层100可根据用户的业务要求输出电台数据和目标文件,并实现对底层功能的链接,底层功能主要包括目标文件的边下边播,其中,目标文件可以为音频文件或视频文件。
核心业务层100以子模块的方式接入APP中,子模块可以是分布式版本控制***(Git)中的子工程嵌入工具(Submodule)。利用Git可有效、高速地对各种项目工程的版本进行管理,通过Git Submodule将封装好的核心业务层100接入APP的主工程内,可以保持核心业务层100和APP中原有项目或工程的相互独立,向应用程序的主工程的业务使用方提供服务。APP在根据原有工程执行自身功能时,不会影响核心业务层100,核心业务层100在提供电台的核心功能的过程中,也不会调用原有工程的代码。核心业务层100作为嵌入APP中的一个独立的子工程,其形式可以为规范文件(Podfile,用于描述一个或多个项目目标依赖项)、软件开发框架(framework)和源代码等。利用这种方式,可使核心业务层100轻松接入到任何APP中。
进一步的,将封装好的核心业务层100以子模块的方式接入APP的同时,APP界面中可设置一个对应的电台功能入口,用于接收用户输入的电台业务指令,电台业务指令可用于开启电台功能。
图2为本发明实施例一中的应用程序的电台功能入口的示意图。如图2所示为一个智能手机的学习APP,可用于搜索知识点、学习推荐知识点等,界面底部包括四种标签:首页、消息、练习和账号,本实施例示例性地将电台的核心业务层100接入该学习APP中,可以在该APP的界面中增设一个对应的图标,作为电台功能入口。用户可以通过点击该图标输入电台业务指令,启动电台功能。电台功能入口还可以包括多个子图标或子按钮,用于指示不同目标文件的名称、链接、类型或频道等,用户可通过点击子图标或子按钮,在启动电台功能的同时选择具体的目标文件,从而使得核心业务层100获取目标文件相关的电台数据以及播放目标文件。可选的,通过电台功能入口接收用户输入的电台业务指令,还可以为当识别到用户发出的包含预设关键词的语音信号,或者当检测到用户按下预设的快捷键等,视为用户点击了电台功能入口。在接收到电台业务指令的情况下,核心业务层100可与服务器通信并实现电台数据的浏览和目标文件的播放。需要说明的是,该APP的主工程可以调用原有的与学习知识点相关的功能,也可以独立调用接入的核心业务层100所提供的电台的数据服务和播放服务。
进一步的,如果电台业务指令中包括用户对目标文件的选择信息,则核心业务层100与服务器通信获取对应的目标文件及相关的电台数据;如果电台业务指令中不包括用户对目标文件的选择信息,核心业务层100可自动获取预设的默认目标文件并进行播放,或者根据历史使用记录,获取用户上一次使用电台功能时所选择的或者最后播放的目标文件,在获取目标文件的同时,获取相关的电台数据。
进一步的,电台业务指令还可用于激活或跳转至目标文件的播放界面。
具体的,通过电台功能入口接收到用户输入的电台业务指令后,APP可由原有的界面跳转至目标文件的播放界面。目标文件的播放界面可以为预先设置的默认界面,也可以为基于核心业务层100通过接口代理调用的业务组件生成的界面,例如,核心业务层100通过接口代理调用了播放历史组件、频道组件、列表播放状态组件,则生成的播放界面中具有这些业务组件相应的图标或按钮,例如,播放界面中会显示历史播放记录、当前正在播放的目标文件的频道信息,以及列表播放状态(播放中、切歌中还是播放结束)和列表的播放模式(顺序播放、列表循环、随机等)。
进一步的,播放服务模块102内封装了文件下载器和底层播放器,其中,文件下载器用于根据电台业务指令向服务器请求目标文件;底层播放器用于播放目标文件。
具体的,播放服务模块102内封装了播放功能的底层实现代码,包括文件下载器和底层播放器,可以在APP中实现目标文件的边下边播。底层播放器用于对目标文件进行解码和播放。例如,底层播放器可以为Media SDK,Media SDK是一个软件开发库,包含解码、视频处理和编码三大模块,能够实现索引、切片、组合、断点、缓冲等,提供了高清视频质量,降低了播放高清视频的硬件门槛。此外,播放服务模块102内还封装了文件下载器,从而在APP中实现目标文件的边下边播功能。
进一步的,数据服务模块101内封装网络组件。通过网络组件可向服务器请求与目标文件相关的电台数据。
图3为本发明实施例一中的核心业务层与服务器通信的示意图。如图3所示,核心业务层100包括数据服务模块101和播放服务模块102,数据服务模块101中封装了网络组件(Web Component),用于从服务器获取关键的与目标文件相关的电台数据;播放服务模块102中封装了文件下载器(File Downloader)和底层播放器(Audio Player),用于从服务器下载目标文件并提供基础的播放功能。
进一步的,电台数据包括以下至少一种:频道数据、播放列表数据、播放状态数据、播放历史数据、目标文件链接、目标文件内容、社交相关信息以及目标文件上传者信息。
具体的,频道数据为当前播放的目标文件所属的调频频道;播放列表数据中包括待播放的文件列表;播放状态数据包括单个文件的播放状态(如播放、暂停、停止等)与列表的播放状态(如播放、暂停、切换下一个等);播放历史数据包括已经播放或浏览过的文件;目标文件链接包括目标文件的下载地址;目标文件内容包括歌词、字幕、缓存图片等;社交相关信息包括收听次数、点赞数量、分享或转发次数等;目标文件上传者信息包括将目标文件上传至服务器的作者身份标识、上传时间等。电台数据还可以包括目标文件的格式、类型、传输协议、视频流类型、音频品质和视频清晰度等。在APP中接入电台功能后,用户可以在APP中浏览电台数据。
本发明实施例一提供的一种电台,包括:核心业务层,核心业务层用于以子模块的方式接入应用程序,向应用程序的主工程的业务使用方提供服务,核心业务层包括数据服务模块和播放服务模块,其中,数据服务模块用于根据用户输入的电台业务指令向服务器请求与目标文件相关的电台数据,电台数据用于在应用程序中展示;播放服务模块用于根据电台业务指令向服务器请求目标文件,并播放目标文件。上述技术方案通过将电台的核心业务层以子模块的方式接入任意应用程序内,无需对应用程序工程内的其他代码进行更改,核心业务层可与服务器通信获取电台数据并播放目标文件,实现电台的核心功能,使得电台功能可任意接入和独立调用,从而提高电台功能的可扩展性,并使电台功能易于维护。
实施例二
图4为本发明实施例二提供的一种电台的结构示意图。本实施例是在上述实施例的基础上进行优化,在APP内嵌入了电台的会话模块与视觉交互层,分别用于通过接口代理调用业务组件以及提供用于形成个性化播放界面的预设视觉元素。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
如图4所示,电台还包括会话模块200,会话模块200用于嵌入应用程序的主工程内部,会话模块200包括接口代理201和业务组件202,其中,接口代理201用于根据核心业务层100发送的业务组件202的调用请求,调用对应的业务组件202。
具体的,接口代理201可以为模型代理(Model Proxy),一种轻量级的接口配置建模框架,该框架提供的机制可用于描述核心业务层100所依赖的所有外部接口,对这些外部接口进行统一管理,提供灵活的接口建模及调用方式,也可以理解为服务总线代理。例如,核心业务层100需要调用三种业务组件A、B、C,这些业务组件202封装在不同的接口协议中,各接口之间不知道对方实例与类的存在,功能互不影响,都通过一个Model Proxy即可实现各自独立的调用。
图5为本发明实施例二中的接口代理与核心业务层交互的示意图,如图5所示,接口代理201与核心业务层100进行通信,按照核心业务层100的调用请求统一调用相应的业务组件202,然后通过接口代理201转发给核心业务层100,由核心业务层100内封装的对应的服务模块(Service)或管理模块(Manager)进行处理,向用户提供业务组件202对应的业务服务。需要说明的是,随着电台功能越来越丰富,代码量不断增多,组件化的开发方式,将不同功能的业务组件202封装在不同的接口中,可以对业务模块间的关系进行解耦,解除依赖关系,实现松耦合架构。
进一步的,接口代理201还用于根据核心业务层100发送的业务组件202的初始化请求,获取业务组件202的接口调用方法。
具体的,核心业务层100与接口代理201通信,使接口代理201初始化业务组件202。核心业务层100所依赖的业务组件202已经接口化,初始化的过程可以为这些后端接口向接口代理201注册,按照指定的格式写入接口代理201的接口配置文件,使接口代理201获取到各业务组件的接口调用方法。例如,后台播放的业务组件在接口代理201中注册时,向接口代理201注入接口调用方法,形成一定的接口规范,则当核心业务层100向接口代理201请求获取后台播放的业务组件时,接口代理201采用对应的接口调用方法调用该业务组件,核心业务层100基于该业务组件在APP中向用户提供后台播放的功能。
进一步的,业务组件包括以下至少一种:播放协调器组件、播放历史组件、单个文件播放状态组件、列表播放状态组件、播放器状态组件、后台播放组件以及频道组件。
具体的,对于电台功能而言,业务组件202可以包括上述的一种或多种,其中,播放协调器(Player Coordinator)组件可用于协调接入的目标文件播放功能与APP原有的多媒体文件的播放,例如,当APP原有的通话、录音、直播等功能进行时,通过播放协调器组件可以中断或暂停电台中的目标文件播放功能,以保证目标文件播放功能不与其他功能冲突;播放历史组件(Audio History Action)可用于记录或显示目标文件的历史播放记录,如向用户提供播放历史列表、最近一段预设时间内播放过的目标文件名称及播放次数、最近最少播放(Least Recently Used,LRU)的目标文件名称、高速缓冲存储(Cache)数据等;三个播放状态相关的组件可以聚合在同一接口调用方法中,其中,单个文件播放状态组件(Audio Item Action)可以提供单个文件的播放状态控制,例如播放、暂停、停止等,列表播放状态组件(Audio Play List Action)可以提供播放列表的状态控制,例如按照列表顺序播放、自动播放上一首、下一首、指定首、上一页、下一页、列表编辑完成等,播放器状态组件(Audio Player Status Action)可用于提供播放器播放功能的状态控制,例如正在播放中、播放结束、正在切下一首等;后台播放组件用于提供后台播放功能,例如某些手机操作***中,应用程序退到后台运行时会呈现后台的操作界面,可以实现监听播放功能,或者通过远程指令实现播放控制;频道组件可用于提供正在播放的目标文件的频道信息。核心业务层100与接口代理201通信,利用接口代理201调用相应的业务组件202,核心业务层100中封装了与业务组件202一一对应的服务或管理者,从而在APP中实现各类业务组件202的功能。
进一步的,电台还包括视觉交互层300,视觉交互层300嵌入应用程序内部,视觉交互层300中封装预设视觉元素301。
具体的,利用预设视觉元素301生成播放界面可以融合APP的个性化界面风格,为用户提供直观的视觉交互。基于视觉交互层300封装的预设视觉元素301和接口代理201调用的业务组件202可生成电台功能界面。
进一步的,预设视觉元素301包括以下至少一种:播放悬浮球、播放器、主页列表、播放列表以及播放历史列表。
具体的,播放悬浮球显示在界面的顶层,可用于快速开启或关闭目标文件的播放功能、并提供一些常用的播放功能(切换上一个下一个、暂停、退出电台、更换目标文件和频道等),聚合了一些物理按键的功能;播放器、主业列表、播放列表以及播放历史列表的颜色、线条、风格可以在子模块中设定为默认,也可在APP的原有工程内设计代码,针对不同APP有个性化的设计。
进一步的,核心业务层100还用于:基于视觉交互层300封装的预设视觉元素301和接口代理201调用的业务组件202生成电台功能界面。
具体的,接口代理201调用的业务组件202对应于一定的图标或按钮等,据此可生成播放界面,APP可由原来的视图跳转至生成的播放界面。接口代理201与核心业务层100通信,对业务组件202进行数据加工处理,可结合视觉交互层生成需要的界面。按照预设视觉元素301生成播放界面可以融合APP的个性化界面风格,为用户提供直观的视觉交互。
图6为本发明实施例二中的播放界面的示意图。如图6所示,示例性的,调用的业务组件202包括播放历史组件、单个文件播放状态组件、列表播放状态组件、频道组件,则生成对应的播放界面中提供了查看播放历史、查到频道信息的业务功能,同时可以控制单个文件播放状态(播放/暂停、停止)和列表播放状态(上一首/下一首、停止),采用的预设视觉元素301包括播放悬浮球和播放列表等。
需要说明的是,核心业务层中封装的播放服务模块102已经可以提供目标文件边下边播的功能,而与接口代理201通信调用业务组件202、基于预设视觉元素301生成播放界面为可选的操作,核心业务层100、会话模块200与视觉交互层300可同时运行,本实施例对其顺序不做限定。
进一步的,核心业务层100还用于监听播放器的当前状态和播放列表的当前状态。
具体的,播放器的当前状态可以指底层播放器对当前的单个目标文件的播放状态,播放列表的当前状态可以指底层播放器对播放列表中各目标文件的播放状态。
图7为本发明实施例二中的单个文件播放状态的示意图。如图7所示,各状态之间可以根据接收到的相关指令进行转换。示例性的,播放器的当前状态起始于停止状态,接收到播放指令后进入循环(方框所示)中,直到接收到停止指令或事件后可恢复为初始的停止状态;所述循环的内部状态可以包括:加载中状态,单个文件的数据加载完成后可转换为播放中状态;当接收到暂停或出错指令时,可转换为暂停状态;当接收到查找指令或网络不稳定指令时,可转换为加载中状态;当收到播放完成指令时,可转换为播放完成状态;在接收到恢复或重新播放指令后可转换至加载中状态。
图8为本发明实施例二中的列表播放状态的示意图。如图8所示,播放列表的当前状态可起始于初始状态,数据装载和准备完毕后可进入已准备状态,接收到播放器加载指令后可进入加载状态,接收到播放器播放指令后可转换为播放中状态,接收到播放器暂停指令后可转换为暂停状态,直到接收到播放器播放完成指令以及列表完成指令后可进入播放完成状态,不再播放文件,等待进一步指令。
进一步的,核心业务层100还用于根据播放器的当前状态和播放列表的当前状态确定播放的业务状态。
具体的,播放状态的转化可以为基于播放状态相关业务组件的核心功能,可用于将复杂的播放器的当前状态和播放列表的当前状态,根据业务需求转化为自定义的目标播放状态,例如,用户使用时,只需知道播放器本身的业务状态为正在播放中还是播放结束,而无需知道播放器对单个文件或者列表播放的具体状态。可以通过两个不同的状态机分别监听播放器的当前状态和播放列表的当前状态,然后通过适配层将不同的状态转化为简洁的业务状态。例如,自定义的业务状态包括播放中和播放结束,如果播放器的当前状态为播放完成状态,播放列表的当前状态为加载状态(正在加载下一首),则可通过转换函数转换为“播放中”的业务状态;如果播放器的当前装填及播放列表的当前状态都为播放完成状态,则可通过转换函数转换为“播放结束”的目标播放状态。据此,在开发核心业务层和封装业务组件代码的过程中,无需得知单个文件和播放列表的实际内部状态,而是根据需求转换为简洁的业务状态,便于用户查看业务状态,通过转换函数把这些业务状态映射到外部业务,无需对每种组合情况都进行代码的修改,降低开发和维护困难,通过开放了映射到外部状态的编程接口,具备更强的扩展性。
示例性的,转换为播放的业务状态的过程可以如下:
1)通过电台功能入口接收用户的电台业务指令,例如用户通过点击APP界面中提供的电台功能入口,可自定义需要的业务状态,例如业务状态包括播放中和播放结束,为各业务状态生成一个状态类型标识,例如播放中状态对应于Type1,播放结束状态对应于Type2。
2)通过电台功能入口定义从播放器的当前状态和播放列表的当前状态到自定义的业务状态之间的转换函数,也可以使用核心业务层封装好的默认的转换函数。
3)监听播放器的当前状态和播放列表的当前状态的变更。
4)当监听到状态发生变更时调用转换函数转化为该变更对应的状态类型标识,并在状态类型标识发生变化时传递给入口,以显示给业务使用方,以此完成了一次映射状态的迁移。
进一步的,本实施例提供的电台功能可定义为三个部分:视觉交互层300、会话模块200及核心业务层100。其中,视觉交互层300、会话模块200可嵌入App的主工程内部,可针对不同的App形成个性化的视觉界面和业务功能。而核心业务层100以Submodule的方式接入任意App,可用于获取核心的电台数据并提供边下边播的功能。
图9为本发明实施例二提供的电台的实现示意图。如图9所示,最上方为视觉交互层300,存在于App主工程内部,预设视觉元素301可以包含播放悬浮球、播放器、主页列表、播放列表以及播放历史列表,结合核心业务100层获得的业务组件202,可用于在APP中生成播放界面,为用户提供直观的视觉交互。
第二层为会话模块200,可存在于App主工程内部。本实施例将整个目标文件播放过程抽象成一次用户会话(Session),用于管理电台播放的生命周期、集成各个业务组件202,并且与核心业务层100进行通信。Session内部的各个模块可通过接口代理201通信,各个功能模块的实例在初始化的过程中向Model Proxy注入接口调用方法列表,并通过ModelProxy对调用方法进行分发,根据核心业务层100的请求可以调用需要的业务组件202。
第三层为核心业务层100,用于向APP提供电台数据的浏览服务和目标文件的播放服务,可以子模块的方式嵌入任意APP,使各APP可通过核心业务层100以相同的方式获取电台数据和使用边下边播的服务。核心业务层100定义了电台功能所需要的所有数据以及核心功能,实现了对电台业务要求的输出和对底层功能的链接。核心业务层100主要包括两部分,一是通过对文件下载器和底层播放器的封装实现了边下边播的功能;二是通过封装网络组件获取关键的电台数据,例如播放列表信息、频道信息、播放器信息等。核心业务层100获取到电台后,利用内部实现者,如各种服务模块(Service)或管理模块(Manager)可向用户提供对应的业务功能,以及与接口代理201通信调用业务组件202,获取回调数据,完成功能闭环。
需要说明的是,本实施例基于上述三个部分实现电台功能的方式有两种,一种为浅使用,即在APP中接入核心业务层100,上层代码直接迁移(这种方式无法实现针对不同的APP自定义个性化的业务组件202和界面风格),通过一个电台功能入口就可以在任意APP内启动电台功能;一种为深使用,即在APP中接入核心业务层100,用于获取电台数据并提供边下边播的功能,而会话模块200及视觉交互层300的代码部分嵌入APP的主工程内,或者在APP内参考会话模块200部分的代码完全重写,从而实现自定义个性化的业务组件202和界面风格。通过上述方式可以将核心业务层100接入任意APP,实现电台功能业务组件202与APP原有工程的松耦合。
本发明实施例二提供的一种电台,在上述实施例的基础上进行优化,接口代理与核心业务层进行通信,按照核心业务层的调用请求统一调用相应的业务组件功能,可以避免各业务功能模块间耦合严重的现象,实现松耦合架构;通过基于接口代理调用的业务组件,按照预设视觉元素在应用程序中生成播放界面,可以融合APP的个性化界面风格,为用户提供直观的视觉交互;通过转换函数将播放器的当前状态和播放列表的当前状态转换为自定义的业务状态,无需得知播放器与播放流程的实际内部状态,而是根据需求转换为简洁的业务状态,实现了播放器类应用业务播放流程中繁复的状态对外的简化解耦,具备更强的扩展性。
实施例三
图10为本发明实施例三提供的应用程序的结构示意图。需要说明的是,未在本实施例中详尽说明的技术细节可参见上述任意实施例。
如图10所示,应用程序包括:主工程310和以子模块方式接入的如上述任意实施例所述的电台320,主工程310调用电台320实现电台数据展示和目标文件播放。
具体的,电台320包括核心业务层,用于以子模块的方式接入APP的主工程310内,向应用程序的主工程的业务使用方提供服务。核心业务层与APP中主工程内的其他代码和功能保持独立。核心业务层包括数据服务模块和播放服务模块,数据服务模块中封装了网络组件,用于从服务器获取关键的与目标文件相关的电台数据,电台数据可展示在APP中;播放服务模块中封装了文件下载器和底层播放器,用于从服务器下载目标文件并提供基础的播放功能,实现目标文件的边下边播。
进一步的,应用程序的界面中设置电台功能入口,电台功能入口用于接收用户输入的电台业务指令。
具体的,电台功能入口可以为APP界面中的一个图标,用户可通过点击该图标输入电台业务指令,启动电台功能。电台功能入口还可以包括多个子图标或子按钮,用于指示不同目标文件的名称、链接、类型或频道等,用户可通过点击子图标或自按钮,在启动电台功能的同时选择具体的目标文件,从而使得核心业务层100获取目标文件相关的电台数据以及播放目标文件。在将核心业务层接入APP的过程中,APP的界面中设置了对应的图标作为电台功能入口。
进一步的,接收到用户输入的电台业务指令后,应用程序跳转至电台功能界面。
具体的,电台功能界面可用于展示电台320获取到的电台数据,还可用于播放电台320下载的目标文件。
进一步的,电台功能界面可基于接口代理调用的业务组件和视觉交互层中封装的预设视觉元素生成。
本发明实施例三提供的应用程序可用于接入上述任意实施例提供的电台,实现电台的核心功能,具备相应的功能和有益效果。
实施例四
图11为本发明实施例四提供的一种实现电台功能的方法的流程图。本实施例可适用于在任意APP内嵌入电台功能的情况,以实现电台数据的浏览与目标文件的播放。具体的,该实现电台功能的方法可以通过软件和/或硬件的方式实现,并集成在设备中。进一步的,设备包括但不限定于:台式计算机、笔记本电脑、智能手机以及平板电脑等智能终端。需要说明的是,未在本实施例中详尽说明的技术细节可参见上述任意实施例。
如图11所示,该方法具体包括如下步骤:
S110、通过电台功能入口接收用户输入的电台业务指令。
具体的,电台功能入口可以为APP界面中的一个图标,用户可通过点击该图标输入电台业务指令,启动电台功能。电台功能入口还可以包括多个子图标或子按钮,用于指示不同目标文件的名称、链接、类型或频道等,用户可通过点击子图标或自按钮,在启动电台功能的同时选择具体的目标文件,从而使得核心业务层获取目标文件相关的电台数据以及播放目标文件。电台业务指令中可以包括用户对目标文件的选择信息。电台业务指令还可用于激活或跳转至目标文件的播放界面。
S120、根据电台业务指令调用电台的核心业务层向服务器请求与目标文件相关的电台数据,并展示电台数据。
S130、根据电台业务指令调用电台的核心业务层向服务器请求目标文件,并播放目标文件。
具体的,电台的核心业务层以子模块的方式接入应用程序,向应用程序的主工程的业务使用方提供服务,核心业务层包括两部分:数据服务模块和播放服务模块。数据服务模块中封装了网络组件,用于从服务器获取目标文件相关的电台数据,用户可以在APP中浏览电台数据;播放服务模块中封装了文件下载器和底层播放器,用于从服务器下载目标文件并提供基础的播放功能。在接收到电台业务指令的情况下,通过接入APP的核心业务层可与服务器通信,请求电台数据和目标文件,并提供边下边播的功能。
本发明实施例四提供的实现电台功能的方法可以基于上述任意实施例提供的电台或应用程序实现电台功能,属于同一发明构思,具备相应的功能和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (16)

1.一种电台,其特征在于,包括:核心业务层,所述核心业务层用于以子模块的方式接入应用程序,向应用程序的主工程的业务使用方提供服务,所述核心业务层包括数据服务模块和播放服务模块,其中,
所述数据服务模块,用于根据用户输入的电台业务指令,向服务器请求与目标文件相关的电台数据,所述电台数据用于在所述应用程序中展示;
所述播放服务模块,用于根据所述电台业务指令向所述服务器请求目标文件,并播放所述目标文件。
2.根据权利要求1所述的电台,其特征在于,所述播放服务模块内封装文件下载器和底层播放器,其中,
所述文件下载器,用于根据所述电台业务指令向服务器请求目标文件;
所述底层播放器,用于播放所述目标文件。
3.根据权利要求1所述的电台,其特征在于,所述数据服务模块内封装网络组件。
4.根据权利要求1所述的电台,其特征在于,所述电台数据包括以下至少一种:频道数据、播放列表数据、播放状态数据、播放历史数据、目标文件链接、目标文件内容、社交相关信息以及目标文件上传者信息。
5.根据权利要求1所述的电台,其特征在于,还包括会话模块,所述会话模块用于嵌入所述应用程序的主工程内部,所述会话模块包括接口代理和业务组件,其中,
所述接口代理用于根据所述核心业务层发送的业务组件的调用请求,调用对应的业务组件。
6.根据权利要求5所述的电台,其特征在于,所述接口代理还用于根据所述核心业务层发送的业务组件的初始化请求,获取业务组件的接口调用方法。
7.根据权利要求5所述的电台,其特征在于,所述业务组件包括以下至少一种:播放协调器组件、播放历史组件、单个文件播放状态组件、列表播放状态组件、播放器状态组件、后台播放组件以及频道组件。
8.根据权利要求1所述的电台,其特征在于,还包括视觉交互层,所述视觉交互层嵌入所述应用程序内部,所述视觉交互层中封装预设视觉元素。
9.根据权利要求8所述的电台,其特征在于,所述预设视觉元素包括以下至少一种:播放悬浮球、播放器、主页列表、播放列表以及播放历史列表。
10.根据权利要求1至9任一项所述的电台,其特征在于,所述核心业务层还用于:基于视觉交互层封装的预设视觉元素和接口代理调用的业务组件生成电台功能界面。
11.根据权利要求1至9任一项所述的电台,其特征在于,所述核心业务层还用于监听播放器的当前状态和播放列表的当前状态。
12.根据权利要求1至9任一项所述的电台,其特征在于,所述核心业务层还用于根据播放器的当前状态和播放列表的当前状态确定播放的业务状态。
13.一种应用程序,其特征在于,包括:主工程和以子模块方式接入的如权利要求1至12任一项所述的电台,所述主工程调用所述电台实现电台数据展示和目标文件播放。
14.根据权利要求13所述的应用程序,其特征在于,所述应用程序的界面中设置电台功能入口,所述电台功能入口用于接收用户输入的电台业务指令。
15.根据权利要求13或14所述的应用程序,其特征在于,接收到用户输入的电台业务指令后,所述应用程序跳转至电台功能界面。
16.一种实现电台功能的方法,其特征在于,应用于如权利要求13至15任一项所述的应用程序中,包括:
通过电台功能入口接收用户输入的电台业务指令;
根据所述电台业务指令调用电台的核心业务层向服务器请求与目标文件相关的电台数据,并展示所述电台数据;
根据所述电台业务指令调用电台的核心业务层向服务器请求目标文件,并播放所述目标文件。
CN201910604488.1A 2019-07-05 2019-07-05 一种电台、应用程序及实现电台功能的方法 Pending CN110366118A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910604488.1A CN110366118A (zh) 2019-07-05 2019-07-05 一种电台、应用程序及实现电台功能的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910604488.1A CN110366118A (zh) 2019-07-05 2019-07-05 一种电台、应用程序及实现电台功能的方法

Publications (1)

Publication Number Publication Date
CN110366118A true CN110366118A (zh) 2019-10-22

Family

ID=68218114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910604488.1A Pending CN110366118A (zh) 2019-07-05 2019-07-05 一种电台、应用程序及实现电台功能的方法

Country Status (1)

Country Link
CN (1) CN110366118A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113067858A (zh) * 2021-03-15 2021-07-02 大众问问(北京)信息科技有限公司 一种车机中通用媒体服务的提供方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908403A (zh) * 2017-11-10 2018-04-13 北京搜狐新动力信息技术有限公司 一种移动端业务模块组件化的配置方法及***
CN109062578A (zh) * 2018-07-31 2018-12-21 成都华栖云科技有限公司 一种基于app组件化的开发平台
CN109145183A (zh) * 2017-06-19 2019-01-04 腾讯科技(深圳)有限公司 推送待展示信息的方法及装置
CN109240697A (zh) * 2017-05-22 2019-01-18 腾讯科技(深圳)有限公司 调用处理方法及装置、存储介质
CN109324741A (zh) * 2018-09-30 2019-02-12 广州云测信息技术有限公司 一种操作控制方法、装置和***
CN109669786A (zh) * 2018-09-26 2019-04-23 深圳壹账通智能科技有限公司 接口调用方法、设备、装置及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109240697A (zh) * 2017-05-22 2019-01-18 腾讯科技(深圳)有限公司 调用处理方法及装置、存储介质
CN109145183A (zh) * 2017-06-19 2019-01-04 腾讯科技(深圳)有限公司 推送待展示信息的方法及装置
CN107908403A (zh) * 2017-11-10 2018-04-13 北京搜狐新动力信息技术有限公司 一种移动端业务模块组件化的配置方法及***
CN109062578A (zh) * 2018-07-31 2018-12-21 成都华栖云科技有限公司 一种基于app组件化的开发平台
CN109669786A (zh) * 2018-09-26 2019-04-23 深圳壹账通智能科技有限公司 接口调用方法、设备、装置及计算机可读存储介质
CN109324741A (zh) * 2018-09-30 2019-02-12 广州云测信息技术有限公司 一种操作控制方法、装置和***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113067858A (zh) * 2021-03-15 2021-07-02 大众问问(北京)信息科技有限公司 一种车机中通用媒体服务的提供方法、装置及设备

Similar Documents

Publication Publication Date Title
CN100370450C (zh) 网络***、分布式处理方法和信息处理装置
US20220174346A1 (en) Video playing method and apparatus
CN108932948A (zh) 音频数据处理方法、装置、计算机设备和计算机可读存储介质
CN110324671A (zh) 网页视频播放方法及装置、电子设备及存储介质
US11303526B2 (en) Network slice deployment method and apparatus
US20090157753A1 (en) System for realistically reproducing multimedia content and method thereof
US11540008B2 (en) Systems and methods for audio adaptation of content items to endpoint media devices
CN108566561A (zh) 视频播放方法、装置及存储介质
WO2007141498A1 (en) User interfaces for electronic devices
CN109391843A (zh) 在线视频倍速播放方法、装置、介质及智能终端
US11128739B2 (en) Network-edge-deployed transcoding methods and systems for just-in-time transcoding of media data
CN107071541A (zh) 用于***上下文管理的方法和设备
CN106792044A (zh) 一种智能电视的语音控制方法和装置
CN104244076A (zh) 一种通过dlna实现分组同时操控多台媒体设备的方法及***
CN110366118A (zh) 一种电台、应用程序及实现电台功能的方法
TW200530939A (en) Content reproduction apparatus, content recording apparatus, network system, and content recording/reproduction method
CN101884197A (zh) 在通用即插即用网络中控制服务质量的方法和装置
US8370880B2 (en) Telephone control service
CN105594220A (zh) 接收装置、接收方法、传输装置以及传输方法
CN109121001B (zh) 一种多内容商的轮播***、轮播方法及智能电视
RU2316907C2 (ru) Система воспроизведения мультимедиа в портативном устройстве
CN112714341A (zh) 信息获取方法、云化机顶盒***、实体机顶盒及存储介质
CN110430383A (zh) 终端、信令服务器、音视频通信方法及计算机存储介质
CN106790205B (zh) 流媒体服务***
CN104427396B (zh) 信息处理装置、信息处理方法和程序

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20191022

RJ01 Rejection of invention patent application after publication