应用程序的音频数据的输出方法及显示设备与流程

文档序号:18212933发布日期:2019-07-19 22:26阅读:388来源:国知局
应用程序的音频数据的输出方法及显示设备与流程

本发明涉及音频技术领域,尤其涉及一种应用程序的音频数据的输出方法及显示设备。



背景技术:

为了满足用户个性化需求,显示设备不仅可以为用户提供通过数据广播接收的各种传统直播节目内容,而且可以为用户提供由内容服务商设置的诸如视频点播、网络游戏、视频聊天等各种应用和服务内容。

在提供上述各种内容的同时,显示设备可以基于用户对诸如遥控器、移动终端等控制装置上的物理硬键或虚拟键的操作而被控制执行上述各种内容所需的功能,也可以通过自身的麦克风或控制装置上的麦克风接收的用户输入的语音而被控制执行上述各种内容所需的功能。

例如,在显示设备播放一音视频内容的过程中,显示设备可通过麦克风接收对该音视频内容进行诸如服饰搜索、人物搜索等语音输入时,显示设备通常将该语音输入及其搜索结果与音视频内容的播放声音同时输出,使得用户不易区分,从而影响用户的听感体验。



技术实现要素:

本申请提供一种应用程序的音频数据的输出方法及显示设备,用以实现显示设备中同一时刻仅播放一个应用程序的音频数据,以提高用户听感体验。

第一方面,提供一种应用程序的音频数据的输出方法,包括:

在显示设备通过其音频输出接口播放至少一个应用程序的音频数据过程中,接收用于播放目标应用程序的音频数据的输入指令;

响应于所述输入指令,控制所述至少一个应用程序的音频数据的输出音量被静音,并控制所述目标应用程序的音频数据的输出音量保留;

将被静音后的所述至少一个应用程序的音频数据与保留输出音量后的所述目标应用程序的音频数据通过所述音频输出接口输出。

一些实施例中,所述响应于所述输入指令之后,还包括:

判断目标应用程序是否需要获取显示设备中操作系统的音频焦点;

若是,则对所述目标应用程序的音频数据对应的音频流类型进行修改。

一些实施例中,所述响应于所述输入指令之后,还包括:

判断是否存在音频数据对应的音频流类型被修改的应用程序;

若是,则保留所述应用程序的音频数据对应的音频流类型的音量,静音除所述应用程序之外的其它应用程序的音频数据对应的音频流类型的音量。

一些实施例中,还包括:

接收用于停止播放目标应用程序的音频数据的输入指令;

响应于所述输入指令,控制所述至少一个应用程序的音频数据的输出音量由静音恢复至接收用于播放目标应用程序的音频数据的输入指令之前的音量;

将恢复输出音量后的所述至少一个应用程序的音频数据通过所述音频输出接口输出。

第二方面,提供一种显示设备,包括:

显示器,用于显示内容;

用户接口,用于接收用户输入的指令;

音频输出接口,用于输出音频数据;

控制器,用于执行:

在显示设备通过其音频输出接口播放至少一个应用程序的音频数据过程中,响应于用于播放目标应用程序的音频数据的输入指令,控制所述至少一个应用程序的音频数据的输出音量被静音,并控制所述目标应用程序的音频数据的输出音量保留;

将被静音后的所述至少一个应用程序的音频数据与保留输出音量后的所述目标应用程序的音频数据通过所述音频输出接口输出。

一些实施例中,所述控制器,还执行:

判断目标应用程序是否需要获取显示设备中操作系统的音频焦点;

若是,则对所述目标应用程序的音频数据对应的音频流类型进行修改。

一些实施例中,所述控制器,还执行:

判断是否存在音频数据对应的音频流类型被修改的应用程序;

若是,则保留所述应用程序的音频数据对应的音频流类型的音量,静音除所述应用程序之外的其它应用程序的音频数据对应的音频流类型的音量。

一些实施例中,所述控制器,还执行:

响应于用于停止播放目标应用程序的音频数据的输入指令,控制所述至少一个应用程序的音频数据的输出音量由静音恢复至接收用于播放目标应用程序的音频数据的输入指令之前的音量;

将恢复输出音量后的所述至少一个应用程序的音频数据通过所述音频输出接口输出。

在上述实施例中,显示设备通过控制保留目标应用程序的音频数据的输出音量,静音其他应用程序的音频数据的输出音量,从而用户通过音频输出接口听到的仅有目标应用程序的音频数据,提高用户的听感体验。

第三方面,提供一种应用程序的音频数据的输出方法,包括:

