CN114339388B - 一种音频输出模式的控制方法及装置 - Google Patents
一种音频输出模式的控制方法及装置 Download PDFInfo
- Publication number
- CN114339388B CN114339388B CN202111482365.9A CN202111482365A CN114339388B CN 114339388 B CN114339388 B CN 114339388B CN 202111482365 A CN202111482365 A CN 202111482365A CN 114339388 B CN114339388 B CN 114339388B
- Authority
- CN
- China
- Prior art keywords
- audio data
- data stream
- audio
- time
- duration
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004891 communication Methods 0.000 claims description 21
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 235000008694 Humulus lupulus Nutrition 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种音频输出模式的控制方法及装置,用以解决音频输出中内存占用率高的问题。所述方法包括:媒体播放器接收第一音频数据流,所述第一音频数据流采用的音频格式为第一格式;所述媒体播放器监测用户设置的音频模式;当所述音频模式指示的输出音频数据流格式为第一格式时,输出所述第一音频数据流包括的音频数据;或者,当所述音频模式指示的输出音频数据流格式为第二格式时,将所述第一音频数据流解码为第二音频数据流,并输出所述第二音频数据流包括的音频数据,所述第二音频数据流采用的音频格式为所述第二格式。
Description
技术领域
本申请涉及音频处理技术领域,尤其涉及一种音频输出模式的控制方法及装置。
背景技术
当前电视支持脉冲编码调制(Pulse Code Modulation,PCM)数据以及原始音频的基本码流(Elementary Stream,ES)数据两种格式的音频数据。当PCM数据流(以下简称PCM流)音效不佳的情况下,可以选择直接输出原始音频的ES数据流(以下简称ES流),因此电视需要满足支持动态的不同音频格式的输出。其中一种是媒体播放器(Media Player)将ES流解码成PCM流传输给音频驱动(Audio Driver),Audio Driver将PCM流输出,当用户选择ES数据输出时,Media Player将PCM流编码成ES流再输出,再次编码的过程会使CPU资源的占用率变高。另一种是备份音频的ES流,即Media Player在接收到原始音频的ES数据后,先将ES流备份,然后将ES数据解码成PCM流。Audio Driver根据用户的选择决定输出PCM流或者备份的ES流,但是该方法要进行数据备份,造成内存资源的占用率高。
发明内容
本申请实施例提供了一种音频输出模式的控制方法及装置,用以解决音频输出中内存占用率高的问题。
第一方面,本申请实施例提供了一种音频输出模式的控制方法,包括:
媒体播放器接收第一音频数据流,所述第一音频数据流采用的音频格式为第一格式;所述媒体播放器监测用户设置的音频模式;当所述音频模式指示的输出音频数据流格式为第一格式时,输出所述第一音频数据流包括的音频数据;或者,当所述音频模式指示的输出音频数据流格式为第二格式时,将所述第一音频数据流解码为第二音频数据流,并输出所述第二音频数据流包括的音频数据,所述第二音频数据流采用的音频格式为所述第二格式。
基于上述方案,媒体播放器可以实时监测用户设置的音频输出模式,当用户设置的音频输出模式指示的输出音频数据流格式为第一格式时,直接输出第一格式的音频数据流,媒体播放器不对该音频数据流进行处理。当用户设置的音频输出模式指示的输出音频数据流格式为第二格式时,将第一音频数据流解码为第二格式的第二音频数据流,并输出第二音频数据流。该方案避免了二次编码,降低了内存的占用率。
一些实施例中,所述第一格式为基本码流格式,所述第二格式为脉冲编码调制格式。
基于上述方案,音频数据流对应的格式有两种,当第一格式的音频数据流的播放效果不是很好时,可以选择第二格式的音频数据流进行播放。
一些实施例中,当所述音频模式指示的输出音频数据流格式为第二格式时,所述方法还包括:接收视频流,所述视频流包括所述第二音频数据流对应的视频数据;获取当前次输出的音频数据的结束时间,并获取所述第二音频数据流中已输出的音频数据的第一时长;获取所述第二音频数据流中已播放的音频数据的第二时长;根据所述结束时间、所述第一时长以及所述第二时长确定所述第二音频数据流的当前播放进度;根据所述第二音频数据流的当前播放进度对所述第二音频数据流和所述视频流进行同步。
基于上述方案,当媒体设备同时播放音频数据流和视频流时,媒体播放器需要获取音频数据流的播放进度,使音频数据流和视频流同步,进而提高媒体设备的播放效果。
一些实施例中,根据所述结束时间、所述第一时长以及所述第二时长确定所述第二音频数据流的当前播放进度,包括:通过所述如下公式确定所述第二音频数据流的当前播放进度;T=T1-(S1-S2);
其中,T为所述第二音频数据流的当前播放进度;T1为所述当前输出的音频数据的结束时间,S1为所述第一时长,S2为所述第二时长。
基于上述方案,可以计算出第二音频数据流的当前播放进度,且计算方法简单,资源占用率低。
一些实施例中,当所述音频模式指示的输出音频数据流格式为第一格式时,所述方法还包括:获取视频流,所述视频流包括所述第一音频数据流对应的视频数据;获取所述第一音频数据流中包括当前次输出的音频数据的第一开始时间和上一次输出音频数据的第二开始时间以及第三时长;获取所述第一音频数据流中包括的当前次之前输出的音频数据的第四时长以及所述第一音频数据流包括的当前已播放的音频数据的第五时长;根据第一开始时间、第二开始时间、第三时长、第四时长以及第五时长确定所述第一音频数据流的当前播放进度;根据所述第一音频数据流的当前播放进度对所述第一音频数据流和所述视频流进行同步。
基于上述方案,当音频数据流对应的格式为第一格式时,媒体播放器还需要获取第一格式的音频数据流的当前播放进度,使音频数据流和视频流同步,进而提高媒体设备的播放效果。
一些实施例中,根据第一开始时间、第二开始时间、第三时长、第四时长以及第五时长确定所述第一音频数据流的当前播放进度,包括:根据上一次输出音频数据的第二开始时间以及第三时长确定的结束时间与所述第一开始时间之间连续时,确定所述第一音频数据流的开始时间与所述第五时长的和对应的时间为所述第一音频数据流的当前播放进度。
基于上述方案,在确定第一音频数据流的当前音频播放进度时,还需要判断当前次输出的音频数据流与上次一输出的音频数据流是否连续,连续时通过上述方法计算第一音频数据流的当前播放进度。
一些实施例中,根据第一开始时间、第二开始时间、第三时长、第四时长以及第五时长确定所述第一音频数据流的当前播放进度,包括:
根据上一次输出音频数据的第二开始时间以及第三时长确定的结束时间与所述第一开始时间之间不连续,并且所述第四时长小于或者等于第五时长时,确定所述第一音频数据流的开始时间与所述第五时长的和对应的时间为所述第一音频数据流的当前播放进度;或者,根据上一次输出音频数据的第二开始时间以及第三时长确定的结束时间与所述第一开始时间之间不连续,并且所述第四时长大于第五时长时,确定所述第一音频数据流的开始时间、所述第五时长以及时间差值的和对应的时间为所述第一音频数据流的当前播放进度;其中所述时间差值是所述第一开始时间减去所述结束时间的差。
基于上述方案,当当前次输出的音频数据流与上次一输出的音频数据流不连续时,还要计算不连续的时间差,进而获取音频数据流的当前播放进度,提高了准确度。
第二方面,本申请实施例提供了一种音频输出模式的控制装置,包括通信接口、处理器和扬声器;
所述通信接口,用于接收第一音频数据流,所述第一音频数据流采用的音频格式为第一格式;
所述处理器,用于监测用户设置的音频模式;当所述音频模式指示的输出音频数据流格式为第一格式时,向所述扬声器输出所述第一音频数据流包括的音频数据;或者,当所述音频模式指示的输出音频数据流格式为第二格式时,将所述第一音频数据流解码为第二音频数据流,向所述扬声器输出所述第二音频数据流包括的音频数据,所述第二音频数据流采用的音频格式为所述第二格式;
所述扬声器,用于接收所述处理器发送的音频数据并输出。
一些实施例中,所述第一格式为基本码流格式,所述第二格式为脉冲编码调制格式。
一些实施例中,所述通信接口,还用于:接收视频流,所述视频流包括所述第二音频数据流对应的视频数据;
所述处理器,还用于当所述音频模式指示的输出音频数据流格式为第二格式时,获取当前次输出的音频数据的结束时间,并获取所述第二音频数据流中已输出的音频数据的第一时长;获取所述第二音频数据流中已播放的音频数据的第二时长;根据所述结束时间、所述第一时长以及所述第二时长确定所述第二音频数据流的当前播放进度;根据所述第二音频数据流的当前播放进度对所述第二音频数据流和所述视频流进行同步。
一些实施例中,所述处理器,在根据所述结束时间、所述第一时长以及所述第二时长确定所述第二音频数据流的当前播放进度时,具体用于:
通过所述如下公式确定所述第二音频数据流的当前播放进度;
T=T1-(S1-S2);
其中,T为所述第二音频数据流的当前播放进度;T1为所述当前输出的音频数据的结束时间,S1为所述第一时长,S2为所述第二时长。
一些实施例中,所述通信接口,还用于:获取视频流,所述视频流包括所述第一音频数据流对应的视频数据;
所述处理器,还用于当所述音频模式指示的输出音频数据流格式为第一格式时,获取所述第一音频数据流中当前次输出的音频数据的第一开始时间和上一次输出音频数据的第二开始时间以及第三时长;获取所述第一音频数据流中包括的当前次之前输出的音频数据的第四时长以及所述第一音频数据流包括的当前已播放的音频数据的第五时长;根据第一开始时间、第二开始时间、第三时长、第四时长以及第五时长确定所述第一音频数据流的当前播放进度;根据所述第一音频数据流的当前播放进度对所述第一音频数据流和所述视频流进行同步。
一些实施例中,所述处理器,在根据第一开始时间、第二开始时间、第三时长、第四时长以及第五时长确定所述第一音频数据流的当前播放进度时,具体用于:根据上一次输出音频数据的第二开始时间以及第三时长确定的结束时间与所述第一开始时间之间连续时,确定所述第一音频数据流的开始时间与所述第五时长的和对应的时间为所述第一音频数据流的当前播放进度。
一些实施例中,所述处理器,在根据第一开始时间、第二开始时间、第三时长、第四时长以及第五时长确定所述第一音频数据流的当前播放进度时,具体用于:根据上一次输出音频数据的第二开始时间以及第三时长确定的结束时间与所述第一开始时间之间不连续,并且所述第四时长小于或者等于第五时长时,确定所述第一音频数据流的开始时间与所述第五时长的和对应的时间为所述第一音频数据流的当前播放进度;或者,
根据上一次输出音频数据的第二开始时间以及第三时长确定的结束时间与所述第一开始时间之间不连续,并且所述第四时长大于第五时长时,确定所述第一音频数据流的开始时间、所述第五时长以及时间差值的和对应的时间为所述第一音频数据流的当前播放进度;
其中所述时间差值是所述第一开始时间减去所述结束时间的差。
第三方面,本申请实施例提供了一种音频输出模式的控制装置,包括存储器与处理器;
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行第一方面以及第一方面包括的任一种可能的实现方式所述的方法。
第四方面,本申请实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行第一方面以及第一方面包括的任一种可能的实现方式所述的方法。
另外,第二方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面以及第一方面不同实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种现有技术的音频输出模式的控制方法示意图;
图2为本申请实施例提供的另一种现有技术的音频输出模式的控制方法示意图;
图3为本申请实施例提供的一种显示设备的使用场景的示意图;
图4为本申请实施例提供的控制装置的配置框图;
图5为本申请实施例提供的一种显示设备的硬件结构示意图;
图6为本申请实施例提供的一种显示设备的系统的示意图;
图7为本申请实施例提供的一种终端设备的结构示意图;
图8为本申请实施例提供的一种音频输出模式的控制方法的示意图;
图9为本申请实施例提供的另一种音频输出模式的控制方法的示意图;
图10为本申请实施例提供的一种音频数据流的当前播放进度的确定方法的流程示意图;
图11为本申请实施例提供的另一种音频数据流的当前播放进度的确定方法的流程示意图;
图12为本申请实施例提供的一种音频输出模式的控制方法的流程示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在介绍本申请实施例之前,首先对本申请实施例涉及的技术术语进行说明:
(1)基本码流(Elementary Stream,ES),是由编码器输出的用于传送音视频信号的原始码流。ES只包含一种内容的数据流,如只含视频或只含音频等。
(2)脉冲编码调制(Pulse Code Modulation,PCM)是数字通信的编码方式之一。PCM的主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。通过脉冲编码调制可以得到PCM格式的音频数据流。
当前显示装置支持通过音频回传功能(Audio Return Function,ARC)功放播放音频数据,ARC功放带有解码功能,可以支持原始的音频ES流播放,当电视的音频解码器解码出来的PCM数据音效不是很好的情况下,用户可以选择让电视直接输出解码前的ES流,通过功放自带的解码器解码音频,从而获得更好的音效效果。因此,需要一种控制音频输出模式的方法,满足音频播放设备支持动态输出PCM数据或者ES数据。
在一些场景中,媒体播放器(Media Player)本身具有解复用(demux)功能,可以将音视频文件中的音频数据流分离出来。MediaPlayer将接收到的ES格式的音频数据流(以下简称ES流)通过MediaPlayer内部的解码器解码成PCM格式的音频数据流(以下简称PCM流),然后将PCM流传输到音频驱动(Audio Driver)中。当用户选择输出音频数据流格式为PCM时,Audio Driver接收Media Player发送的PCM流,并直接将接收到PCM流输出到功放中。当用户选择ES流输出时,Audio Driver接收Media Player发送的PCM流,Audio Driver里有编码器,通过编码器将接收到的PCM流编码成ES流再输出到功放中,如图1所示。该方法将接收到的ES流全部直接解码成PCM流,在用户选择ES流输出时,再将解码后的PCM流编码成ES流输出,也就是进行了两次编码过程,CPU的资源占用高。
在另一些场景中,在Media Player在对接收到的音频数据流进行解码时,将ES流进行备份,如图2所示。Media Player接收到ES流,Media Player中的编码器将ES流解码成PCM流,同时将ES流进行一次备份,并将PCM流以及ES流发送到Audio Driver。Audio Driver根据用户选择的音频模式的输出音频数据流格式决定输出PCM流或者备份的ES流。该方案在解码时多了一次数据备份的过程,会造成内存资源占用高的问题。
基于此,本申请提出了一种音频输出模式的控制方法及装置,Media Player实时监测用户设置的音频输出模式,当监测到用户设置的音频模式指示的输出音频数据流格式为ES格式时,Media Player将接收到的ES音频数据流直接输出;当监测到用户设置的音频模式指示的输出音频数据流格式为PCM格式时,Media Player将接收到的ES格式的音频数据流进行处理得到PCM格式的音频数据流,并输出PCM格式的音频数据流。
下面,为了便于理解本申请的方案,将以不同场景下的多个实施例对本申请的方案进行说明。本申请提出的方案可以应用于终端设备中,本申请涉及的终端设备具备音频输出功能,比如可以是收音机、MP4、音箱、电脑、电视、智能手机或者平板电脑等。一些实施例中,本申请实施例涉及的终端设备还可以具有显示功能,示例性地,终端设备可以是音视频播放设备(或者称为显示设备),比如电视。
图3为根据实施例中显示设备的使用场景的示意图。如图3所示,显示设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100通过与显示设备200建立蓝牙连接或者红外连接以操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备200的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
在一些实施例中,智能设备300可以包括移动终端、平板电脑、计算机、笔记本电脑,增强现实(Augmented Reality,AR)或者虚拟现实(Virtual Reality,VR)设备等中的任意一种。在一些实施例中,也可以使用智能设备300以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,还可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制装置来接收用户的语音指令控制。一些场景中,显示设备200上配置触屏面板,触屏面板上设置有多个虚拟键,用户可以通过触屏面板上的多个虚拟键输入相应控制指令,来实现控制显示设备200的功能。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。服务器400可以为显示设备200提供音频数据流和视频流。
图4示例性示出了根据示例性实施例中控制装置100的配置框图。如图4所示,控制装置100包括处理器110、存储器120、通信接口130、用户输入/输出接口140、供电电源150。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起到用户与显示设备200之间交互中介作用。在一些实施例中,通信接口130用于和外部通信,包含WIFI芯片131,蓝牙组件132,NFC133或可替代模块中的至少一种。蓝牙组件包括用于发送及接收蓝牙信号的天线,还可以包括用于接收处理器110发送的指令的控制器,蓝牙组件可以用于在处理器110的控制下向外发送蓝牙信号或者接收外来的蓝牙信号。例如,处理器110可以通过蓝牙组件与显示设备200建立蓝牙连接,从而实现控制显示设备200。在一些实施例中,用户输入/输出接口140包含麦克风141,触摸板142,传感器143,按键144或可替代模块中的至少一种。
图5示例性的展示了显示设备200的硬件结构示意图。在一些实施例中,显示设备200包括:射频(radio frequency,RF)电路210、存储器220、显示单元230、摄像头240、传感器250、音频电路260、无线保真(Wireless Fidelity,Wi-Fi)模块270、处理器280、蓝牙组件281、电源290等部件。
RF电路210可用于在收发信息或通话过程中信号的接收和发送,可以接收基站的下行数据后交给处理器280处理;可以将上行数据发送给基站。存储器220可用于存储软件程序及数据、使得显示设备200能运行的操作系统及执行本申请实施例方法的代码。处理器280通过运行存储在存储器220的软件程序或数据,从而执行显示设备200的各种功能以及数据处理。
显示单元230可用于接收输入的数字或字符信息,产生与显示设备200的用户设置以及功能控制有关的信号输入。具体地,显示单元230可以包括设置在显示设备200正面的触摸屏231,可收集用户在其上或附近的触摸操作。显示单元230还可用于显示由用户输入的信息或提供给用户的信息以及显示设备200的各种菜单的图形用户界面(graphicaluser interface,GUI)。具体地,显示单元230可以包括设置在显示设备200正面的显示屏232。显示单元230可以用于显示本申请中的各种图形用户界面。
摄像头240可用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件把光信号转换成电信号,之后将电信号传递给处理器280转换成数字图像信号。
显示设备200还可以包括至少一种传感器250,比如加速度传感器251、距离传感器252、指纹传感器253、温度传感器254。
音频电路260、扬声器261、麦克风262可提供用户与显示设备200之间的音频接口。音频电路260可将接收到的音频数据转换后的电信号,传输到扬声器261,由扬声器261转换为声音信号输出。显示设备200还可配置音量按钮,用于调节声音信号的音量。另一方面,麦克风262将收集的声音信号转换为电信号,由音频电路260接收后转换为音频数据,再将音频数据输出至RF电路210以发送给比如另一显示设备,或者将音频数据输出至存储器220以便进一步处理。本申请中麦克风262可以获取用户的语音。显示设备200还包括Wi-Fi模块270,Wi-Fi模块270为用户提供了无线的宽带互联网访问。处理器280是显示设备200的控制中心,利用各种接口和线路连接整个显示设备的各个部分,通过运行或执行存储在存储器220内的软件程序,以及调用存储在存储器220内的数据,执行显示设备200的各种功能和处理数据。一些实施例中,处理器280可包括一个或多个处理单元。本申请中处理器280可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的处理方法。另外,处理器280与显示单元230耦接。
蓝牙组件281,用于通过蓝牙协议来与其他具有蓝牙组件的蓝牙设备进行信息交互。可以包括用于接收以及发送蓝牙信号的多根天线。
显示设备200还包括给各个部件供电的电源290(比如电池)。电源可以通过电源管理系统与处理器280逻辑相连,从而通过电源管理系统实现管理充电、放电以及功耗等功能。显示设备200还可配置有电源按钮,用于显示设备的开机和关机,以及锁屏等功能。
在一些实施例中,从软件层面来看,显示设备的系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程,参见图6。
需要说明的是,不同显示设备的硬件配置可能会有不同,因此上述图4-图6仅作为一种示例性的描述。
在一些实施例中,终端设备为了实现音频或者视频播放功能,终端设备中部署有媒体播放器310、音频驱动320。终端设备中还可以部署功放330。一些场景中,功放330可以部署在扬声器中。其中,媒体播放器310以及音频驱动320的功能可以由前面所述的一个或者多个处理器来实现。媒体播放器310用于接收音频数据流以及用户通过操作触发的指示音频模式的音频信号,根据接收的音频模式的音频信号对接收到的音频数据流进行处理。例如用户可以配置音频输出模式,比如可以通过使用音频播放应用或者音视频播放应用(APP)来设置音频输出模式。在用户通过音频播放应用设置音频输出模式后,音频播放应用可以广播给媒体播放器310。音频播放应用可以在公共的标识位来向媒体播放器310指示音频输出模式。比如音频播放应用在获取用户配置的音频输出模式后,配置公共的标识位的取值,不同的取值指示不同的音频输出模式。进而媒体播放器310根据公共的标识位的取值确定音频输出模式。媒体播放器310将处理后的音频数据流发送到音频驱动320中,音频驱动320接收到媒体播放器310发送的音频数据流后,将该音频数据流传输到功放330中,功放330对音频数据流输出,进而通过扬声器播放音频数据。
需要说明的是,图7所展示的终端设备的结构仅作为一种示例,本发明实施例对此不做限定。
下面结合实施例对本申请提供的方案进行详细说明。
参见图8所示,媒体播放器310接收到第一音频数据流,第一音频数据流采用的音频格式为第一格式,第一格式为ES格式。当媒体播放器310监测到用户设置的音频模式指示的输出音频数据流格式为第一格式时,媒体播放器310直接将接收到的第一音频数据流输出到音频驱动320中。当媒体播放器310监测到用户设置的音频模式指示的输出音频数据流的格式为第二格式时,第二格式为ES格式,媒体播放器310将接收到的第一音频数据流解码为第二格式的第二音频数据流,并将第二音频数据流发送到音频驱动320。
一些场景中,一些终端设备仅支持输出音频数据流,而不支持输出视频数据流,比如收音机、MP4等等;另一些场景中,一些终端设备既可以输出音频数据流,又可以输出视频数据流,比如说电视、电脑以及手机等等。当终端设备既包括音频数据流,又包括与音频数据流对应的视频数据流时,需要获取音频数据流的播放进度,进而使音频数据流与视频数据流同步。
在一些实施例中,当终端设备不仅支持输出音频数据流,还支持输出视频流时,媒体播放器310在输出音频数据流时,还会获取音频数据流的当前播放进度,并根据音频数据流的当前播放进度对音频数据流和视频流进行同步。下面对根据音频数据流的当前播放进度对音频数据流和视频流进行同步的方法进行说明,具体如下:
第一种可能的实现方式中,当输出的视频流对应的音频数据流采用的音频格式为PCM格式时,PCM格式对应的数据流为第二音频数据流。具体可以通过如下方式获取第二音频数据流的当前播放进度,参见图9所示。为了便于描述,后续对媒体播放器310以及音频驱动320的描述不再示例数字标识。
901,媒体播放器获取第二音频数据流中已输出的音频数据的时长,并确定当前次输出的音频数据的结束时间。
在一些实施例中,媒体播放器接收到的音频数据是一段一段的,多段音频数据属于一个音频数据流。媒体播放器对接收到的音频数据流进行处理,得到多段音频数据,并将处理后的每段音频数据发送到音频驱动中。媒体播放器向音频驱动发送音频数据时,音频数据中还可以包括音频数据的时间戳,时间戳表示该段音频数据的开始时间。此外,媒体播放器向音频驱动发送的某段音频数据中还携带该段音频数据的持续时长。媒体播放器在向音频驱动发送某段音频数据时,可以从该段频数据中获取该段音频数据的开始时间以及时长。作为一种举例,媒体播放器将第一段音频数据发送给音频驱动时,可以获取第一段音频数据的开始时间以及时长,并计算第一段音频数据的结束时间。媒体播放器将第二段音频数据发送给音频驱动时,可以第二段音频数据的开始时间以及时长,计算第二段音频数据的结束时间。因此,媒体播放器在向音频驱动发送当前次音频数据时,可以获取当前次输出的音频数据的开始时间以及时长,并确定当前次输出的音频数据的结束时间。媒体播放器通过第二音频数据中包括当前次输出的音频数据在内的多段音频数据的时长确定第二音频数据流中已输出的音频数据的时长,为了便于区分,将第二音频数据流中已输出的音频数据的时长称为第一时长。
902,获取第二音频数据流中已播放的音频数据的时长。
在一些实施例中,媒体播放器发送到音频驱动中的当前次音频数据可能并不是音频驱动中当前播放的音频数据。因此,媒体播放器已发送的音频数据的时长与音频驱动中已播放的音频数据的时长并不相同,媒体播放器需要获取第二音频数据流中已播放的音频数据的第二时长。音频驱动每次播放音频数据时,都会记录已播放的音频数据的时长。媒体播放器可以向音频驱动发送请求,用以获取已播放的音频数据的时长。音频驱动接收到该请求后,向媒体播放器发送已播放的音频数据流的时长,并将已播放的第二音频数据流的时长称为第二时长。
903,根据当前次输出的音频数据的结束时间、第二音频数据流中已输出的音频数据的时长以及已播放的音频数据的时长确定第二音频数据流的当前播放进度。
一些实施例中,可以将第二音频数据流中的当前次输出的音频数据的结束时间用T1表示,第二音频数据流中已输出的音频数据的第一时长用S1表示,第二音频数据流中已播放的音频数据的第二时长用S2表示,第二音频数据流的当前播放进度用T表示,则第二音频数据流的当前播放进度满足如下公式所示的条件:T=T1-(S1-S2)。
第二种可能的实现方式中,当输出的视频流对应的音频数据流采用的音频格式为ES格式时,媒体播放器获取第一音频数据流的当前播放进度,并根据第一音频数据流的当前播放进度对第一音频数据流和视频流进行同步。具体可以通过如下方式获取第一音频数据流的播放进度,参见图10所示。
1001,媒体播放器获取第一音频数据流中当前次输出的音频数据的第一开始时间和上一次输出音频数据的第二开始时间以及第三时长。
其中,第三时长为上一次输出的音频数据的持续时长。
1002,获取第一音频数据流中包括的当前次之前输出的音频数据的第四时长以及第一音频数据流包括的当前已播放的音频数据的第五时长。
比如,当前次输出为媒体播放器的第N次输出,则当前次之前的输出为N-1次输出。媒体播放器确定前N-1次输出的音频数据的总时长,为第四时长。媒体播放器从音频驱动中获取当前已播放的音频数据的时长为第五时长。
1003,根据第一开始时间、第二开始时间、第三时长、第四时长以及第五时长确定第一音频数据流的当前播放进度。
在一些实施例中,在根据第一开始时间、第二开始时间、第三时长、第四时长以及第五时长确定所述第一音频数据流的当前播放进度时,首先要判断媒体播放器当前次输出的音频数据是否会发生跳变,然后根据当前次输出的音频数据是否跳变对应的不同情况确定第一音频数据流的当前播放进度。图11示出了一种音频数据流的当前播放进度的确定方法,具体流程如下:
1101,获取第一音频数据流的第一开始时间、第二开始时间以及第三时长。
1102,根据第一音频数据流的第一开始时间、第二开始时间以及第三时长判断当前次输出的音频数据是否发生跳变。
在一些实施例中,根据上一次输出的音频数据的第二开始时间以及第三时长确定上一次输出的音频数据的结束时间,根据上一次输出的音频数据的结束时间与第一开始时间是否连续确定当前音频数据是否发生跳变。
一些场景中,当上一次输出的音频数据的结束时间与第一开始时间之间连续时,则当前次输出的音频数据未发生跳变,执行1103步骤。
另一些场景中,当上一次输出的音频数据的结束时间与第一开始时间之间不连续时,则当前次输出的音频数据发生跳变,执行1104步骤。
1103,根据第一音频数据流的开始时间以及第五时长确定第一音频数据流的当前播放进度。
示例性地,将第五时长用S3表示,第一音频数据流的开始时间用T2表示,第一音频数据流的当前播放进度用T表示,则第一音频数据流的当前播放进度满足如下公式所示的条件:T=T2+S3。
1104,判断当前次输出的音频数据的跳变情况。
当媒体播放器当前次输出的音频数据发生跳变时,分为两种情况:跳大和跳小。当当前次输出的音频数据的开始时间减去上一次输出的音频数据的结束时间获得的时间差大于第一设定阈值时,将这种音频数据的跳变称为跳大。当当前次输出的音频数据跳大时,执行步骤1105。当当前次输出的音频数据的开始时间减去上一次输出的音频数据的结束时间获得的时间差小于第二设定阈值时,将这种音频数据的跳变称为跳小。当当前次输出的音频数据跳小时,执行步骤1107。
1105,确定当前次输出的音频数据的跳大时间。
当当前次输出的音频数据跳大时,媒体播放器根据当前次之前的上一次输出的音频数据的第二开始时间以及第三时长确定上一次输出音频数据的结束时间。根据上一次输出音频数据的结束时间与当前次输出的音频数据的第一开始时间,得到跳大时间。示例性地,将上一次输出音频数据的结束时间用T3表示,当前次输出的音频数据的第一开始时间用T4表示,跳大时间用S4表示,则跳大时间满足如下公式所示的条件:S4=T4-T3。
1106,根据跳大时间、第五时长以及第一音频数据流的开始时间确定第一音频数据流的当前播放进度。
一些实施例中,当第一音频数据流包括的当前已播放的音频数据的时长大于第一音频数据流中包括的当前次之前输出的音频数据的总时长,即第五时长大于第四时长时,根据第五时长以及跳大时间计算第一音频数据流的当前播放进度。示例性地,将第五时长用S3表示,第一音频数据流的当前播放进度用T表示,则第一音频数据流的当前播放进度为:T=T2+S3+S4。
另一些实施例中,当第一音频数据流包括的当前已播放的音频数据的时长小于或等于第一音频数据流中包括的当前次之前输出的音频数据的总时长,即第五时长小于或等于第四时长时,第一音频数据流的当前播放进度为:T=T2+S3。
1107,确定当前次输出的音频数据的跳小时间。
当当前次输出的音频数据跳小时,媒体播放器根据当前次之前的上一次输出的音频数据的第二开始时间以及第三时长确定上一次输出音频数据的结束时间。根据上一次输出音频数据的结束时间与当前次输出的音频数据的第一开始时间,得到跳小时间。示例性地,将上一次输出音频数据的结束时间用T5表示,当前次输出的音频数据的第一开始时间用T6表示,跳小时间用S5表示,则跳小时间满足如下公式所示的条件:S5=T5–T6。
1108,根据跳小时间,第五时长以及第一音频数据流的开始时间确定第一音频数据流的当前播放进度。
一些实施例中,当第一音频数据流包括的当前已播放的音频数据的时长大于第一音频数据流中包括的当前次之前输出的音频数据的总时长,即第五时长大于第四时长时,根据第五时长以及跳小时间计算第一音频数据流的当前播放进度。示例性地,将第五时长用S6表示,第一音频数据流的当前播放时长用T表示,则第一段音频数据流的播放进度为:T=T2+S6+S5。
另一些实施例中,当第一音频数据流包括的当前已播放的音频数据的时长小于或等于第一音频数据流中包括的当前次之前输出的音频数据的总时长,即第五时长小于或等于第四时长时,第一音频数据流的播放进度为:T=T2+S6。
一些实施例中,当确定当前次输出的音频数据发生跳变时,可以不对跳变进行跳大和跳小的分析,直接确定第一音频数据流的当前播放进度。例如,当第一音频数据流中包括的当前次之前输出的音频数据的第四时长小于或者等于第一音频数据流包括的当前已播放的音频数据的第五时长时,确定第一音频数据流的开始时间与第五时长的和对应的时间为第一音频数据流的当前播放进度。或者,当第一音频数据流中包括的当前次之前输出的音频数据的第四时长大于第一音频数据流包括的当前已播放的音频数据的第五时长时,确定第一开始时间减去所述结束时间的差为跳变时长。确定第一音频数据流的开始时间、第五时长以及跳变时长的和对应的时间为所述第一音频数据流的当前播放进度。
下面结合附图对本申请实施例提供的方案进行描述。
本申请实施例提供了一种音频输出模式的控制方法,图12示例性地示出了音频输出模式的控制方法的流程,该方法可由终端设备执行,或者终端设备中的媒体播放器310来实现。以方法由终端设备中的媒体播放器310为例进行说明,为了便于描述,后续不再对终端设备的各个组件的标识进行示例。
1201,媒体播放器接收第一音频数据流,第一音频数据流采用的音频格式为第一格式。
在一些实施例中,音频数据流在传输过程中采用的是ES流,因此媒体播放器接收到的第一音频数据流的音频格式为ES流,即第一格式为ES格式。
1202,媒体播放器监测用户设置的音频模式。
在一些实施例中,用户可以设置不同的音频模式,比如可以从第一音频模式切换到第二音频模式。其中,第一音频模式与第二音频模式指示的输出音频数据流格式分别为第一格式与第二格式。媒体播放器会监测用户设置的音频模式,输出与用户设置的音频模式指示的输出音频数据流格式对应的音频数据流。例如,媒体播放器中可以设置监听模块,该监听模块可以实时的监测用户设置的音频输出模式。当监听模块监测到用户切换音频输出模式时,控制媒体播放器对音频数据流的音频数据进行处理。
1203,当用户设置的音频模式指示的输出音频数据流格式为第一格式时,输出第一音频数据流;当用户设置的音频模式指示的输出音频数据流格式为第二格式时,将第一音频数据流解码成第二音频数据流,并输出第二音频数据流。
作为一种举例,媒体播放器接收到的音频数据流为ES流,当媒体播放器监测到用户设置的音频模式指示的输出音频数据流格式为ES格式时,媒体播放器直接将接收到的ES流输出。当媒体播放器监测到用户设置的音频模式指示输出的音频数据流格式为PCM格式时,将接收到的ES流解码为PCM流并输出。
通过上述方案,媒体播放器实时监测用户设置的音频模式,当用户设置的音频模式指示的输出音频数据流为PCM流时,媒体播放器对接收到的ES流进行解码获得PCM流,并输出PCM流。当用户设置的音频模式指示的输出音频数据流为ES流时,媒体播放器直接将接收到的ES流输出,不再对其进行处理,避免了二次编码过程,节省了内存资源。
可选地,音频输出模式的控制方法还可以包括步骤1204:
1204,获取视频流以及音频数据流的当前播放进度,根据音频数据流的当前播放进度对音频数据流和视频流进行同步。
在一些实施例中,当终端设备不仅支持输出音频数据流,又支持输出视频流时,媒体播放器可以获取音频数据流的当前播放进度,根据音频数据流的当前播放进度对音频数据流和视频流进行同步。
一些场景中,当终端设备同时输出视频流和音频数据流且用户设置的音频模式指示输出的音频数据的音频格式为第二格式时,获取视频流,该视频流包括第二音频数据流对应的视频数据。媒体播放器获取第二音频数据流的当前播放进度,并根据第二音频数据流的当前播放进度对第二音频数据流和视频流进行同步。具体地,媒体播放器获取当前次输出的音频数据的开始时间与时长,确定当前次输出的音频数据的结束时间以及第二音频数据流中已输出的音频数据的第一时长,并从音频驱动中获取第二音频数据流中已播放的音频数据的第二时长。根据结束时间、第一时长以及第二时长确定第二音频数据流的当前播放进度,第二音频的当前播放进度满足如下公式所示的条件:
T=T1-(S1-S2);
其中,T为第二音频数据流的当前播放进度;T1为当前输出的音频数据的结束时间,S1为第一时长,S2为第二时长。
根据获得的第二音频数据流的播放进度调整视频流的播放进度,使第二音频数据流和视频流同步播放。
在另一些场景中,当终端设备同时输出视频流和音频数据流且用户设置的音频模式指示输出的音频数据的音频格式为第一格式时,获取视频流,该视频流包括第一音频数据流对应的视频数据。媒体播放器获取第一音频数据流的当前播放进度,并根据第一音频数据流的当前播放进度对第一音频数据流和视频流进行同步。具体地,媒体播放器获取第一音频数据流中当前次输出的音频数据的第一开始时间和上一次输出音频数据的第二开始时间以及第三时长;获取第一音频数据流中包括的当前次之前输出的音频数据的第四时长以及第一音频数据流包括的当前已播放的音频数据的第五时长;根据第一开始时间、第二开始时间、第三时长、第四时长以及第五时长确定第一音频数据流的当前播放进度。
在一些实施例中,媒体播放器根据上一次输出的音频数据的第二开始时间以及第三时长确定上一次输出的音频数据的结束时间。当上一次输出的音频数据的结束时间与第一开始时间连续时,确定第一音频数据流的开始时间与第五时长的和对应的时间为所述第一音频数据流的当前播放进度。
在另一些实施例中,媒体播放器根据上一次输出的音频数据的第二开始时间以及第三时长确定上一次输出的音频数据的结束时间。当上一次输出的音频数据的结束时间与第一开始时间不连续,并且第四时长小于或者等于第五时长时,确定第一音频数据流的开始时间与第五时长的和对应的时间为第一音频数据流的当前播放进度;或者,根据上一次输出音频数据的第二开始时间以及第三时长确定上一次输出的音频数据的结束时间;当上一次输出的音频数据的与第一开始时间不连续,并且第四时长大于第五时长时,确定第一音频数据流的开始时间、第五时长以及时间差值的和对应的时间为第一音频数据流的当前播放进度,其中时间差值是第一开始时间减去所述结束时间的差。
根据第一音频数据流的当前播放进度调整视频流的播放进度,使第一音频数据流和视频流同步播放。
基于相同的技术构思,本申请提供了一种音频输出模式的控制装置,控制装置1300能够执行上述方法中的各个步骤,为了避免重复,此处不再详述。示例性地,控制装置1300包括:获取单元1301、监测单元1302、处理单元1303。
获取单元1301,用于获取第一音频数据流,所述第一音频数据流采用的音频格式为第一格式;
监测单元1302,用于监测用户设置的音频模式;
处理单元1303,用于当所述音频模式指示的输出音频数据流格式为第一格式时,输出所述第一音频数据流包括的音频数据;或者,当所述音频模式指示的输出音频数据流格式为第二格式时,将所述第一音频数据流解码为第二音频数据流,并输出所述第二音频数据流包括的音频数据,所述第二音频数据流采用的音频格式为所述第二格式。处理单元1303具体的处理方式可以参见前面的描述,此处不再赘述。
基于相同的技术构思,本申请提供了一种音频输出模式的控制装置1400,控制装置1400能够执行上述方法中的各个步骤,为了避免重复,此处不再详述。控制装置1400包括,包括通信接口1401、处理器1402和扬声器1403。
一些实施例中,通信接口1401,用于接收第一音频数据流,所述第一音频数据流采用的音频格式为第一格式。所述处理器1402,用于监测用户设置的音频模式;当所述音频模式指示的输出音频数据流格式为第一格式时,向所述扬声器输出所述第一音频数据流包括的音频数据;或者,当所述音频模式指示的输出音频数据流格式为第二格式时,将所述第一音频数据流解码为第二音频数据流,向所述扬声器输出所述第二音频数据流包括的音频数据,所述第二音频数据流采用的音频格式为所述第二格式。所述扬声器1403,用于接收所述处理器发送的音频数据并输出。
基于相同的技术构思,本申请提供了一种音频输出模式的控制装置1500,控制装置1500包括:处理器1501和存储器1502。
存储器1501,用于存储程序指令;
处理器1502,用于调用存储器中存储的程序指令,按照获得的程序执行上述音频输出模式的控制方法。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (9)
1.一种音频输出模式的控制方法,其特征在于,包括:
媒体播放器接收第一音频数据流,所述第一音频数据流采用的音频格式为第一格式;
所述媒体播放器监测用户设置的音频模式;
当所述音频模式指示的输出音频数据流格式为第一格式时,输出所述第一音频数据流包括的音频数据;
当所述音频模式指示的输出音频数据流格式为第二格式时,将所述第一音频数据流解码为第二音频数据流,并输出所述第二音频数据流包括的音频数据,所述第二音频数据流采用的音频格式为所述第二格式;
其中,所述第一格式为基本码流格式,所述第二格式为脉冲编码调制格式。
2.如权利要求1所述的方法,其特征在于,当所述音频模式指示的输出音频数据流格式为第二格式时,所述方法还包括:
接收视频流,所述视频流包括所述第二音频数据流对应的视频数据;
获取当前次输出的音频数据的结束时间,并获取所述第二音频数据流中已输出的音频数据的第一时长;
获取所述第二音频数据流中已播放的音频数据的第二时长;
根据所述结束时间、所述第一时长以及所述第二时长确定所述第二音频数据流的当前播放进度;
根据所述第二音频数据流的当前播放进度对所述第二音频数据流和所述视频流进行同步。
3.如权利要求2所述的方法,其特征在于,根据所述结束时间、所述第一时长以及所述第二时长确定所述第二音频数据流的当前播放进度,包括:
通过如下公式确定所述第二音频数据流的当前播放进度;
T=T1-(S1-S2);
其中,T为所述第二音频数据流的当前播放进度;T1为所述当前次输出的音频数据的结束时间,S1为所述第一时长,S2为所述第二时长。
4.如权利要求1所述的方法,其特征在于,当所述音频模式指示的输出音频数据流格式为第一格式时,所述方法还包括:
获取视频流,所述视频流包括所述第一音频数据流对应的视频数据;
获取所述第一音频数据流中当前次输出的音频数据的第一开始时间和上一次输出音频数据的第二开始时间以及第三时长;
获取所述第一音频数据流中包括的当前次之前输出的音频数据的第四时长以及所述第一音频数据流包括的当前已播放的音频数据的第五时长;
根据第一开始时间、第二开始时间、第三时长、第四时长以及第五时长确定所述第一音频数据流的当前播放进度;
根据所述第一音频数据流的当前播放进度对所述第一音频数据流和所述视频流进行同步。
5.如权利要求4所述的方法,其特征在于,根据第一开始时间、第二开始时间、第三时长、第四时长以及第五时长确定所述第一音频数据流的当前播放进度,包括:
根据上一次输出音频数据的第二开始时间以及第三时长确定的结束时间与所述第一开始时间之间连续时,确定所述第一音频数据流的开始时间与所述第五时长的和对应的时间为所述第一音频数据流的当前播放进度。
6.如权利要求4所述的方法,其特征在于,根据第一开始时间、第二开始时间、第三时长、第四时长以及第五时长确定所述第一音频数据流的当前播放进度,包括:
根据上一次输出音频数据的第二开始时间以及第三时长确定的结束时间与所述第一开始时间之间不连续,并且所述第四时长小于或者等于第五时长时,确定所述第一音频数据流的开始时间与所述第五时长的和对应的时间为所述第一音频数据流的当前播放进度;或者,
根据上一次输出音频数据的第二开始时间以及第三时长确定的结束时间与所述第一开始时间之间不连续,并且所述第四时长大于第五时长时,确定所述第一音频数据流的开始时间、所述第五时长以及时间差值的和对应的时间为所述第一音频数据流的当前播放进度;
其中所述时间差值是所述第一开始时间减去所述结束时间的差。
7.一种音频输出模式的控制装置,其特征在于,包括通信接口、处理器和扬声器;
所述通信接口,用于接收第一音频数据流,所述第一音频数据流采用的音频格式为第一格式;
所述处理器,用于监测用户设置的音频模式;当所述音频模式指示的输出音频数据流格式为第一格式时,向所述扬声器输出所述第一音频数据流包括的音频数据;当所述音频模式指示的输出音频数据流格式为第二格式时,将所述第一音频数据流解码为第二音频数据流,向所述扬声器输出所述第二音频数据流包括的音频数据,所述第二音频数据流采用的音频格式为所述第二格式;
所述扬声器,用于接收所述处理器发送的音频数据并输出;
其中,所述第一格式为基本码流格式,所述第二格式为脉冲编码调制格式。
8.如权利要求7所述的装置,其特征在于,所述通信接口还用于接收视频流,所述视频流包括所述第二音频数据流对应的视频数据;
所述处理器,还用于获取当前次输出的音频数据的结束时间,并获取所述第二音频数据流中已输出的音频数据的第一时长;获取所述第二音频数据流中已播放的音频数据的第二时长;根据所述结束时间、所述第一时长以及所述第二时长确定所述第二音频数据流的当前播放进度;根据所述第二音频数据流的当前播放进度对所述第二音频数据流和所述视频流进行同步。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111482365.9A CN114339388B (zh) | 2021-12-07 | 2021-12-07 | 一种音频输出模式的控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111482365.9A CN114339388B (zh) | 2021-12-07 | 2021-12-07 | 一种音频输出模式的控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114339388A CN114339388A (zh) | 2022-04-12 |
CN114339388B true CN114339388B (zh) | 2024-09-10 |
Family
ID=81049111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111482365.9A Active CN114339388B (zh) | 2021-12-07 | 2021-12-07 | 一种音频输出模式的控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114339388B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116368460A (zh) * | 2023-02-14 | 2023-06-30 | 北京小米移动软件有限公司 | 音频处理方法、装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105913860A (zh) * | 2015-12-18 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | 多播放器共同播放高保真声音的方法及装置 |
CN109640162A (zh) * | 2018-12-25 | 2019-04-16 | 北京数码视讯软件技术发展有限公司 | 码流转换方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003289434A1 (en) * | 2002-12-20 | 2004-07-14 | Matsushita Electric Industrial Co., Ltd. | Data stream format conversion method and recording method for the same |
CN100527849C (zh) * | 2005-12-02 | 2009-08-12 | 上海奇码数字信息有限公司 | 音频解码方法、音频解码器及其中的平滑滤波方法 |
CN105374358A (zh) * | 2014-08-15 | 2016-03-02 | 中兴通讯股份有限公司 | 一种自适应音频输出的方法、装置、音频发送端及系统 |
CN105979347A (zh) * | 2015-12-03 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种视频的播放方法和装置 |
CN108809921B (zh) * | 2017-07-31 | 2021-08-06 | 视联动力信息技术股份有限公司 | 一种音频处理方法、视联网服务器和视联网终端 |
CN108540842B (zh) * | 2018-04-18 | 2021-02-12 | 广州华多网络科技有限公司 | 音频播放设备、音频播放方法、设备及存储介质 |
-
2021
- 2021-12-07 CN CN202111482365.9A patent/CN114339388B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105913860A (zh) * | 2015-12-18 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | 多播放器共同播放高保真声音的方法及装置 |
CN109640162A (zh) * | 2018-12-25 | 2019-04-16 | 北京数码视讯软件技术发展有限公司 | 码流转换方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114339388A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10575047B2 (en) | Decoding apparatus, decoding method, encoding apparatus, and encoding method | |
CN107481709B (zh) | 音频数据传输方法及装置 | |
CN104885475B (zh) | 回放设备、回放方法及记录介质 | |
CN111757171A (zh) | 一种显示设备及音频播放方法 | |
US10425758B2 (en) | Apparatus and method for reproducing multi-sound channel contents using DLNA in mobile terminal | |
KR102148001B1 (ko) | 디스플레이 장치 및 디스플레이 장치의 제어 방법 | |
US9531763B2 (en) | Apparatus and method for reproducing contents using digital living network alliance in mobile terminal | |
CN111462746A (zh) | 基于tws耳机的控制方法、系统、装置和设备 | |
CN105122818A (zh) | 计算机系统、分发控制系统、分发控制方法和计算机可读存储介质 | |
CN114339388B (zh) | 一种音频输出模式的控制方法及装置 | |
KR20150017205A (ko) | 기능 확장장치, 디스플레이 장치 및 이의 제어 방법 | |
CN113691790A (zh) | 多媒体数据处理方法及装置、电子设备及存储介质 | |
CN111263223A (zh) | 一种媒体音量调节方法及显示设备 | |
CN111726695B (zh) | 显示设备及音频合成方法 | |
CN114422840B (zh) | 音轨切换的方法及装置 | |
CN112449235A (zh) | 配对方法、配对装置及电视终端 | |
CN115988277B (zh) | 智能电视控制方法、电子设备及可读存储介质 | |
CN111787117A (zh) | 数据传输方法及显示设备 | |
JP2005176218A (ja) | データ送受信装置及びデータ送受信システム | |
CN113115105B (zh) | 一种显示设备及配置wisa扬声器的提示方法 | |
CN111711835B (zh) | 多路音视频整合方法、系统及计算机可读存储介质 | |
CN114071056B (zh) | 视频数据显示方法及显示设备 | |
US20150002429A1 (en) | Host apparatus, display apparatus, method of controlling host apparatus, and method of controlling display apparatus | |
KR20240002115A (ko) | 전자 장치 및 그의 동작 방법 | |
CN118233694A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |