本申请涉及媒资播放技术领域,尤其涉及一种媒资播放方法及显示设备。
背景技术:
随着显示设备的快速发展,显示设备的功能将越来越丰富,性能也越来越强大,目前,显示设备包括智能电视、手机、冰箱,以及其他带有智能显示屏幕的产品等。显示设备内配置有实现不同功能的应用,以提高显示设备的用户体验。
在显示设备内配置媒资应用时,用户可通过手动方式或语音方式(需显示设备配置语音交互功能)搜索媒资,再调用音频输出接口播放该媒资。
由于不同的媒资可能来自不同的媒资服务器,使得媒资的来源类型不同,不同媒资服务器提供的媒资需执行不同的媒资播放策略。而现有的显示设备中的音频输出接口通常仅支持一种默认播放策略,该默认播放策略与各个媒资服务器所需的媒资播放策略可能不同,那么在显示设备获取到媒资后,可能会存在无法播放的情况。
技术实现要素:
本申请提供了一种媒资播放方法及显示设备,以解决现有的显示设备无法播放不同来源类型的媒资的问题。
第一方面,本申请提供了一种显示设备,包括:
显示器,被配置为呈现用户界面;
与所述显示器连接的控制器,所述控制器被配置为:
获取用户搜索媒资对应的媒资数据,所述媒资数据的来源类型为第一来源类型或者第二来源类型,所述第一来源类型和第二来源类型用于表征不同的媒资服务器;
如果所述来源类型为第一来源类型,则解析所述第一来源类型的媒资数据,得到播控url,以及,调用音频输出接口基于所述播控url播放所述媒资;
如果所述来源类型为第二来源类型,则解析所述第二来源类型的媒资数据,得到媒资id,获取与所述媒资id对应的播控url,以及,调用音频输出接口基于所述播控url播放所述媒资。
本申请一些实施例中,所述控制器在执行所述如果所述来源类型为第二来源类型,则解析所述第二来源类型的媒资数据,得到媒资id,被进一步配置为:
在所述来源类型为第二来源类型时,获取所述第二来源类型的媒资数据中的内容类型信息;
如果所述内容类型信息为空,则解析所述媒资数据,得到媒资id;
如果所述内容类型信息不为空,则解析所述媒资数据,得到壳id或子id,所述壳id是指媒资集合的id,所述子id是指媒资集合中的子媒资的id。
本申请一些实施例中,所述控制器在执行所述获取与所述媒资id对应的播控url,被进一步配置为:
如果所述媒资id为壳id,则调用壳换子接口将所述壳id转换为子id,获取与所述子id对应的播控url;
如果所述媒资id为子id,则获取与所述子id对应的播控url。
本申请一些实施例中,所述控制器在执行所述获取与所述子id对应的播控url,被进一步配置为:
获取所述第二来源类型的媒资数据中的媒资类别信息;
如果所述媒资类别信息表征所述媒资为特定媒资,则调用所述特定媒资的sdk包,基于所述sdk包获取与所述子id对应的播控url;
如果所述媒资类别信息表征所述媒资不为特定媒资,则调用媒资服务器的数据接口,获取与所述子id对应的播控url。
本申请一些实施例中,所述控制器在执行所述调用所述特定媒资的sdk包,基于所述sdk包获取与所述子id对应的播控url,被进一步配置为:
在所述媒资为特定媒资时,获取设备账号id,以及,所述显示设备与所述特定媒资的媒资服务器进行数据传输的令牌;
调用所述特定媒资的sdk包,将所述设备账号id和令牌传入所述sdk包,以建立显示设备与所述特定媒资的媒资服务器的数据连接;
对所述sdk包进行初始化,如果所述sdk包初始化成功,则调用所述特定媒资的sdk接口获取与所述子id对应的播控url。
本申请一些实施例中,所述控制器在执行所述如果所述来源类型为第一来源类型,则解析所述第一来源类型的媒资数据,得到播控url,被进一步配置为:
在所述来源类型为第一来源类型时,解析所述第一来源类型的媒资数据,得到用于播放所述媒资的url和媒资信息;
基于所述url和媒资信息,生成音频输出接口执行播放动作时所需的播控url。
本申请一些实施例中,所述控制器在执行所述调用音频输出接口基于所述播控url播放所述媒资,被进一步配置为:
获取所述媒资数据中的媒资类型信息;
如果所述媒资类型信息表征所述媒资为第一媒资类型,则获取所述播控url所对应的至少一个媒资,以及,调用音频输出接口播放至少一个媒资;
如果所述媒资类型信息表征所述媒资为第二媒资类型,则调用音频输出接口在播放所述播控url对应的媒资后,基于下一个播控url播放对应的媒资。
本申请一些实施例中,所述控制器在执行所述获取用户搜索媒资对应的媒资数据,被进一步配置为:
响应于用户通过语音方式搜索媒资时产生的语音搜索指令,将所述语音搜索指令发送至语义引擎,所述语音搜索指令用于指示所述语义引擎向媒资服务器获取媒资数据;
接收所述语义引擎响应语音搜索指令后返回的媒资数据。
本申请一些实施例中,所述控制器被进一步配置为:
在所述音频输出接口基于子id播放媒资时,响应于用户基于语音方式产生的语音控制指令,调用语义引擎将所述语音控制指令转换成语音控制文本;
如果所述语音控制文本与子id切换控制文本一致,则获取下一个子id,以及,调用音频输出接口基于所述下一个子id对应的播控url播放对应的媒资;
如果所述语音控制文本与壳id切换控制文本一致,则获取下一个壳id,以及,基于所述下一个壳id获取对应的子id,调用音频输出接口基于所述子id对应的播控url播放对应的媒资。
第二方面,本申请还提供了一种媒资播放方法,所述方法包括:
获取用户搜索媒资对应的媒资数据,所述媒资数据的来源类型为第一来源类型或者第二来源类型,所述第一来源类型和第二来源类型用于表征不同的媒资服务器;
如果所述来源类型为第一来源类型,则解析所述第一来源类型的媒资数据,得到播控url,以及,调用音频输出接口基于所述播控url播放所述媒资;
如果所述来源类型为第二来源类型,则解析所述第二来源类型的媒资数据,得到媒资id,获取与所述媒资id对应的播控url,以及,调用音频输出接口基于所述播控url播放所述媒资。
第三方面,本申请还提供了一种存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的媒资播放方法各实施例中的部分或全部步骤。
由以上技术方案可知,本发明实施例提供的一种媒资播放方法及显示设备,在获取到需要播放的媒资数据后,确定媒资数据的来源类型,以确定提供媒资的媒资服务器,执行对应的媒资播放策略。在为第一来源类型时,解析第一来源类型的媒资数据得到播控url,调用音频输出接口基于播控url播放媒资;在为第二来源类型,解析第二来源类型的媒资数据得到媒资id,获取与媒资id对应的播控url,调用音频输出接口基于播控url播放媒资。可见,该方法及显示设备,根据获取到的媒资数据对来源类型进行判断,可将不同媒资服务器所需的媒资播放策略进行统一,以进行统一的媒资搜索与播控,实现媒资的及时播放,用户体验好。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据一些实施例的显示设备与控制装置之间操作场景;
图2示出了根据一些实施例的控制设备100的硬件配置框图;
图3示出了根据一些实施例的显示设备200的硬件配置框图;
图4示出了根据一些实施例的显示设备200中软件配置图;
图5示出了根据一些实施例的显示设备200中应用程序的图标控件界面显示图;
图6示出了根据一些实施例的网络架构图;
图7示出了根据一些实施例的媒资处理终端的框架图;
图8示出了根据一些实施例的媒资播放方法的方法流程图;
图9示出了根据一些实施例的媒资播放方法的数据流程图;
图10示出了根据一些实施例的蜻蜓fm的sdk包初始化的数据流程图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
图1示出了根据一些实施例的显示设备与控制装置之间操作场景。如图1所示,用户可通过智能设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。
在一些实施例中,也可以使用智能设备300(如移动终端、平板电脑、计算机、笔记本电脑等)以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制设备来接收用户的语音指令控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
图2示出了根据一些实施例的控制设备100的硬件配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。
图3示出了根据一些实施例的显示设备200的硬件配置框图。在一些实施例中,参见图3,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中控制器包括处理器,视频处理器,音频处理器,图形处理器,ram,rom,用于输入/输出的第一接口至第n接口。
在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控ui界面。
在一些实施例中,显示器260可为液晶显示器、oled显示器、以及投影显示器,还可以为一种投影装置和投影屏幕。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与外部控制设备100或服务器400建立控制信号和数据信号的发送和接收。
在一些实施例中,用户接口,可用于接收控制装置100(如:红外遥控器等)的控制信号。
在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口接口(hdmi)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(cvbs)、usb输入接口(usb)、rgb端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
在一些实施例中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及epg数据信号。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。
在一些实施例中控制器包括中央处理器(centralprocessingunit,cpu),视频处理器,音频处理器,图形处理器(graphicsprocessingunit,gpu),ramrandomaccessmemory,ram),rom(read-onlymemory,rom),用于输入/输出的第一接口至第n接口,通信总线(bus)等中的至少一种。
cpu处理器。用于执行存储在存储器中操作系统和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。cpu处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。
在一些实施例中,图形处理器,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的gui信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出rgb数据信号。
在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。
在一些实施例中,用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphicuserinterface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。
在一些实施例中,显示设备的系统可以包括内核(kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(ipc)。内核启动后,再加载shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
图4示出了根据一些实施例的显示设备200中软件配置图。参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(applications)层(简称“应用层”),应用程序框架(applicationframework)层(简称“框架层”),安卓运行时(androidruntime)和系统库层(简称“系统运行库层”),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包不限于以上举例。
框架层为应用程序提供应用编程接口(applicationprogramminginterface,api)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过api接口,可在执行中访问系统中的资源和取得系统的服务。
如图4所示,本申请实施例中应用程序框架层包括管理器(managers),内容提供者(contentprovider)等,其中管理器包括以下模块中的至少一个:活动管理器(activitymanager)用与和系统中正在运行的所有活动进行交互;位置管理器(locationmanager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(packagemanager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(notificationmanager)用于控制通知消息的显示和清除;窗口管理器(windowmanager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。
在一些实施例中,活动管理器用于管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出、打开、后退等。窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的c/c 库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、wifi驱动、usb驱动、hdmi驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
图5示出了根据一些实施例的显示设备200中应用程序的图标控件界面显示图。在一些实施例中,显示设备启动后可以直接进入预置的视频点播程序的界面,视频点播程序的界面可以如图5中所示,至少包括导航栏510和位于导航栏510下方的内容显示区,内容显示区中显示的内容会随导航栏中被选中控件的变化而变化。应用程序层中的程序可以被集成在视频点播程序中通过导航栏的一个控件进行展示,也可以在导航栏中的应用控件被选中后进行进一步显示。
在一些实施例中,显示设备启动后可以直接进入上次选择的信号源的显示界面,或者信号源选择界面,其中信号源可以是预置的视频点播程序,还可以是hdmi接口,直播电视接口等中的至少一种,用户选择不同的信号源后,显示器可以显示从不同信号源获得的内容。
图6示出了根据一些实施例的网络架构图。参见图6,智能设备用于接收输入的信息以及输出对该信息的处理结果。语音识别服务设备为部署有语音识别服务的电子设备,语义服务设备为部署有语义服务的电子设备,业务服务设备为部署有业务服务的电子设备。这里的电子设备可包括服务器、计算机等,这里的语音识别服务、语义服务(也可称为语义引擎)和业务服务为可部署在电子设备上的web服务,其中,语音识别服务用于将音频识别为文本,语义服务用于对文本进行语义解析,业务服务用于提供具体的服务如墨迹天气的天气查询服务、qq音乐的音乐查询服务等。在一个实施例中,图6所示架构中可存在部署有不同业务服务的多个实体服务设备,也可以一个或多个实体服务设备中集合一项或多项功能服务。
在一些实施例中,下面对基于图6所示架构处理输入智能设备的信息的过程进行举例描述,以输入智能设备的信息为通过语音输入的查询语句为例,上述过程可包括如下三个过程:
[语音识别]智能设备可在接收到通过语音输入的查询语句后,将该查询语句的音频上传至语音识别服务设备,以由语音识别服务设备通过语音识别服务将该音频识别为文本后返回至智能设备。在一个实施例中,将查询语句的音频上传至语音识别服务设备前,智能设备可对查询语句的音频进行去噪处理,这里的去噪处理可包括去除回声和环境噪声等步骤。
[语义理解]智能设备将语音识别服务识别出的查询语句的文本上传至语义服务设备,以由语义服务设备通过语义服务对该文本进行语义解析,得到文本的业务领域、意图等。
[语义响应]语义服务设备根据对查询语句的文本的语义解析结果,向相应的业务服务设备下发╳查询指令以获取业务服务给出的查询结果。智能设备可从语义服务设备获取该查询结果并输出。作为一个实施例,语义服务设备还可将对查询语句的语义解析结果发送至智能设备,以由智能设备输出该语义解析结果中的反馈语句。
需要说明的是,图6所示架构只是一种示例,并非对本申请保护范围的限定。本申请实施例中,也可采用其他架构来实现类似功能,例如:三个过程全部或部分可以由智能终端来完成,在此不做赘述。
在一些实施例中,显示设备内配置有媒资应用,可为用户提供不同形式的媒资,如小说、读物、广播、音乐等。在获取目标媒资时,显示设备向媒资服务器发送媒资请求,在接收到媒资服务器返回的媒资数据后,播放该目标媒资。
在一些实施例中,为便于用户能够快速播放自己感兴趣的媒资,可通过搜索的方式得到目标媒资。搜索方式包括手动方式和语音方式。在采用手动方式搜索时,用户启动媒资应用,通过输入关键词,搜索目标媒资。
在采用语音方式搜索时,显示设备中需配置语音交互功能。此时,显示设备内配置有语音终端应用,语音终端应用用于识别用户输入的语音指令。语音终端与语义引擎连接,语音终端应用将接收到的语音指令发送至语义引擎,由语义引擎将语音指令转换为语音文本,再返回给语音终端应用。
语音终端应用基于语音文本向媒资服务器发送媒资搜索请求,媒资服务器基于媒资搜索请求搜索结果,并将搜索得到的目标媒资的媒资数据返回至显示设备,以由显示设备播放该目标媒资。语音方式搜索可节省用户手动操作的步骤,与显示设备的交互更为便利。
在一些实施例中,现有的显示设备通常仅支持某个媒资服务器的媒资,例如仅支持腾讯叮当提供的媒资。可见,这种媒资请求较为单一,无法为用户提供更多的媒资请求,用户体验不好。
为便于用户能够利用显示设备播放更多的媒资,本申请提供一种显示设备,可同时支持多个媒资服务器下的媒资,不仅支持腾讯叮当下的媒资,还可支持显示设备平台自有媒资和第三方媒资,媒资种类多样化。其中,第三方媒资是指配置在显示设备中的第三方媒资应用提供的媒资。
由于不同媒资服务器所需的媒资播放策略不同,因此为实现多媒资服务器下的不同媒资的及时播放,本申请提供的显示设备中配置有媒资处理终端,将媒资处理终端作为媒资融合框架,以融合不同来源的媒资。媒资处理终端可适配不同媒资服务器,并在显示设备平台获取第三方媒资时,可实现显示设备平台与第三方媒资服务器的对接。可见,媒资处理终端可将不同媒资服务器所需的媒资播放策略进行统一,以进行统一的媒资搜索与播控,用户体验好。
在一些实施例中,可将不同媒资服务器划分为两类,分别为腾讯叮当服务器和显示设备平台所依据的服务器。腾讯叮当服务器用于提供腾讯叮当下的媒资;显示设备平台所依据的服务器包括显示设备平台和第三方媒资服务器,显示设备平台用于提供自有媒资,第三方媒资服务器用于提供第三方媒资。基于此,媒资数据的来源类型包括腾讯叮当类和显示设备平台类。
图7示出了根据一些实施例的媒资处理终端的框架图。参见图7,为基于不同来源类型的媒资进行对应的播放策略,在通过语音方式搜索媒资时,由显示设备内配置的语音助手(语音终端应用)基于用户输入的语音指令,向显示设备平台或腾讯叮当服务器发送媒资搜索请求。语音终端应用接收到显示设备平台或腾讯叮当服务器经过搜索后返回的媒资数据后,将媒资数据传输至媒资处理终端。
在进行媒资播放策略统一时,媒资处理终端对媒资数据进行分析,以确定媒资分类,即确定媒资数据的来源类型是腾讯叮当类还是显示设备平台类。在确定出来源类型后,对媒资数据进行处理,例如,如果媒资数据来自显示设备平台,则向云端服务器(显示设备平台)进行媒资id转换,以获取与媒资id对应的播控url,播控url是指播放媒资的网络路径。如果媒资数据来自腾讯叮当,则直接从该类型的媒资数据中获取url。在获取到播控url后,发送至显示设备中配置的媒资播放终端,例如音频输出接口,即可调用音频输出接口播放对应的媒资。
在一些实施例中,基于语音方式搜索媒资并播放的应用场景可为处于音箱模式的显示设备、处于局部亮屏模式的显示设备和处于正常运行状态的显示设备(媒体中心)。
音箱模式属于关屏后的一种模式,与普通模式不同,电视屏幕是关闭的,但主机仍在运行。在该音箱模式下可以实现快速开关屏,提升用户体验。音箱模式是指显示设备关屏后,显示设备的控制器仍处于运行状态,使得显示设备仍可正常响应控制指令,并仍具有语音功能,将处于音箱模式的显示设备作为智能音箱来使用,用户可以在音箱模式下享受普通电视模式下的大部分业务(除观看视频),例如与语音功能相关的业务。
局部亮屏模式通常配置在oled机型的显示设备中,局部亮屏模式类似于屏保模式,但与普通屏保模式不同之处在于,电视屏幕的局部亮屏以展示提示内容,而屏幕的大部分区域均呈现黑屏状态。局部亮屏的位置可位于显示器屏幕的一角,如左下角、右下角、左上角或右上角,此场景下的用户界面呈现一角亮的“月球”效果。在该局部亮屏模式下,显示设备的控制器持续运行,显示器呈局部亮屏模式,可以实现提示信息的展示和快速开关屏,提升用户体验。音箱模式与局部亮屏模式有所区分且唯一区分的是,局部亮屏模式下的用户界面的一角有界面,如左下角亮屏以展示提示内容,其余部分呈黑屏状态;而音箱模式下的用户界面均呈黑屏状态。
处于音箱模式的显示设备和处于局部亮屏模式的显示设备均可以在关屏状态下响应语音功能,而处于正常运行状态的显示设备(媒资中心应用正常运行)的显示器为开屏状态,此时,也可响应语音功能。用户可与上述任一场景下的显示设备进行语音交互,进行媒资搜索和播放。
在一些实施例中,在显示设备中配置媒资处理终端,在用户与显示设备进行语音交互以播放媒资时,媒资处理终端可基于语音搜索得到的媒资数据进行处理,可将不同媒资服务器所需的媒资播放策略进行统一,以进行统一的媒资搜索与播控,用户体验好。
图8示出了根据一些实施例的媒资播放方法的方法流程图;图9示出了根据一些实施例的媒资播放方法的数据流程图。本发明实施例提供一种显示设备,包括:显示器,被配置为呈现用户界面;与显示器连接的控制器,在执行图8和图9所示的媒资播放方法时,控制器被配置为执行下述步骤:
s1、获取用户搜索媒资对应的媒资数据,媒资数据的来源类型为第一来源类型或者第二来源类型,第一来源类型和第二来源类型用于表征不同的媒资服务器。
用户在利用显示设备进行媒资播放时,用户可手动搜索媒资,或者通过语音方式搜索媒资。在用户手动搜索媒资时,启动显示设备中配置的媒资应用,在启动页面中手动输入关键词,进行媒资搜索。
显示设备基于关键词生成搜索请求发送至媒资服务器,媒资服务器在接收到搜索请求后基于关键词查找对应的媒资数据,最后将媒资数据返回至显示设备。显示设备将媒资数据展示在显示器中,在点击播放按钮后即可实现播放。这种方式需要用户手动操作,操作流程较多。
在一些实施例中,为便于快速进行媒资播放,用户可采用语音方式搜索媒资。此时,控制器在执行获取用户搜索媒资对应的媒资数据,被进一步配置为执行下述步骤:
步骤11、接收用户通过语音方式搜索媒资时产生的语音搜索指令,将所述语音搜索指令发送至语义引擎,语音搜索指令用于指示语义引擎向媒资服务器获取媒资数据。
步骤12、接收语义引擎响应语音搜索指令后返回的媒资数据。
在用户与处于语音功能的显示设备进行语音交互时,通过语音方式说出语音“我想听xxx”,例如,用户说出语音“我想听三国演义”。此时,显示设备中配置的语音终端应用识别到该语音搜索指令,并发送至语义引擎。
语义引擎在接收到语音搜索指令后,将语音搜索指令转换成语音搜索文本,向媒资服务器发送携带语音搜索文本的媒资搜索请求。媒资服务器接收到媒资搜索请求后,查询与语音搜索文本匹配的媒资数据,若查找到,则将语音搜索文本对应的媒资数据返回至语义引擎,最后,由语义引擎将媒资数据返回至语音终端应用。例如,将“三国演义”的媒资数据返回至语音终端应用。
在一些实施例中,由于媒资服务器包括腾讯叮当服务器和显示设备平台所依据的服务器。为便于及时获取到媒资数据,语义引擎在接收到语音搜索指令后,先向显示设备平台所依据的服务器发送媒资搜索请求,如果该服务器中可提供语音搜索指令对应的媒资数据,则将该媒资数据返回至语义引擎。如果显示设备平台所依据的服务器均不可提供语音搜索指令对应的媒资数据,则语义引擎再向腾讯叮当服务器发送媒资搜索请求,以由腾讯叮当服务器提供用户所需的媒资数据。
在一些实施例中,为便于对来自不同服务器的媒资数据进行区分,可在相应媒资服务器向语义引擎发送媒资数据时,由各个媒资服务器在媒资数据中添加来源类型字段(subsort)。例如,来源类型字段(subsort)代表媒资数据是来自显示设备平台还是腾讯叮当,如果来源类型字段对应的数据为hisenseaudio,则代表显示设备平台媒资(包括自有媒资和第三方媒资);如果来源类型字段对应的数据是tencentaudio,则代表腾讯叮当媒资。
在一些实施例中,为便于判断媒资分类,将媒资数据的来源类型划分为第一来源类型和第二来源类型,第一来源类型和第二来源类型用于表征提供媒资数据的不同的媒资服务器。第一来源类型可表征媒资数据来自腾讯叮当服务器,第二来源类型可表征媒资数据来自显示设备平台所依据的服务器。
因此,显示设备中的语音终端应用接收到语义引擎返回的媒资数据后,将该媒资数据发送至显示设备中配置的媒资处理终端,由媒资处理终端对媒资数据进行处理,以及时播放媒资。
媒资处理终端在接收到媒资数据后,对媒资数据进行解析,获取到来源类型字段的数据,以判断该媒资的来源是腾讯叮当,还是显示设备平台。媒资数据中解析出两个字段,“subsort”:来源;“data”:数据。基于这两个字段的信息,即可确定出媒资的来源,以确定用户需要进行播放的媒资是腾讯叮当媒资,还是显示设备平台的媒资。
例如,若“data”为hisenseaudio,则确定媒资的来源类型为第二来源类型,即该媒资是显示设备平台的媒资;若“data”为tencentaudio,则确定媒资的来源类型为第一来源类型,即该媒资是腾讯叮当的媒资。
s2、如果来源类型为第一来源类型,则解析第一来源类型的媒资数据,得到播控url,以及,调用音频输出接口基于播控url播放媒资。
基于前述实施例对媒资数据中的来源类型字段信息进行判断,如果确定出当前接收到的媒资数据的来源类型为第一来源类型,此时,说明该媒资为腾讯叮当的媒资。而腾讯叮当的媒资数据中通常会携带用于实现播放的url,因此,可对第一来源类型的媒资数据进行解析,获取到播控url。最后,将播控url发送至显示设备中配置的音频输出接口,由音频输出接口基于该播控url,实现媒资的播放。
由于腾讯叮当服务器提供的媒资数据中的url格式可能与显示设备中音频输出接口实现媒资播放所需的url格式不一致,因此,需要将第一来源类型的媒资数据中的url重新拼接成音频输出接口所需的json格式的url。
在一些实施例中,控制器在执行如果来源类型为第一来源类型,则解析第一来源类型的媒资数据,得到播控url,被进一步配置为:
步骤21、在来源类型为第一来源类型时,解析第一来源类型的媒资数据,得到用于播放媒资的url和媒资信息;
步骤22、基于url和媒资信息,生成音频输出接口执行播放动作时所需的播控url。
在显示设备接收到的媒资数据是来自腾讯叮当服务器时,显示设备中的媒资处理终端对第一来源类型的媒资数据进行解析,获取用于播放媒资的url和媒资信息;基于该url和媒资信息,拼接成音频输出接口在实现媒资播放时所需的播控url。
在一些实施例中,音频输出接口实现播放的播控url的格式为json格式。媒资信息可从媒资数据中经过解析得到,该媒资信息包括媒资类型(obj_child_type)、时长(duration),单位s、媒资名称(objname)、作者(author)、专辑(album)、子id(objid)、壳id(venderid)等。
媒资类型(obj_child_type)为“1”代表电台类的流媒体,“0”代表节目或读物等;电台包括蜻蜓fm、凤凰fm或喜马拉雅中的电台节目等。节目或读物可为小说、解说、相声等文字读物,该读物可来自懒人听书或喜马拉雅等应用中的文字读物。时长(duration)为该媒资的播放时间。壳id是指媒资集合的id,子id是指媒资集合中的子媒资的id。url为腾讯叮当服务器提供的url。
基于前述url和各个媒资信息,按照媒资类型、时长、媒资名称、作者、专辑、子id、壳id、url的顺序,即可拼接成json格式的播控url。将该播控url发送至音频输出接口,实现对该媒资的播放。
s3、如果来源类型为第二来源类型,则解析第二来源类型的媒资数据,得到媒资id,获取与媒资id对应的播控url,以及,调用音频输出接口基于播控url播放媒资。
基于前述实施例对媒资数据中的来源类型字段信息进行判断,如果确定出当前接收到的媒资数据的来源类型为第二来源类型,此时,说明该媒资为显示设备平台的媒资。显示设备平台的媒资数据中不包括url,实现媒资播放的url存储在媒资服务器。而该url与媒资id为一一对应关系,因此,可依据媒资id向媒资服务器获取对应的播控url。
此时,由媒资处理终端对第二来源类型的媒资数据进行解析,得到媒资id。并基于媒资id向媒资服务器发送请求,以获得对应的播控url。媒资处理终端将播控url发送至音频输出接口,由音频输出接口基于播控url,实现对媒资的播放。此场景下的媒资服务器是指显示设备平台所依据的服务器。
在一些实施例中,基于媒资类型的不同,媒资数据中的媒资id的形式不同。媒资id是指媒资的编号。
对于小说、解说类的媒资,由于同一个总的媒资结构下会包括数个子媒资,例如,对于小说“三国演义”,该小说有100多集,那么三国演义本身是个壳,属于父媒资;每一集就是一个子媒资,如三国演义第001集为一个子媒资。
针对这种媒资类型(obj_child_type为“0”的媒资),媒资id包括壳id和子id。总的媒资结构为一个媒资集合,为父媒资,父媒资的id即为壳id,即壳id是指媒资集合的id。媒资集合中的各个基本单元为子媒资,子媒资的id为子id,即子id是指媒资集合中的子媒资的id。
对应电台、广播类的媒资,因为广播本身就是一个媒资,因此,没有壳、子之分。针对这种媒资类型(obj_child_type为“1”的媒资),媒资数据中的媒资id就是该类媒资的id。
在一些实施例中,为便于准确确定媒资的媒资类型,可基于内容类型信息进行判断,内容类型信息存储在媒资数据中。
因此,在获取各种形式的媒资id时,控制器在执行如果来源类型为第二来源类型,则解析第二来源类型的媒资数据,得到媒资id,被进一步配置为执行下述步骤:
步骤31、在来源类型为第二来源类型时,获取第二来源类型的媒资数据中的内容类型信息。
步骤32、如果内容类型信息为空,则解析媒资数据,得到媒资id。
步骤33、如果内容类型信息不为空,则解析媒资数据,得到壳id或子id,壳id是指媒资集合的id,子id是指媒资集合中的子媒资的id。
在前述实施例中判断出媒资数据是第二来源类型的媒资时,为准确确定第二来源类型的媒资的媒资类型,可对媒资数据进行解析,得到内容类型信息(contenttype)。
如果内容类型信息(contenttype)为空,说明该媒资是没有壳、子之分的媒资,为独立存在的媒资,例如为广播、电台等。此时,解析该媒资数据,得到的id即为该媒资的媒资id。
如果内容类型信息(contenttype)不为空,该媒资是有壳、子之分的媒资,例如为小说、解说等。此时,解析该媒资数据,得到的id即为壳id或子id。
在一些实施例中,媒资数据中的壳id或子id,与用户的语音交互时的语音搜索指令相关。如果用户搜索的媒资为父媒资,则媒资数据中包括壳id;例如,用户说出语音“我想听三国演义”,此时,媒资“三国演义”为壳,因此,媒资数据中对应存储壳id。
如果用户搜索的媒资为子媒资,则媒资数据中包括壳id和子id;例如,用户说出语音“我想听三国演义第1集”,此时,用户搜索更为细化,则媒资“三国演义”为壳,媒资“三国演义第1集”为子,因此,媒资数据中对应存储壳id和子id。
在一些实施例中,如果解析媒资数据得到的id为壳id,说明用户想要播放的媒资为父媒资;如果解析媒资数据得到的id中存在子id,说明用户想要播放的媒资为子媒资。如果解析媒资数据得到的id为媒资id,没有壳子之分,说明用户想要播放的媒资为广播、电台等。
有壳子之分的id和没有壳子之分的id的形式不同。例如,有壳子之分的媒资为“三国演义”,壳id可为较短的数字组合,如“21829”,子id可为较长的数字组合,如“136756617”。没有壳子之分的媒资id可为字母与数字结合的形式。
基于前述基于内容类型信息进行判断可得到三种结果,在内容类型信息为空时,获取到媒资id,即可基于媒资id向媒资服务器获取对应的播控url。在内容类型信息不为空时,若获取到壳id,为便于明确需要播放的具体子媒资,需将壳id转换成子id,再基于子id向媒资服务器获取对应的播控url;若获取到子id,则可直接基于子id向媒资服务器获取对应的播控url。
在一些实施例中,在内容类型信息为空时,由于可直接获取到媒资id,为避免媒资播放进程出现异常,在此场景下,媒资处理终端配置防呆设计,即在获取到没有壳子之分的媒资id时,也直接执行壳id换子id的过程。此时,调用云端服务器(显示设备平台所依据的服务器)的壳换子接口,将媒资id进行转换,得到子id,再基于转换后的子id向媒资服务器获取对应的播控url。由于媒资id没有壳子之分,因此,即使经过壳换子过程,得到的子id与媒资id相同,仅是做形式转换。
在一些实施例中,在内容类型信息不为空时,说明媒资数据中的媒资id存在壳子之分,此时,为防止在解析壳id时出现异常,可先判断媒资数据中是否存在壳id。在判断出有壳id时,再对媒资数据进行解析,获取到壳id或子id。
在判断媒资id中是否存在壳id时,可基于内容类型信息(contenttype)的内容进行判断,判断逻辑主要是区分哪些是壳id,哪些是子id。如果返回的contenttype为19006,则存在壳id,代表的是读物;如果返回的contenttype为2001,则存在壳id,代表蜻蜓fm中的父媒资。如果返回的contenttype为2006,则存在子id,代表蜻蜓fm中的子媒资。
在基于内容类型信息判断出媒资数据中包括壳id后,即可对媒资数据进行解析,得到的媒资id可为壳id,也可为子id。
为便于基于从媒资数据中获取到的媒资id,向媒资服务器获取对应的播控url,通常利用子id获取播控url,以获得进行播放的子媒资。此时,控制器在执行获取与媒资id对应的播控url,被进一步配置为:
步骤34、如果媒资id为壳id,则调用壳换子接口将壳id转换为子id,获取与子id对应的播控url。
步骤35、如果媒资id为子id,则获取与子id对应的播控url。
在内容类型信息不为空时,说明媒资数据中的媒资id存在壳子之分。如果从媒资数据中解析到壳id,说明用户需要进行播放的媒资为媒资集合。为便于明确需要播放的具体子媒资,需将壳id转换成子id,再基于子id向媒资服务器获取对应的播控url。
为了节省时间,媒资处理终端可基于壳id一次性向云端服务器获取多个子id。媒资处理终端基于壳id向云端服务器获取对应的子id,可同时获取20个子id。子id的获取数量可预先由显示设备与云端服务器进行定义,也可为其他数值,此处不具体限定。
例如,如果用户说出语音“我想听三国演义”,此时,媒资数据中存在壳id,那么媒资处理终端可同时向云端服务器获取前20集子媒资对应的子id。
在确定出可进行播放的子媒资的子id后,即可基于子id向云端服务器(显示设备平台所依据的服务器)获取每个子id对应的播控url,一个子id对应一个播控url。
在一些实施例中,如果从媒资数据中解析到子id,说明该id为子媒资的id,说明用户需要进行播放的媒资为子媒资,可直接进行播放。因此,无需进行壳换子的过程,而是直接基于子id向云端服务器获取对应的播控url。
例如,用户说出语音“我想听三国演义第1集”,媒资数据中对应存在壳id和子id。此时,可确定从媒资数据中可解析得到子id。
在一些实施例中,在基于第二来源类型的媒资数据,获取到可进行播放的子媒资的子id后,可向云端服务器获取对应的播控url,以实现对相应媒资的播放。
在一些实施例中,由于并非所有服务器中的数据均可对显示设备平台开放,例如,蜻蜓fm的服务器并无对外开放权限,即显示设备无法直接获取蜻蜓fm相关的数据。而对于其他媒资服务器,显示设备可直接获取对应的数据。
因此,在基于子id向云端服务器获取对应的播控url时,需先判断该需要播放的媒资是否为蜻蜓fm,判断依据为媒资数据中的媒资类别信息。
在一些实施例中,控制器在执行步骤34或步骤35时,即获取与子id对应的播控url,被进一步配置为执行下述步骤:
步骤361、获取第二来源类型的媒资数据中的媒资类别信息;
步骤362、如果媒资类别信息表征媒资为特定媒资,则调用特定媒资的sdk包,基于sdk包获取与子id对应的播控url;
步骤363、如果媒资类别信息表征媒资不为特定媒资,则调用媒资服务器的数据接口,获取与子id对应的播控url。
在媒资处理终端进行处理的媒资数据为第二来源类型的数据时,说明用户需要播放的媒资为显示设备平台所依据的服务器提供的媒资。为确定该媒资的服务器是否具有对外开放的权限,对媒资数据进行解析,得到媒资类别信息(vendor)。
由于显示设备配置自有媒资和第三方媒资,对于自有媒资,显示设备可直接基于前述确定的子id获取对应的播控url。但对于某些特定的第三方媒资,若某个第三方媒资服务器并未开放权限,显示设备可能无法直接向该第三方媒资服务器获取相应数据。为使得显示设备平台获取第三方媒资时,可实现显示设备平台与第三方媒资服务器的对接,可基于特定媒资的sdk包进行获取。
根据媒资类别信息判断用户需要播放的媒资是否为特定媒资,例如,特定媒资可为蜻蜓fm。特定媒资是指不具有对外开放提供数据的媒资服务器提供的媒资。
例如,媒资类别信息(vendor)为50001,则代表蜻蜓fm;vendor为50004,则代表贝瓦儿歌;vendor为50005,则代表懒人听书;vendor为50006,则代表腾讯叮当;vendor为50009,则代表凤凰fm;vendor为50016,则代表喜马拉雅。
如果基于媒资类型信息,确定对应的数据为5001,说明用户需要播放的媒资为特定媒资(蜻蜓fm)。此时,显示设备无法向该媒资的媒资音频输出接口获取播控url。因此,为实现播控url的获取,可基于特定媒资的sdk包,获取与子id对应的播控url。
图10示出了根据一些实施例的蜻蜓fm的sdk包初始化的数据流程图。参见图10,控制器在执行调用特定媒资的sdk包,基于sdk包获取与子id对应的播控url,被进一步配置为执行下述步骤:
步骤3621、在媒资为特定媒资时,获取设备账号id,以及,显示设备与特定媒资的媒资服务器进行数据传输的令牌。
步骤3622、调用特定媒资的sdk包,将设备账号id和令牌传入sdk包,以建立显示设备与特定媒资的媒资服务器的数据连接。
步骤3623、对sdk包进行初始化,如果sdk包初始化成功,则调用特定媒资的sdk接口获取与子id对应的播控url。
在获取到特定媒资的sdk包后,为便于获取与子id对应的播控url,需先判断特定媒资的sdk包是否初始化成功。若未初始化成功,需要再次进行初始化;如果初始化成功,则可获取播控url。
在一些实施例中,在向特定媒资的服务器获取播控url时,需先建立显示设备与该服务器的连接。为此,先判断显示设备的网络是否连接。如果未连接,则等待网络下次成功连接;如果已连接,则获取显示设备与特定媒资的媒资服务器进行数据传输的令牌。
显示设备可登陆设备账号id,通过设备账号id建立与特定媒资服务器的连接;显示设备也可以运营id建立与特定媒资服务器的连接。二者的区别在于,运营id只能从特定媒资服务器中获取免费的媒资,而设备账号id可看作用户会员id,可从特定媒资服务器中获取付费的媒资。因此,基于设备账号id可获取的媒资范围大于基于运营id获取的媒资范围。
在进行显示设备与特定媒资服务器认证时,将设备账号id和令牌写入特定媒资的sdk包中,完成认证后,即可建立显示设备与特定媒资的媒资服务器的数据连接,此时,显示设备可与特定媒资服务器进行通信,获取相关的数据。
在特定媒资的sdk包写入设备账号id和令牌对,对sdk包进行初始化。如果初始化成功,说明显示设备与特定媒资服务器已建立连接,此时,调用特定媒资服务器的特定媒资的sdk接口,基于子id向特定媒资服务器获取对应的播控url,。
如果未初始化成功,则需要重试。为避免一直初始化,可设定最大重试次数为3。在当前重试次数达到3次后,停止初始化过程,并将错误信息上传至云端,以定位失误原因。
在一些实施例中,如果基于媒资类型信息,确定对应的数据不为5001,而是5004或50016等,则说明用户需要播放的媒资不是特定媒资(蜻蜓fm),而是贝瓦儿歌或喜马拉雅等。此时,显示设备可直接向该媒资服务器获取数据,即调用媒资服务器的数据接口,获取与子id对应的播控url。
在一些实施例中,如果媒资服务器中并未存储某个子id对应的播控url,则显示设备获取到的url为空,此时,为避免用户无法获知子媒资未进行播放的原因,可在未获取到url时,由音频输出接口播放预设语音,以提示用户。预设语音可为“为获取到播放地址,当前媒资无法进行播放”等。
显示设备在基于子id获取到播控url后,即可将播控url发送至音频输出接口,由音频输出接口基于播控url播放对应的媒资。
而对于不同类型的媒资,音频输出接口的播放策略不同。如果播放的媒资类型为电台,由于电台是独立的媒资,对于同一频道在全天时间内会存在多个电台节目,且该电台节目是由电台平台提供,在达到对应时间即自动播放对应的电台节目。因此,此场景下,音频输出接口会一直播放该电台频道下的所有电台节目。
如果播放的媒资类型为小说等读物,其具有媒资集合和子媒资的区分,实现对媒资集合的播放实际上是对子媒资的播放,而子媒资播放依据子id对应的播控url。因此,此场景下,在完成一个子媒资播放后,需通知媒资处理终端,重新获取播控url。
在一些实施例中,控制器在执行步骤s2或s3中的调用音频输出接口基于播控url播放媒资,被进一步配置为执行下述步骤:
步骤371、获取媒资数据中的媒资类型信息。
步骤372、如果媒资类型信息表征媒资为第一媒资类型,则获取播控url所对应的至少一个媒资,以及,调用音频输出接口播放至少一个媒资。
步骤373、如果媒资类型信息表征媒资为第二媒资类型,则调用音频输出接口在播放播控url对应的媒资后,基于下一个播控url播放对应的媒资。
为准确确定音频输出接口基于不同媒资类型的媒资的播放策略,可从媒资数据中获取媒资类型信息(obj_child_type)。该媒资数据可为第一来源类型的数据,也可为第二来源类型的数据。
如果媒资类型信息(obj_child_type)为“1”,则可确定用户需要播放的媒资为第一媒资类型,如电台类的流媒体,电台包括蜻蜓fm、凤凰fm或喜马拉雅中的电台节目等。此时,由于同一电台频道下会按照时间顺序按时播放对应的电台节目,因此,在音频输出接口获得播控url后,即可播放同一播控url下的至少一个媒资。
如果媒资类型信息(obj_child_type)为“0”,则可确定用户需要播放的媒资为第二媒资类型,如代表节目或读物等;节目或读物可为小说、解说、相声等文字读物。此时,音频输出接口在接收到一个播控url后,实现对应媒资的播放。而在该媒资播放完毕后,媒资处理终端需要获取下一个媒资的播控url,此时,可获取下一个子id,重新获取新的播控url,由音频输出接口基于新的播控url实现下一个媒资的播放。
例如,音频输出接口在播放“三国演义”时,如果当前播放的子媒资为“三国演义第1集”,此时,子id的索引值index为1;在“三国演义第1集”播放完毕后,需继续播放“三国演义第2集”,此时,子id的索引值index为2。因此,为实现播放“三国演义第2集”,需基于index为2的子id重新获取新的播控url。而后,音频输出接口基于新的播控url实现“三国演义第2集”的播放。
在一些实施例中,由于用户通过语音方式搜索媒资并进行播放时,在播放过程中,如果用户对当前播放的媒资不感兴趣,可对当前播放的媒资执行切换操作。而切换操作包括对同一媒资集合下的子媒资的切换,还可为切换媒资集合。
在一些实施例中,在执行媒资切换播放时,控制器被进一步配置为执行下述步骤:
步骤41、在音频输出接口基于子id播放媒资时,响应于用户基于语音方式产生的语音控制指令,调用语义引擎将语音控制指令转换成语音控制文本。
步骤42、如果语音控制文本与子id切换控制文本一致,则获取下一个子id,以及,调用音频输出接口基于下一个子id对应的播控url播放对应的媒资。
步骤43、如果语音控制文本与壳id切换控制文本一致,则获取下一个壳id,以及,基于下一个壳id获取对应的子id,调用音频输出接口基于子id对应的播控url播放对应的媒资。
音频输出接口在播放媒资时,通常需要基于子id对应的播控url实现媒资播放,此时,播放的媒资为独立的媒资(电台、广播等)或媒资结合下的子媒资(小说等)。其中,此场景下的子id可为基于有壳子之分的媒资数据中获取的壳id转换后的子id或直接获取的子id,还可为基于无壳子之分的媒资数据中获取的媒资id转换后的子id。
如果在播放过程中,用户想要切换播放的媒资,可通过语音方式产生语音控制指令。显示设备的语音终端应用获取到语音控制指令后,将该语音控制指令发送至语义引擎,由语义引擎将该语音控制指令转换成语音控制文本后再返回至语音终端应用。
显示设备内存储有预先设定的执行不同切换播放策略的控制文本,包括子id切换控制文本和壳id切换控制文本。
将用户产生的语音控制文本与预设的切换播放策略的控制文本进行对比,如果语音控制文本与子id切换控制文本一致,说明用户想要切换当前播放子媒资的下一个子媒资。此时,媒资处理终端需要获取下一个子媒资对应的子id,并重新获取新的播控url,由音频输出接口基于新的播控url实现下一个媒资的播放。
例如,音频输出接口在播放“三国演义”时,如果当前播放的子媒资为“三国演义第1集”,此时,子id的索引值index为1。此时,若用户语音说出“下一个”,则该语音控制文本与子id切换控制文本一致,则需要进行子媒资的切换播放,即需播放“三国演义第2集”。媒资处理终端将子id的索引值加1,即获取index为2的子id,并重新基于index为2的子id获取新的播控url。最后,由音频输出接口基于新的播控url实现“三国演义第2集”的播放,以此实现子媒资的切换播放。
在一些实施例中,如果语音控制文本与壳id切换控制文本一致,说明用户想要切换当前播放的媒资集合。此时,媒资处理终端需要获取下一个壳id,并重新基于下一个壳id获取对应的子id,再由新获取的子id获取对应的新播控url,由音频输出接口基于新的播控url播放实现下一个媒资集合中的子媒资的播放。
例如,用户在语音搜索“三国演义时”,可能获取到的媒资集合可为小说、解说等。在获取到多个媒资集合时,可预先设定每个媒资集合的播放顺序,例如,优先播放小说三国演义,解说三国演义次之播放。
音频输出接口在播放“三国演义”时,此时壳id的索引值index为1。如果在当前播放的子媒资为“三国演义第1集”时,用户语音说出“换一个”,则该语音控制文本与壳id切换控制文本一致,则需要进行媒资集合的切换播放,即需播放“解说三国演义”。媒资处理终端将壳id的索引值加1,即获取index为2的壳id,再获取index为2的壳id对应的子id,并基于新的子id重新获取新的播控url。最后,由音频输出接口基于新的播控url实现“解说三国演义”的播放。如果新的子id的index为1,则由音频输出接口实现“解说三国演义第1集”的播放,以此实现媒资集合的切换播放。
在一些实施例中,前述实施例用户请求播放的媒资为音频类的媒资,而如果用户请求播放的媒资为视频类的媒资,则在获取到媒资数据后的处理方法与对音频类的媒资数据的处理方法相同。区别在于在进行播放时,将视频类媒资的音频数据发送至音频输出接口进行播放,将内容数据发送至显示器进行显示。视频类媒资包括音频数据和内容数据。
在一些实施例中,如果用户请求播放的媒资为视频类媒资,且显示设备当前的运行状态为处于音箱模式或局部亮屏模式时,此场景下,由于显示器处于关屏状态,为进行内容数据的展示,需先控制显示器亮屏。在显示器亮屏后,再将内容数据展示在显示器中。
可见,本发明实施例提供的一种显示设备,在获取到需要播放的媒资数据后,确定媒资数据的来源类型,以确定提供媒资的媒资服务器,执行对应的媒资播放策略。在为第一来源类型时,解析第一来源类型的媒资数据得到播控url,调用音频输出接口基于播控url播放媒资;在为第二来源类型,解析第二来源类型的媒资数据得到媒资id,获取与媒资id对应的播控url,调用音频输出接口基于播控url播放媒资。可见,该显示设备根据获取到的媒资数据对来源类型进行判断,可将不同媒资服务器所需的媒资播放策略进行统一,以进行统一的媒资搜索与播控,实现媒资的及时播放,用户体验好。
图8示出了根据一些实施例的媒资播放方法的方法流程图。参见图8,本发明实施例提供一种媒资播放方法,由前述实施例提供的显示设备中的控制器执行,所述方法包括:
s1、获取用户搜索媒资对应的媒资数据,所述媒资数据的来源类型为第一来源类型或者第二来源类型,所述第一来源类型和第二来源类型用于表征不同的媒资服务器;
s2、如果所述来源类型为第一来源类型,则解析所述第一来源类型的媒资数据,得到播控url,以及,调用音频输出接口基于所述播控url播放所述媒资;
s3、如果所述来源类型为第二来源类型,则解析所述第二来源类型的媒资数据,得到媒资id,获取与所述媒资id对应的播控url,以及,调用音频输出接口基于所述播控url播放所述媒资。
由以上技术方案可知,本发明实施例提供的一种媒资播放方法及显示设备,在获取到需要播放的媒资数据后,确定媒资数据的来源类型,以确定提供媒资的媒资服务器,执行对应的媒资播放策略。在为第一来源类型时,解析第一来源类型的媒资数据得到播控url,调用音频输出接口基于播控url播放媒资;在为第二来源类型,解析第二来源类型的媒资数据得到媒资id,获取与媒资id对应的播控url,调用音频输出接口基于播控url播放媒资。可见,该方法及显示设备,根据获取到的媒资数据对来源类型进行判断,可将不同媒资服务器所需的媒资播放策略进行统一,以进行统一的媒资搜索与播控,实现媒资的及时播放,用户体验好。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的媒资播放方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于媒资播放方法实施例而言,由于其基本相似于显示设备实施例,所以描述的比较简单,相关之处参见显示设备实施例中的说明即可。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
1.一种显示设备,其特征在于,包括:
显示器,被配置为呈现用户界面;
与所述显示器连接的控制器,所述控制器被配置为:
获取用户搜索媒资对应的媒资数据,所述媒资数据的来源类型为第一来源类型或者第二来源类型,所述第一来源类型和第二来源类型用于表征不同的媒资服务器;
如果所述来源类型为第一来源类型,则解析所述第一来源类型的媒资数据,得到播控url,以及,调用音频输出接口基于所述播控url播放所述媒资;
如果所述来源类型为第二来源类型,则解析所述第二来源类型的媒资数据,得到媒资id,获取与所述媒资id对应的播控url,以及,调用音频输出接口基于所述播控url播放所述媒资。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器在执行所述如果所述来源类型为第二来源类型,则解析所述第二来源类型的媒资数据,得到媒资id,被进一步配置为:
在所述来源类型为第二来源类型时,获取所述第二来源类型的媒资数据中的内容类型信息;
如果所述内容类型信息为空,则解析所述媒资数据,得到媒资id;
如果所述内容类型信息不为空,则解析所述媒资数据,得到壳id或子id,所述壳id是指媒资集合的id,所述子id是指媒资集合中的子媒资的id。
3.根据权利要求2所述的显示设备,其特征在于,所述控制器在执行所述获取与所述媒资id对应的播控url,被进一步配置为:
如果所述媒资id为壳id,则调用壳换子接口将所述壳id转换为子id,获取与所述子id对应的播控url;
如果所述媒资id为子id,则获取与所述子id对应的播控url。
4.根据权利要求3所述的显示设备,其特征在于,所述控制器在执行所述获取与所述子id对应的播控url,被进一步配置为:
获取所述第二来源类型的媒资数据中的媒资类别信息;
如果所述媒资类别信息表征所述媒资为特定媒资,则调用所述特定媒资的sdk包,基于所述sdk包获取与所述子id对应的播控url;
如果所述媒资类别信息表征所述媒资不为特定媒资,则调用媒资服务器的数据接口,获取与所述子id对应的播控url。
5.根据权利要求4所述的显示设备,其特征在于,所述控制器在执行所述调用所述特定媒资的sdk包,基于所述sdk包获取与所述子id对应的播控url,被进一步配置为:
在所述媒资为特定媒资时,获取设备账号id,以及,所述显示设备与所述特定媒资的媒资服务器进行数据传输的令牌;
调用所述特定媒资的sdk包,将所述设备账号id和令牌传入所述sdk包,以建立显示设备与所述特定媒资的媒资服务器的数据连接;
对所述sdk包进行初始化,如果所述sdk包初始化成功,则调用所述特定媒资的sdk接口获取与所述子id对应的播控url。
6.根据权利要求1所述的显示设备,其特征在于,所述控制器在执行所述如果所述来源类型为第一来源类型,则解析所述第一来源类型的媒资数据,得到播控url,被进一步配置为:
在所述来源类型为第一来源类型时,解析所述第一来源类型的媒资数据,得到用于播放所述媒资的url和媒资信息;
基于所述url和媒资信息,生成音频输出接口执行播放动作时所需的播控url。
7.根据权利要求1所述的显示设备,其特征在于,所述控制器在执行所述调用音频输出接口基于所述播控url播放所述媒资,被进一步配置为:
获取所述媒资数据中的媒资类型信息;
如果所述媒资类型信息表征所述媒资为第一媒资类型,则获取所述播控url所对应的至少一个媒资,以及,调用音频输出接口播放至少一个媒资;
如果所述媒资类型信息表征所述媒资为第二媒资类型,则调用音频输出接口在播放所述播控url对应的媒资后,基于下一个播控url播放对应的媒资。
8.根据权利要求1所述的显示设备,其特征在于,所述控制器在执行所述获取用户搜索媒资对应的媒资数据,被进一步配置为:
响应于用户通过语音方式搜索媒资时产生的语音搜索指令,将所述语音搜索指令发送至语义引擎,所述语音搜索指令用于指示所述语义引擎向媒资服务器获取媒资数据;
接收所述语义引擎响应语音搜索指令后返回的媒资数据。
9.根据权利要求1所述的显示设备,其特征在于,所述控制器被进一步配置为:
在所述音频输出接口基于子id播放媒资时,响应于用户基于语音方式产生的语音控制指令,调用语义引擎将所述语音控制指令转换成语音控制文本;
如果所述语音控制文本与子id切换控制文本一致,则获取下一个子id,以及,调用音频输出接口基于所述下一个子id对应的播控url播放对应的媒资;
如果所述语音控制文本与壳id切换控制文本一致,则获取下一个壳id,以及,基于所述下一个壳id获取对应的子id,调用音频输出接口基于所述子id对应的播控url播放对应的媒资。
10.一种媒资播放方法,其特征在于,所述方法包括:
获取用户搜索媒资对应的媒资数据,所述媒资数据的来源类型为第一来源类型或者第二来源类型,所述第一来源类型和第二来源类型用于表征不同的媒资服务器;
如果所述来源类型为第一来源类型,则解析所述第一来源类型的媒资数据,得到播控url,以及,调用音频输出接口基于所述播控url播放所述媒资;
如果所述来源类型为第二来源类型,则解析所述第二来源类型的媒资数据,得到媒资id,获取与所述媒资id对应的播控url,以及,调用音频输出接口基于所述播控url播放所述媒资。
技术总结