在显示设备通过其音频输出接口播放至少一个应用程序的音频数据过程中,接收用于播放目标应用程序的音频数据的输入指令;

响应于所述输入指令,控制通过所述音频输出接口输出所述目标应用程序的音频数据,不输出所述至少一个应用程序的音频数据。

一些实施例中,所述响应于所述输入指令之后,还包括:

判断目标应用程序是否需要获取显示设备中操作系统的音频焦点;

若是,则将所述操作系统的音频焦点标记为被所述目标应用程序占用。

一些实施例中,所述响应于所述输入指令之后,还包括:

判断当前显示设备中操作系统的音频焦点是否被其他应用程序占用;

若是,则不向所述音频输出接口输出应用程序的音频数据;否则,向所述音频输出接口输出应用程序的音频数据。

一些实施例中,还包括:

接收用于停止播放目标应用程序的音频数据的输入指令;

响应于所述输入指令,控制通过所述音频输出接口恢复输出所述至少一个应用程序的音频数据。

第四方面,提供一种显示设备,包括:

显示器,用于显示内容;

用户接口,用于接收用户输入的指令;

音频输出接口,用于输出音频数据;

控制器,用于执行:

在显示设备通过其音频输出接口播放至少一个应用程序的音频数据过程中,响应于用于播放目标应用程序的音频数据的输入指令,控制通过所述音频输出接口输出所述目标应用程序的音频数据,不输出所述至少一个应用程序的音频数据。

一些实施例中,所述控制器,还执行:

判断目标应用程序是否需要获取显示设备中操作系统的音频焦点;

若是,则将所述操作系统的音频焦点标记为被所述目标应用程序占用。

一些实施例中,所述控制器,还执行:

判断当前显示设备中操作系统的音频焦点是否被其他应用程序占用;

若是,则不向所述音频输出接口输出应用程序的音频数据;否则,向所述音频输出接口输出应用程序的音频数据。

一些实施例中,所述控制器,还执行:

响应于用于停止播放目标应用程序的音频数据的输入指令,控制通过所述音频输出接口恢复输出所述至少一个应用程序的音频数据。

在上述实施例中,显示设备通过控制音频输出接口仅输出目标应用程序的音频数据,不输出其他应用程序的音频数据,从而用户通过音频输出接口听到的仅有目标应用程序的音频数据,提高用户的听感体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1a中示例性示出了显示设备200与控制装置100之间操作场景的示意图;

图1b中示例性示出了图1a中控制装置100的配置框图;

图1c中示例性示出了图1a中显示设备200的配置框图;

图1d中示例性示出了显示设备200存储器中操作系统的架构配置框图;

图2示出了显示设备中各应用程序的音频数据输出的架构示意图;

图3a-3b示出了显示设备中应用程序的音频数据的输出控制方法流程图;

图4a-4b示出了显示设备中另一应用程序的音频数据的输出控制方法的流程图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。

基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。

应当理解,本申请中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

本申请中使用的术语“手势”,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。

图1a中示例性示出了显示设备200与控制装置100之间操作场景的示意图。如图1a所示,控制装置100和显示设备200之间可以有线或无线方式进行通信。

其中,控制装置100被配置为控制显示设备200,其可接收用户输入的操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起着用户与显示设备200之间交互的中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。

控制装置100可以是遥控器100a,包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。

控制装置100也可以是智能设备,如移动终端100b、平板电脑、计算机、笔记本电脑等。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,通过直观的用户界面(ui)为用户提供各种控制。

示例性的,移动终端100b可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以使移动终端100b与显示设备200建立控制指令协议,通过操作移动终端100b上提供的用户界面的各种功能键或虚拟按钮,来实现如遥控器100a布置的实体按键的功能。也可以将移动终端100b上显示的音视频内容传输到显示设备200上,实现同步显示功能。

显示设备200可提供广播接收功能和计算机支持功能的网络电视功能。显示设备可以实施为,数字电视、网络电视、互联网协议电视(iptv)等。

显示设备200,可以是液晶显示器、有机发光显示器、投影设备。具体显示设备类型、尺寸大小和分辨率等不作限定。

显示设备200还与服务器300通过多种通信方式进行数据通信。这里可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器300可以向显示设备200提供各种内容和互动。示例的,显示设备200可以发送和接收信息,例如:接收电子节目指南(epg)数据、接收软件程序更新、或访问远程储存的数字媒体库。服务器300可以一组,也可以多组,可以一类或多类服务器。通过服务器300提供视频点播和广告服务等其他网络服务内容。

图1b中示例性示出了控制装置100的配置框图。如图1b所示,控制装置100包括控制器110、存储器120、通信器130、用户输入接口140、输出接口150、供电电源160。

控制器110包括随机存取存储器(ram)111、只读存储器(rom)112、处理器113、通信接口以及通信总线。控制器110用于控制控制装置100的运行和操作,以及内部各部件之间的通信协作、外部和内部的数据处理功能。

示例性的,当检测到用户按压在遥控器100a上布置的按键的交互或触摸在遥控器100a上布置的触摸面板的交互时,控制器110可控制产生与检测到的交互相应的信号,并将该信号发送到显示设备200。

存储器120,用于在控制器110的控制下存储驱动和控制控制装置100的各种运行程序、数据和应用。存储器120,可以存储用户输入的各类控制信号指令。

通信器130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:控制装置100经由通信器130将控制信号(例如触摸信号或按钮信号)发送至显示设备200上,控制装置100可经由通信器130接收由显示设备200发送的信号。通信器130可以包括红外信号接口131和射频信号接口132。例如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。

用户输入接口140,可包括麦克风141、触摸板142、传感器143、按键144等中至少一者,从而用户可以通过语音、触摸、手势、按压等将关于控制显示设备200的用户指令输入到控制装置100。

输出接口150,通过将用户输入接口140接收的用户指令输出至显示设备200,或者,输出由显示设备200接收的图像或语音信号。这里,输出接口150可以包括led接口151、产生振动的振动接口152、输出声音的声音输出接口153和输出图像的显示器154等。例如,遥控器100a可从输出接口150接收音频、视频或数据等输出信号,并且将输出信号在显示器154上显示为图像形式、在声音输出接口153输出为音频形式或在振动接口152输出为振动形式。

供电电源160,用于在控制器110的控制下为控制装置100各元件提供运行电力支持。形式可以为电池及相关控制电路。

图1c中示例性示出了显示设备200的硬件配置框图。如图1c所示,显示设备200中可以包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、存储器260、用户接口265、视频处理器270、显示器275、音频处理器280、音频输入接口285、供电电源290。

调谐解调器210,通过有线或无线方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,用于从多个无线或有线广播电视信号中解调出用户所选择的电视频道的频率中所携带的音视频信号,以及附加信息(例如epg数据)。

调谐解调器210,可根据用户选择,以及由控制器250控制,响应用户选择的电视频道的频率以及该频率所携带的电视信号。

调谐解调器210,根据电视信号的广播制式不同,可以接收信号的途径有很多种,诸如:地面广播、有线广播、卫星广播或互联网广播等;以及根据调制类型不同,可以数字调制方式或模拟调制方式;以及根据接收电视信号的种类不同,可以解调模拟信号和数字信号。

在其他一些示例性实施例中,调谐解调器220也可在外部设备中,如外部机顶盒等。这样,机顶盒通过调制解调后输出电视信号,经过外部装置接口240输入至显示设备200中。

通信器220,是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如显示设备200可将内容数据发送至经由通信器220连接的外部设备,或者,从经由通信器220连接的外部设备浏览和下载内容数据。通信器220可以包括wifi模块221、蓝牙通信协议模块222、有线以太网通信协议模块223等网络通信协议模块或近场通信协议模块,从而通信器220可根据控制器250的控制接收控制装置100的控制信号,并将控制信号实现为wifi信号、蓝牙信号、射频信号等。

检测器230,是显示设备200用于采集外部环境或与外部交互的信号的组件。检测器230可以包括声音采集器231,如麦克风,可以用于接收用户的声音,如用户控制显示设备200的控制指令的语音信号;或者,可以采集用于识别环境场景类型的环境声音,实现显示设备200可以自适应环境噪声。

在其他一些示例性实施例中,检测器230,还可以包括图像采集器232,如相机、摄像头等,可以用于采集外部环境场景,以自适应变化显示设备200的显示参数;以及用于采集用户的属性或与用户交互手势,以实现显示设备与用户之间互动的功能。

在其他一些示例性实施例中,检测器230,还可以包括光接收器,用于采集环境光线强度,以自适应显示设备200的显示参数变化等。

在其他一些示例性实施例中,检测器230,还可以包括温度传感器,如通过感测环境温度,显示设备200可自适应调整图像的显示色温。示例性的,当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调;当温度偏低的环境时,可以调整显示设备200显示图像色温偏暖色调。

外部装置接口240,是提供控制器210控制显示设备200与外部设备间数据传输的组件。外部装置接口240可按照有线/无线方式与诸如机顶盒、游戏装置、笔记本电脑等外部设备连接,可接收外部设备的诸如视频信号(例如运动图像)、音频信号(例如音乐)、附加信息(例如epg)等数据。

其中,外部装置接口240可以包括:高清多媒体接口(hdmi)端子241、复合视频消隐同步(cvbs)端子242、模拟或数字分量端子243、通用串行总线(usb)端子244、组件(component)端子(图中未示出)、红绿蓝(rgb)端子(图中未示出)等任一个或多个。

控制器250,通过运行存储在存储器260上的各种软件控制程序(如操作系统和各种应用程序),来控制显示设备200的工作和响应用户的操作。

如图1c所示,控制器250包括随机存取存储器(ram)251、只读存储器(rom)252、图形处理器253、cpu处理器254、通信接口255、以及通信总线256。其中,ram251、rom252以及图形处理器253、cpu处理器254通信接口255通过通信总线256相连接。

rom252,用于存储各种系统启动指令。如在接收到开机信号时,显示设备200电源开始启动,cpu处理器254运行rom252中的系统启动指令,将存储在存储器260的操作系统拷贝至ram251中,以开始运行启动操作系统。当操作系统启动完成后,cpu处理器254再将存储器260中各种应用程序拷贝至ram251中,然后,开始运行启动各种应用程序。

图形处理器253,用于产生各种图形对象,如图标、操作菜单、以及用户输入指令显示图形等。图形处理器253可以包括运算器,用于通过接收用户输入各种交互指令进行运算,进而根据显示属性显示各种对象;以及包括渲染器,用于产生基于运算器得到的各种对象,将进行渲染的结果显示在显示器275上。

cpu处理器254,用于执行存储在存储器260中的操作系统和应用程序指令。以及根据接收的用户输入指令,来执行各种应用程序、数据和内容的处理,以便最终显示和播放各种音视频内容。

在一些示例性实施例中,cpu处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及多个或一个子处理器。主处理器,用于在显示设备预加载模式中执行显示设备200的一些初始化操作,和/或,在正常模式下显示画面的操作。多个或一个子处理器,用于执行在显示设备待机模式等状态下的一种操作。

通信接口255,可包括第一接口到第n接口。这些接口可以是经由网络被连接到外部设备的网络接口。

控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示的gui对象的用户输入命令,控制器250便可以执行与由用户输入命令选择的对象有关的操作。

其中,该对象可以是可选对象中的任何一个,例如超链接或图标。该与所选择的对象有关的操作,例如显示连接到超链接页面、文档、图像等操作,或者执行与对象相对应的程序的操作。该用于选择gui对象的用户输入命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。

存储器260,用于存储驱动和控制显示设备200运行的各种类型的数据、软件程序或应用程序。存储器260可以包括易失性和/或非易失性存储器。而术语“存储器”包括存储器260、控制器250的ram251和rom252、或显示设备200中的存储卡。

在一些实施例中,存储器260具体用于存储驱动显示设备200中控制器250的运行程序;存储显示设备200内置的和用户从外部设备下载的各种应用程序;存储用于配置由显示器275提供的各种gui、与gui相关的各种对象及用于选择gui对象的选择器的视觉效果图像等数据。

在一些实施例中,存储器260具体用于存储调谐解调器210、通信器220、检测器230、外部装置接口240、视频处理器270、显示器275、音频处理器280等的驱动程序和相关数据,从外部装置接口接收的外部数据(例如音视频数据)或用户接口接收的用户数据(例如按键信息、语音信息、触摸信息等)。

在一些实施例中,存储器260具体存储用于表示操作系统(os)的软件和/或程序,这些软件和/或程序可包括,例如:内核、中间件、应用编程接口(api)和/或应用程序。示例性的,内核可控制或管理系统资源,以及其它程序所实施的功能(如所述中间件、api或应用程序);同时,内核可以提供接口,以允许中间件、api或应用程序访问控制器,以实现控制或管理系统资源。

图1d中示例性示出了显示设备200存储器中操作系统的架构配置框图。该操作系统架构从上到下依次是应用层、框架层和内核层。

应用层,系统内置的应用程序以及非系统级的应用程序都是属于应用层。负责与用户进行直接交互。应用层可包括多个应用程序,如直播电视应用程序、视频点播应用程序、媒体中心应用程序、截图应用程序等。

直播电视应用程序,可以通过不同的信号源提供直播电视。例如,直播电视应用程可以使用来自有线电视、无线广播、卫星服务或其他类型的直播电视服务的输入提供电视信号。以及,直播电视应用程序可在显示设备200上显示直播电视信号的视频。

视频点播应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。例如,视频点播可以来自云存储的服务器端、来自包含已存视频节目的本地硬盘储存器。

媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。例如,媒体中心,可以为不同于直播电视或视频点播,用户可通过媒体中心应用程序访问存储器内存储的各种图像或音视频。

截图应用程序,可以对显示器上当前显示画面进行截图,并对画面截图图像中包含的识别物(如人物、频道台标、建筑等)进行诸如标识识别框、名称等的标注,以为用户提供显示画面中包含的各种识别物信息的展示功能。当前显示画面,可以是文字、图像、视频中的至少一个。

框架层,负责提供应用层所需要的api。例如,直播电视应用程序、视频点播应用程序、媒体中心应用程序可通过框架层提供的接口调用解码器进行音视频解码。又如,截图应用程序可通过框架层提供的接口调用已截取的当前显示画面的截图图像。

内核层,提供核心系统服务,例如:文件管理、内存管理、进程管理、网络管理、系统安全权限管理等服务。内核层可以被实现为基于各种操作系统的内核,例如,基于安卓操作系统的内核。

内核也同时提供系统软件和硬件之间的通信,为各种硬件提供设备驱动服务,例如:为显示器提供显示驱动程序、为摄像头提供摄像头驱动程序、为遥控器提供按键驱动程序、为wifi模块提供wifi驱动程序、为音频输出接口提供音频驱动程序、为电源管理(pm)模块提供电源管理驱动等。

用户接口265,接收各种用户交互。具体的,用于将用户的输入信号发送给控制器250,或者,将从控制器250的输出信号传送给用户。示例性的,遥控器100a可将用户输入的诸如电源开关信号、频道选择信号、音量调节信号等输入信号发送至用户接口265,再由用户接口265转送至控制器250;或者,遥控器100a可接收经控制器250处理从用户接口265输出的音频、视频或数据等输出信号,并且显示接收的输出信号或将接收的输出信号输出为音频或振动形式。

在一些实施例中,用户可在显示器275上显示的图形用户界面(gui)输入用户命令,则用户接口265通过gui接收用户输入命令。确切的说,用户接口265可接收用于控制选择器在gui中的位置以选择不同的对象或项目的用户输入命令。

或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户接口265通过传感器识别出声音或手势,来接收用户输入命令。视频处理器270,用于接收外部的视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频数据处理,可得到直接在显示器275上显示或播放的视频信号。

示例的,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。

其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入mpeg-2流(基于数字存储媒体运动图像和语音的压缩标准),则解复用模块将其进行解复用成视频信号和音频信号等。

视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。

图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的gui信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。

帧率转换模块,用于对输入视频的帧率进行转换,如将输入的60hz视频的帧率转换为120hz或240hz的帧率,通常的格式采用如插帧方式实现。

显示格式化模块,用于将帧率转换模块输出的信号,改变为符合诸如显示器显示格式的信号,如将帧率转换模块输出的信号进行格式转换以输出rgb数据信号。

显示器275,用于接收源自视频处理器270输入的图像信号,进行显示视频内容、图像以及菜单操控界面。显示视频内容,可以来自调谐解调器210接收的广播信号中的视频内容,也可以来自通信器220或外部装置接口240输入的视频内容。显示器275,同时显示显示设备200中产生且用于控制显示设备200的用户操控界面ui。

以及,显示器275可以包括用于呈现画面的显示屏组件以及驱动图像显示的驱动组件。或者,倘若显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。

音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等音频数据处理,得到可以在扬声器286中播放的音频信号。

示例性的,音频处理器280可以支持各种音频格式。例如mpeg-2、mpeg-4、高级音频编码(aac)、高效aac(he-aac)等格式。

音频输出接口285,用于在控制器250的控制下接收音频处理器280输出的音频信号,音频输出接口285可包括扬声器286,或输出至外接设备的发生装置的外接音响输出端子287,如耳机输出端子。

在其他一些示例性实施例中,视频处理器270可以包括一个或多个芯片组成。音频处理器280,也可以包括一个或多个芯片组成。

以及,在其他一些示例性实施例中,视频处理器270和音频处理器280,可以为单独的芯片,也可以与控制器250一起集成在一个或多个芯片中。

供电电源290,用于在控制器250的控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以是安装在显示设备200内部的内置电源电路,也可以是安装在显示设备200外部的电源。

需要说明的是,在上述图1a-1d的基础上,显示设备可以通过自身的声音采集器231(可实现为麦克风)或控制装置上的麦克风141接收用户输入的语音,而被控制执行其提供的各种内容所需的功能。

其中,显示设备内可设置语音助手应用程序,用于提供显示设备和用户之间的语音交互,从而实现用户通过语音控制显示设备执行各种功能。

例如,用户通过按压控制装置上的语音键的同时发出“查询某地天气预报”的语音,控制装置上的麦克风接收并识别该语音后传送至显示设备,显示设备可以响应于该语音指令,启动语音助手应用程序,并通过语音助手应用程序向服务器查询某地天气预报信息,进而在显示器上展示查询的天气预报信息,以及在音频输出接口播报查询的天气预报信息。

又如,用户发出“我要看某明星的电影”的语音,显示设备上的麦克风接收并识别该语音后,可以响应于该语音指令,启动语音助手应用程序,并通过语音助手应用程序向服务器查询某明星饰演的电影信息,进而在显示器上展示查询的电影信息,以及在音频输出接口播报查询的电影信息。

然而,例如,在显示设备正在播放一视频点播应用程序提供的音视频内容的过程中,用户需要对显示设备执行上述语音控制功能,此时,音频输出接口通常同时输出通过视频点播应用程序提供的音视频内容的声音、以及用户与显示设备之间通过语音助手应用程序进行交互而产生的声音,这样,实际上用户此时更关注与显示设备的语音交互,而非观看音视频内容,从而使得用户不易区分出语音助手应用程序输出的声音,不符合用户当前执行操作的用户意图。同时,由于麦克风不仅仅采集到用户输入语音,也可以采集到音视频内容的声音,一定程度上影响语音识别的准确率和效率。

因此,本实施例提供一种显示设备中应用程序的音频数据的输出控制方法,旨在上述示例中控制音频输出接口仅播放语音助手应用程序的音频数据,而不播放视频点播应用程序的音频数据,从而符合用户操作意图,提高用户听感体验。

本实施例中以图1d中存储器中的操作系统是安卓操作系统为例,对显示设备中各应用程序的音频数据的输出控制方法进行描述。

图2示出了显示设备中各应用程序的音频数据输出的架构示意图。

下面首先对本实施中涉及的安卓操作系统中的相关术语进行解释。

app:应用程序,具体指需要将音频数据输出到音频输出接口(如扬声器)的应用程序。

audiotrack:回放通路,具体指应用程序向显示设备申请的传输音频数据的通路。这里,每个应用程序需要申请自身对应的传输音频数据的通路。

audiomixer:混音单元,用于将各应用程序通过相应的audiotrack传输的音频数据进行叠加处理。

streamtype:音频流类型,用于表示audiotrack中传输的音频数据对应的音频流类型。例如音乐类型(stream_music)、通知类型(stream_notification)。

volume:音量,具体为音频流类型的音量;这里,可以调用setstreamvolume()方法来直接设置音频流类型的音量大小。

db:分贝(decibel),用于度量音频强度的计量单位。

还需说明的是,安卓操作系统中,在显示设备播放一app的音频数据时,也即该app使用诸如audiomixer、音频输出接口等音频资源时,需要先向显示设备的操作系统申请音频焦点(audiofocus),在该app获得音频焦点之后才可以使用音频资源。

如图2所示,需要播放音频数据的app1~appn,首先向显示设备的操作系统申请传输各自音频数据的audiotrack1~audiotrackn。之后通过申请的audiotrack将各自音频数据传输至audiomixer进行混音;在混音过程中,audiomixer依据各audiotrack传输的音频数据的分贝值(db)与音频流类型(streamtype)的音量(volume)进行叠加处理(该叠加处理可以简述为db*volume算法)。最后,audiomixer将混音后的音频数据通过音频驱动程序从音频输出接口(如扬声器)输出。

图3a-3b示出了显示设备中应用程序的音频数据的输出控制方法流程图。

结合图3a-3b来说,该方法包括以下步骤:

步骤s41:在播放app1~2的过程中,接收到app3的播放指令。

步骤s42:app3向操作系统申请传输其音频数据的audiotrack。

步骤s43:判断app3是否需要获取音频焦点;若是,则执行步骤s44;否则,结束流程。

步骤s44:修改操作系统为app3创建的audiotrack3中传输的音频数据的streamtype3。

具体的,app3向操作系统申请audiotrack时,框架层获取当前向操作系统申请audiotrack进程的进程号,进而查询到该进程号对应的app3的包名。显示设备内可以预存需要获取音频焦点的应用程序至白名单中,例如将语音助手应用程序的包名设置在白名单中;且该白名单中的应用程序可以动态调整。这样,框架层通过将白名单中预存的应用程序的包名与申请audiotrack进程对应的app3的包名进行比较,从而判断app3是否需要获取音频焦点。

例如,白名单中预存语音助手应用程序的包名。那么,框架层判断当前申请audiotrack进程对应的app3的包名是语音助手应用程序时,确定app3需要获取音频焦点,进而修改为app3创建的audiotrack3中传输的音频数据的streamtype3,如从stream_music修改为stream_special。

一些实施例中,操作系统为app1~3创建的audiotrack中传输的音频数据的streamtype可以均为相同类型,如为stream_music。这样,将为app3创建的audiotrack3中传输的音频数据的streamtype3由stream_music修改为stream_special,可以便于后续在audiomixer中混音时对该streamtype被修改的audiotrack进行识别,从而作出相应处理。

框架层判断当前申请audiotrack进程对应的app3的包名不是语音助手应用程序时,确定app3不需要获取音频焦点,则可不执行修改为app3创建的audiotrack3中传输的音频数据的streamtype3的步骤。

步骤s45:判断参与混音的各audiotrack中是否存在为app3创建的streamtype3被修改的audiotrack3;若是,则执行步骤s46后再执行步骤s47;否则,直接执行步骤s47。

步骤s46:将除streamtype3被修改的audiotrack3之外的其它audiotrack中streamtype的音量静音。

步骤s47:将参与混音的各audiotrack中的音频数据在audiomixer中进行叠加。

步骤s48:将混音后的音频数据输出至音频输出接口。

具体的,在audiomixer中进行混音时,参与混音的audiotrack1~3中,框架层判断存在音频数据的streamtype3被修改的为app3创建的audiotrack3、同时该audiotrack3处于激活状态时,将audiotrack1中音频数据的streamtype1和audiotrack2中音频数据的streamtype2的音量(volume)进行静音(即分别调用setstreamvolume()方法将streamtype1和streamtype2的音量设置为0),将audiotrack3中音频数据的streamtype3的音量进行保留,这样在将参与混音的audiotrack1~3中的音频数据按照db*volume算法进行叠加处理时,得出一混音数据(包括静音后的app1~2的音频数据和未作静音的app3的音频数据),从而用户从音频输出接口仅能听到app3的音频数据,符合用户当前的操作意图,提高了用户的听感体验。

框架层判断不存在音频数据的streamtype3被修改的为app3创建的audiotrack3时,直接将参与混音的audiotrack1~3中的音频数据按照db*volume算法进行叠加处理,这样得出多个应用程序的音频数据,从而用户从音频输出接口听到多个应用程序的音频数据。

这里,框架层判断audiotrack是否处于激活状态,具体指框架层判断app是否向其申请的audiotrack传输音频数据。若app向其申请的audiotrack传输音频数据,则该audiotrack处于激活状态;否则,该audiotrack处于非激活状态。

此外,在步骤s45中,框架层判断为app3创建的streamtype3被修改的audiotrack3切换为非激活状态或者已销毁(如显示设备接收到停止播放app3的指令时执行退出app3的步骤后),则框架层将步骤s46中其它audiotrack中streamtype的音量进行解静音,也即将其它audiotrack中streamtype的音量恢复为静音之前的级别(即分别调用setstreamvolume()方法将streamtype1和streamtype2的音量恢复之前),并且将参与混音的各audiotrack中的音频数据进行叠加后,再输出至音频输出接口。

如上面实施例所述,应用层中各应用程序正常向其申请的audiotrack中传输各自的音频数据,框架层在audiomixer中,通过控制需要获取音频焦点的目标应用程序的音频数据的输出音量被保留、以及通过控制其他应用程序的音频数据的输出音量被静音,之后将各应用程序的音频数据进行混音处理后输出至音频输出接口,这样用户从音频输出接口收听到的仅有保留输出音量的目标应用程序的音频数据,以符合用户当前的操作意图。

图4a-4b示出了显示设备中另一应用程序的音频数据的输出控制方法的流程图。结合图4a-4b来说,该方法包括以下步骤:

步骤s51:在播放app1~2的过程中,接收到app3的播放指令。

步骤s52:app3向操作系统申请传输其音频数据的audiotrack。

步骤s53:判断app3是否需要获取音频焦点;若是,则执行步骤s54;否则,结束流程。

步骤s54:将用于指示当前获取音频焦点的标志foucusflag修改成为app3创建的audiotrack3的进程号。

具体的,app3向操作系统申请audiotrack时,框架层获取当前向操作系统申请audiotrack进程的进程号,进而查询到该进程号对应的app3的包名。显示设备内可以预存需要获取音频焦点的应用程序至白名单中,例如将语音助手应用程序的包名设置在白名单中;且该白名单中的应用程序可以动态调整。这样,框架层通过将白名单中预存的应用程序的包名与申请audiotrack进程对应的app3的包名进行比较,从而判断app3是否需要获取音频焦点。

例如,白名单中预存语音助手应用程序的包名。那么,框架层判断当前申请audiotrack进程对应的app3的包名是语音助手应用程序时,确定app3需要获取音频焦点,进而将用于指示当前获取操作系统的音频焦点的标志foucusflag修改成为app3创建的audiotrack3的进程号,也即当前操作系统的音频焦点的foucusflag被app3申请的audiotrack3所激活,以表明当前是app3占用操作系统的音频焦点。

框架层判断当前申请audiotrack进程对应的app3的包名不是语音助手应用程序时,确定app3不需要获取音频焦点,则可不执行修改用于指示当前获取音频焦点的标志foucusflag的步骤。

步骤s55:判断用于指示当前获取音频焦点的标志foucusflag是否被其他audiotrack激活;若是,则执行步骤s56;否则,执行步骤s57。

步骤s56:向audiomixer中传输空的音频数据。

步骤s57:向audiomixer中传输真实的音频数据。

步骤s58:将参与混音的各audiotrack中的音频数据在audiomixer中进行叠加。

步骤s59:将混音后的音频数据输出至音频输出接口。

具体的,各audiotrack在向audiomixer传输音频数据时,框架层判断用于指示当前获取操作系统的音频焦点的标志foucusflag是否被其他audiotrack激活,从而判断是否向audiomixer中传输真实的音频数据。

例如,app3(如语音助手应用程序)向操作系统申请audiotrack后,操作系统为其创建audiotrack3,并将用于指示当前获取操作系统的音频焦点的标志foucusflag修改成audiotrack3的进程号,以标记app3占用操作系统的音频焦点。

那么,app1申请的audiotrack1向audiomixer传输其音频数据时,框架层判断用于指示当前获取操作系统的音频焦点的标志foucusflag被audiotrack3激活,表明app1当前失去操作系统的音频焦点,则向audiomixer中传输空的音频数据,具体可向audiomixer中写入0x0数据。

同理,app2申请的audiotrack2向audiomixer传输其音频数据时,框架层判断用于指示当前获取操作系统的音频焦点的标志foucusflag被audiotrack3激活,表明app2当前失去操作系统的音频焦点,则向audiomixer中传输空的音频数据,具体可向audiomixer中写入0x0数据。

然而,app3申请的audiotrack3向audiomixer传输其音频数据时,框架层判断用于指示当前获取操作系统的音频焦点的标志foucusflag被audiotrack3占用,也即未被其他audiotrack激活,表明app3当前占用操作系统的音频焦点,则向audiomixer中传输由app3送至audiotrack3的真实的音频数据。

这样,在将参与混音的audiotrack1~3中的音频数据在audiomixer中进行叠加时,由于app1申请的audiotrack1和app2申请的audiotrack2均将空的音频数据传输至audiomixer,仅app3申请的audiotrack3将真实的音频数据传输至audiomixer,所以,混音后仅得出app3的音频数据,从而用户从音频输出接口仅能听到app3的音频数据,符合当前用户的操作意图,提高了用户的听感体验。

此外,在步骤s53中,框架层判断app3不再使用音频焦点(如显示设备接收到停止播放app3的指令时执行退出app3的步骤后)时,则将用于指示当前获取音频焦点的标志foucsflag去激活,也即将用于指示当前获取音频焦点的标志foucusflag恢复为app3使用音频焦点之前,并且将参与混音的各audiotrack中的音频数据进行叠加后,再输出至音频输出接口。

如上面实施例所述,应用层中各应用程序正常向其申请的audiotrack中传输各自的音频数据,框架层中audiotrack向audiomixer传输音频数据过程中,通过控制向audiomixer传输需要获取音频焦点的目标应用程序的音频数据、以及通过控制向audiomixer不传输其他应用程序的音频数据,之后将目标应用程序的音频数据进行混音处理后输出至音频输出接口,这样用户从音频输出接口收听到的仅有保留的真实的目标应用程序的音频数据,以符合用户当前的操作意图。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

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