一种跨设备的音频图像同步播放的方法、装置及系统与流程

文档序号:11931602阅读:305来源:国知局
一种跨设备的音频图像同步播放的方法、装置及系统与流程

本发明涉及音频图像同步技术领域,特别是涉及一种跨设备的音频图像同步播放的方法、装置及系统。



背景技术:

在智能电视或机顶盒等大屏幕设备上观看视频日趋流行,然而,在某些场合,例如,为免影响他人工作或学习,用户需要将大屏幕设备上的音频通过耳机等其他设备播放。

现有技术中,通常直接通过有线连接或蓝牙等其他设备来播放大屏幕设备上的音频,但是,直接有线连接对于用户来说,使用时会受到线的长度的限制,使用很不方便,而蓝牙设备则有硬件限制。因此,亟需提供一种简单通用的跨设备的音频图像同步播放的方法。



技术实现要素:

本发明实施例的目的在于提供一种跨设备的音频图像同步播放的方法、装置及系统,以实现在不同设备间音频图像的同步播放。具体技术方案如下:

一种跨设备的音频图像同步播放的方法,包括:

第一设备在本地获取音频数据并发送给第二设备;

所述第一设备获取音频延时时间,在到达所述音频延时时间后播放与所述音频数据对应的图像。

如上所述的方法,其中,所述第一设备在本地获取音频数据并发送给第二设备,包括:

所述第一设备关闭本地声音输出,并通过系统录音获取所述音频数据;

所述第一设备对所述音频数据编码后发送给所述第二设备。

如上所述的方法,其中,所述第一设备获取音频延时时间,包括:

所述第一设备计时得到编码延时时间;所述编码延时时间是所述第一设备对所述音频数据的第一个脉冲编码调制PCM数据包进行编码所用的时间;

所述第一设备通过向所述第二设备发送网络发送延时请求,获取与所述第二设备之间发送所述音频数据的平均网络延时时间,并获取所述第二设备的解码延时时间、缓存延时时间以及播放延时时间;

所述第一设备计算所述编码延时时间、所述平均网络延时时间、所述第二设备的解码延时时间、所述缓存延时时间以及所述播放延时时间之和,得到所述音频延时时间。

如上所述的方法,其中,所述第一设备通过向所述第二设备发送网络发送延时请求,获取与所述第二设备之间发送所述音频数据的平均网络延时时间,包括:

所述第一设备记录向所述第二设备发送所述网络发送延时请求的发送时间、接收到所述第二设备发送的网络发送延时响应的接收时间;其中,所述网络发送延时响应中包含所述第二设备的解码延时时间、所述缓存延时时间以及所述播放延时时间;

所述第一设备根据所述发送时间、所述接收时间以及所记录的所述发送时间和接收时间的数量,计算得到所述平均网络延时时间。

如上所述的方法,其中,所述第一设备获取音频延时时间,在到达所述音频延时时间后播放与所述音频数据对应的图像之后,还包括:

所述第一设备接收所述第二设备发送的暂停播放命令,并暂停播放所述图像;

所述第一设备向所述第二设备发送暂停播放响应,并向所述第二设备发送静默音频数据。

如上所述的方法,其中,所述第一设备向所述第二设备发送暂停播放响应,并暂停播放所述图像之后,还包括:

所述第一设备接收所述第二设备发送的恢复播放命令,并恢复播放所述图像;

所述第一设备向所述第二设备发送恢复播放响应,并恢复向所述第二设备发送正常的音频数据。

如上所述的方法,其中,所述第一设备获取音频延时时间,在到达所述音频延时时间后播放与所述音频数据对应的图像之后,还包括:

所述第一设备接收所述第二设备发送的拖动命令;所述拖动命令中包含快进命令或快退命令;所述快进命令用于快进播放所述图像,所述快退命令用于快退播放所述图像;

所述第一设备向所述第二设备发送拖动响应;

所述第一设备根据所述拖动命令,重新通过系统录音获取所述音频数据并发送给所述第二设备。

如上所述的方法,其中,所述第一设备在本地获取音频数据并发送给第二设备之前,还包括:

所述第一设备接收所述第二设备发送的同步连接建立请求;其中,所述同步连接建立请求中包含所述第二设备的互联网协议IP地址信息和端口信息;

所述第一设备根据所述IP地址信息和端口信息,建立与所述第二设备之间的同步连接。

一种跨设备的音频图像同步播放的方法,包括:

第二设备接收第一设备发送的音频数据;

所述第二设备对所述音频数据进行解码并缓存;

所述第二设备在到达预设的缓存延时时间后播放所述音频数据。

如上所述的方法,其中,还包括:

所述第二设备对所述音频数据进行解码的同时,计时得到解码延时时间;所述解码延时时间是所述第二设备对所述音频数据的第一个脉冲编码调制PCM数据包进行解码所用的时间。

如上所述的方法,其中,所述第二设备在到达预设的缓存延时时间后播放所述音频数据之前,还包括:

所述第二设备接收所述第一设备发送的网络发送延时请求;

所述第二设备向所述第一设备发送网络发送延时响应;其中,所述网络发送延时响应中包含所述第二设备的所述解码延时时间、所述缓存延时时间以及播放延时时间。

如上所述的方法,其中,所述第二设备在到达预设的缓存延时时间后播放所述音频数据之后,还包括:

所述第二设备从开始播放所述音频数据时记录系统时间P;

所述第二设备每播放一个所述音频数据的PCM数据包计时统计播放时间其中,α为所述音频数据的采样率,β为所述音频数据的编码帧长,qi表示播放第i个所述PCM数据包所用的时间;

所述第二设备根据所述系统时间P和所述播放时间Qn判断是否播放所述当前的PCM数据包。

如上所述的方法,其中,所述第二设备根据所述系统时间P和所述播放时间Qn判断是否播放所述当前的PCM数据包,包括:

所述第二设备若判断则丢弃当前的PCM数据包;

所述第二设备若判断则播放当前PCM数据包;

所述第二设备更新所述播放时间为

其中,α为音频采样率,β为编码帧长。

如上所述的方法,其中,所述第二设备在到达预设的缓存延时时间后播放所述音频数据之后,还包括:

所述第二设备向所述第一设备发送暂停播放命令;

所述第二设备接收所述第一设备发送的暂停播放响应以及静默音频数据;

所述第二设备播放所述静默音频数据。

如上所述的方法,其中,所述第二设备播放所述静默音频数据之后,还包括:

所述第二设备向所述第一设备发送恢复播放命令;

所述第二设备接收所述第一设备发送的恢复播放响应,并恢复播放所述音频数据。

如上所述的方法,其中,所述第二设备在到达预设的缓存延时时间后播放所述音频数据之后,还包括:

所述第二设备向所述第一设备发送拖动命令,所述拖动命令中包含快进命令或快退命令;

所述第二设备接收所述第一设备发送的拖动响应;

所述第二设备清空缓存的所述音频数据;

所述第二设备重新接收所述第一设备发送的所述音频数据并缓存。

如上所述的方法,其中,所述第二设备接收第一设备发送的音频数据之前,还包括:

所述第二设备向所述第一设备发送同步连接建立请求;其中,所述同步连接建立请求中包含所述第二设备的互联网协议IP地址信息和端口信息;所述同步连接建立请求用于请求与所述第一设备之间建立同步连接。

一种跨设备的音频图像同步播放的装置,包括:

获取发送模块,用于在本地获取音频数据并发送给第二设备;获取音频延时时间;

图像播放模块,用于在到达所述音频延时时间后播放与所述音频数据对应的图像。

如上所述的装置,其中,所述获取发送模块具体用于:

关闭本地声音输出,并通过系统录音获取所述音频数据;对所述音频数据编码后发送给所述第二设备;

计时得到编码延时时间;所述编码延时时间是所述第一设备对所述音频数据的第一个脉冲编码调制PCM数据包进行编码所用的时间;

记录向所述第二设备发送所述网络发送延时请求的发送时间、接收到所述第二设备发送的网络发送延时响应的接收时间;其中,所述网络发送延时响应中包含所述第二设备的解码延时时间、所述缓存延时时间以及所述播放延时时间;

根据所述发送时间、所述接收时间以及所记录的所述发送时间和接收时间的数量,计算得到所述平均网络延时时间;

计算所述编码延时时间、所述平均网络延时时间、所述解码延时时间、所述缓存延时时间以及所述播放延时时间之和,得到所述音频延时时间。

如上所述的装置,其中,还包括:

接收模块,用于接收所述第二设备发送的暂停播放命令;

所述获取发送模块,还用于向所述第二设备发送暂停播放响应和静默音频数据;

所述图像播放模块,还用于暂停播放所述图像。

一种跨设备的音频图像同步播放的装置,包括:

接收模块,用于接收第一设备发送的音频数据;

缓存模块,用于对所述音频数据进行解码并缓存;

音频播放模块,用于在到达预设的缓存延时时间后播放所述音频数据。

如上所述的装置,其中,还包括:

计时模块,用于在所述缓存模块对所述音频数据进行解码的同时,计时得到解码延时时间;所述解码延时时间是所述第二设备对所述音频数据的第一个脉冲编码调制PCM数据包进行解码所用的时间;

所述接收模块,还用于接收所述第一设备发送的网络发送延时请求;

所述装置还包括:发送模块,用于向所述第一设备发送网络发送延时响应;其中,所述网络发送延时响应中包含所述第二设备的所述解码延时时间、所述缓存延时时间以及播放延时时间。

如上所述的装置,其中,所述计时模块还用于:

从所述音频播放模块开始播放所述音频数据时记录系统时间P;

每播放一个所述音频数据的PCM数据包计时统计播放时间其中,α为所述音频数据的采样率,β为所述音频数据的编码帧长,qi表示播放第i个所述PCM数据包所用的时间;

所述装置还包括:判断模块,用于根据所述系统时间P和所述播放时间Qn判断是否播放所述当前的PCM数据包;

若判断则丢弃当前的PCM数据包;

若判断则播放当前PCM数据包;

更新所述播放时间为

其中,α为音频采样率,β为编码帧长。

如上所述的装置,其中,还包括:

发送模块,用于向所述第一设备发送暂停播放命令;

所述接收模块,还用于接收所述第一设备发送的暂停播放响应以及静默音频数据;

所述音频播放模块,还用于播放所述静默音频数据。

一种音频图像同步播放的系统,所述系统包括如权利要求18-20任一项所述的跨设备的音频图像同步播放的装置,以及如权利要求21-24任一项所述的跨设备的音频图像同步播放的装置。

本发明实施例提供的跨设备的音频图像同步播放的方法、装置及系统,第一设备通过在本地获取音频数据并发送给第二设备,并获取音频延时时间,在到达所述音频延时时间后播放图像,如此,利用系统录音得到音频数据,通过将电视端设备的音频数据回传至手机等设备,同时获取到音频播放的延时时间,在达到音频延时时间后开始播放图像,实现了音频图像的同步播放。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例一提供的跨设备的音频图像同步播放的方法的流程图;

图2为本发明实施例二提供的跨设备的音频图像同步播放的方法的流程图;

图3是本发明实施例二提供的跨设备的音频图像同步播放的方法中第一设备获取平均网络延时时间的示意图;

图4为本发明实施例三提供的跨设备的音频图像同步播放的方法的流程图;

图5为本发明实施例四提供的跨设备的音频图像同步播放的方法的流程图;

图6为本发明实施例一提供的跨设备的音频图像同步播放的装置的结构示意图;

图7为本发明实施例二提供的跨设备的音频图像同步播放的装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明各实施例中,第一设备可以为智能电视等大屏幕设备,第二设备可以为手机等设备,利用智能电视或机顶盒端的系统录音功能,将录音得到的音频数据经过编码后,通过无线网络发送给手机,手机进行解码,同时将整个音频回传播放的延时时间返回给智能电视,使视频播放器延迟播放图像,从而实现电视端图像和手机端音频的同步播放。

图1为本发明实施例一提供的跨设备的音频图像同步播放的方法的流程图。如图1所示,本实施例提供的方法可以由第一设备,如智能电视等大屏幕设备执行,具体的,本实施例提供的方法包括:

步骤101、第一设备在本地获取音频数据并发送给第二设备。

在本实施例中,所述第一设备利用系统录音功能,将录到的音频数据经过编码,通过无线网络发送给第二设备,如此,通过系统录音得到音频数据,使得第二设备与第一设备上的第三方播放器适配非常简单。

实际应用中,所述第一设备在本地获取音频数据时,关闭本地声音输出,并通过系统录音获取所述音频数据;并对所述音频数据编码后发送给所述第二设备。

步骤102、所述第一设备获取音频延时时间,在到达所述音频延时时间后播放与所述音频数据对应的图像。

本步骤中,所述音频延时时间包括编码延时时间、解码延时时间、缓存延时时间、播放延时时间以及平均网络延时时间。

需要说明的是,所述编码延时时间和所述平均网络延时时间是由所述第一设备计算得到的,具体的,所述编码延时时间是所述第一设备对所述音频数据的第一个脉冲编码调制(Pulse Code Modulation,PCM)数据包进行编码所用的时间;所述平均网络延时时间是所述第一设备和所述第二设备之间传输所述音频数据的网络延时时间。

还需要说明的是,所述解码延时时间、所述缓存延时时间和播放延时时间是由所述第二设备获取并发送给所述第一设备的;其中,所述解码延时时间是所述第二设备对所述音频数据的第一个PCM数据包进行解码所用的时间,所述缓存延时时间是预先设定好的,所述播放延时时间是所述第二设备将待播放音频数据写入播放设备所需的时间。

在本步骤中,所述第一设备在获取到所述音频延时时间后,在到达所述音频延时时间后开始播放与所述音频数据对应的图像,从而实现图像与音频的同步播放。

本实施例的技术方案中,所述第一设备在本地获取所述音频数据并发送给所述第二设备,并获取所述音频延时时间,在到达所述音频延时时间后播放与所述音频数据对应的图像。如此,利用系统录音得到音频数据,通过将第一设备的音频数据回传至第二设备,同时获取到音频播放的延时时间,在达到音频延时时间后开始播放图像,实现了音频图像的同步播放。

图2为本发明实施例二提供的跨设备的音频图像同步播放的方法的流程图。如图2所示,在上述实施例的基础上,在本实施例中,上述步骤102中所述第一设备获取音频延时时间,具体包括:

步骤1021、所述第一设备计时得到编码延时时间;所述编码延时时间是所述第一设备对所述音频数据的第一个PCM数据包进行编码所用的时间。

实际应用中,所述第一设备计时从取得第一个PCM数据包到编码得到第一帧编码音频数据的编码延时时间T1

步骤1022、所述第一设备通过向所述第二设备发送网络发送延时请求,获取与所述第二设备之间发送所述音频数据的平均网络延时时间,并获取所述第二设备的解码延时时间、缓存延时时间以及播放延时时间。

具体的,所述第一设备通过多次发送所述网络发送延时请求计算所述平均网络延时时间。

本步骤中,所述第一设备记录向所述第二设备发送所述网络发送延时请求的发送时间、接收到所述第二设备发送的网络发送延时响应的接收时间;其中,所述网络发送延时响应中包含所述第二设备的解码延时时间、所述缓存延时时间以及所述播放延时时间;所述第一设备根据所述发送时间、所述接收时间以及所记录的所述发送时间和接收时间的数量,计算得到所述平均网络延时时间。

图3是本发明实施例二提供的跨设备的音频图像同步播放的方法中第一设备获取平均网络延时时间的示意图,如图3所示,第一设备在t0向第二设备发送所述网络发送延时请求,所述第二设备在t1接收到所述网络发送延时请求,并在t2向所述第一设备发送所述网络发送延时响应,所述第一设备在t3接收到所述网络发送延时响应;记本次网络延时时间为θ,

由此可知,所述平均网络延时时间其中,n为所述第一设备所记录的所述发送时间和接收时间的数量,i表示所述第一设备获取的第i次网络延时时间。

步骤1023、所述第一设备计算所述编码延时时间、所述平均网络延时时间、所述第二设备的解码延时时间、所述缓存延时时间以及所述播放延时时间之和,得到所述音频延时时间。

本实施例的技术方案,所述第一设备将所述音频数据发送给所述第二设备,并获取所述音频延时时间,在达到音频延时时间后开始播放图像,实现了音频图像的同步播放。

图4为本发明实施例三提供的跨设备的音频图像同步播放的方法的流程图。如图4所示,在上述实施例的基础上,在上述步骤101之前,本实施例提供的方法进一步还包括:

步骤201、所述第一设备接收所述第二设备发送的同步连接建立请求;其中,所述同步连接建立请求中包含所述第二设备的互联网协议(Internet Protocol,IP)地址信息和端口信息。

需要说明的是,所述第二设备在向目标第一设备发送所述同步连接建立请求时,会创建数据接收和控制服务(server),同时将所述第二设备的IP地址信息和端口信息发送给所述第一设备。

步骤202、所述第一设备根据所述IP地址信息和端口信息,建立与所述第二设备之间的同步连接。

具体的,所述第一设备接收到所述同步连接建立请求后,创建客户(client)来连接所述第二设备的数据和控制服务(server),从而完成所述第一设备与所述第二设备之间的同步连接。

进一步的,在实际应用中,还会遇到暂停播放、恢复播放和快进快退等操作情景,下面对此进行说明。

具体的,针对暂停播放(pasue)的情景和恢复播放(resume)的场景,所述第一设备会接收到所述第二设备发送的暂停播放命令;在接收到所述暂停播放命令后暂停播放所述图像,同时所述第一设备向所述第二设备发送暂停播放下响应。但是此时系统录音还在继续,只是此时录到的音频为静默音频数据,所述第一设备将录音获得的静默音频数据发送给所述第二设备,以使第二设备播放该静默音频数据,也就是说在暂停播放期间,所述第二设备播放的是无声的音频数据,以此来保证音频和图像的同步播放。

所述第一设备在接收到第二设备发送的恢复播放命令后恢复播放所述图像,并向所述第二设备发送恢复播放响应,同时恢复向所述第二设备发送正常的音频数据。即,在接收到所述恢复播放命令后,所述第一设备接着播放暂停前的图像,并且恢复向所述第二设备发送正常的音频数据。

针对快进快退的场景,具体的,所述第一设备接收所述第二设备发送的拖动命令(seek)并完成所述图像播放的拖动操作后,向所述第二设备发送拖动响应。此时,所述系统录音会获取拖动操作之后新的音频数据并发送给所述第二设备;可以理解的是,所述拖动命令可以是快进命令或快退命令,所述快进命令用于快进播放所述图像,所述快退命令用于快退播放所述图像。

例如,所述第一设备接收到快进命令后,所述图像播放会跳转到用户快进的时间点播放,并向所述第二设备发送快进响应。此时,所述系统录音会获取该快进时间点之后播放的音频数据并经过编码后发送给所述第二设备。

在本实施例中,所述第一设备和所述第二设备之间建立同步连接之后,所述第一设备将在本地获取的所述音频数据发送给所述第二设备,并获取所述音频延时时间,在到达所述音频延时时间后播放与所述音频数据对应的图像,从而实现了音频图像的同步播放,并且在支持暂停、拖动等操作的同时,也能保持音频图像的同步播放。

图5为本发明实施例四提供的跨设备的音频图像同步播放的方法的流程图。如图5所示,本实施例提供的方法具体可以包括:

步骤301、第二设备接收第一设备发送的音频数据。

在本步骤之前,所述第二设备向所述第一设备发送同步连接建立请求;其中,所述同步连接建立请求中包含所述第二设备的互联网协议IP地址信息和端口信息;所述同步连接建立请求用于请求与所述第一设备之间建立同步连接。

需要说明的是,所述第二设备在向目标第一设备发送所述同步连接建立请求时,会创建数据接收和控制服务(server),同时将所述第二设备的IP地址信息和端口信息发送给所述第一设备。

所述第一设备在接收到所述同步连接建立请求后,会创建客户(client)来连接所述第二设备的数据和控制服务(server),从而完成所述第一设备与所述第二设备之间的同步连接。

可以理解的是,在所述第二设备与所述第一设备之间建立好同步连接之后,才可以进行音频数据的传输。

步骤302、所述第二设备对所述音频数据进行解码并缓存。

本步骤中,所述第二设备在对所述音频数据进行解码的同时,计时得到解码延时时间T3;可以理解的是,所述解码延时时间是所述第二设备对所述音频数据的第一个PCM数据包进行解码所用的时间。

步骤303、所述第二设备在到达预设的缓存延时时间后播放所述音频数据。

具体的,在本步骤之前,所述第二设备还接收所述第一设备发送的网络发送延时请求;并向所述第一设备发送网络发送延时响应;其中,所述网络发送延时响应中包含所述第二设备的所述解码延时时间、所述缓存延时时间以及播放延时时间。

需要说明的是,所述缓存延时时间T4是预先设定好的,所述播放延时时间T5是设备固有且已知的参数,根据所述第二设备的不同而不同。

具体的,所述第二设备可以根据公式计算获得与所述缓存延时时间T4对应的需要缓存的PCM数据包的个数N;其中,α为所述音频数据的采样率,β为所述音频数据的编码帧长。

本实施例提供的跨设备的音频图像同步播放的方法,所述第一设备和所述第二设备之间建立同步连接之后,所述第二设备接收第一设备发送的音频数据;所述第二设备对所述音频数据进行解码并缓存;并在到达预设的缓存延时时间后播放所述音频数据,从而实现了音频图像的同步播放。

可以理解的是,由于有时候网络不稳定或发生阻塞,发送的音频数据没有及时到达第二设备,致使第二设备缓存的音频数据播放完,当网络恢复时,阻塞的音频数据到达时,已经晚于相对应的图像,这时需要判断是否延迟,如果延迟则丢弃,直至同步时播放。

具体的,在上述实施例的基础上,在上述步骤303之后,本实施例提供的方法进一步还包括:

所述第二设备从开始播放所述音频数据时记录系统时间P;所述第二设备每播放一个所述音频数据的PCM数据包计时统计播放时间所述第二设备根据所述系统时间P和所述播放时间Qn判断是否播放所述当前的PCM数据包;其中,α为所述音频数据的采样率,β为所述音频数据的编码帧长,qi表示播放第i个所述PCM数据包所用的时间。

具体的,所述第二设备根据所述系统时间P和所述播放时间Qn判断是否播放所述当前的PCM数据包,包括:所述第二设备若判断则丢弃当前的PCM数据包;所述第二设备若判断则播放当前PCM数据包;所述第二设备更新所述播放时间为其中,α为音频采样率,β为编码帧长。

进一步的,在实际应用中,还会遇到暂停播放、恢复播放和快进快退等操作情景,下面对此进行说明。

具体的,针对暂停播放(pause)的情景和恢复播放(resume)的场景,所述第二设备向所述第一设备发送暂停播放命令;在发送所述暂停播放命令后,所述第二设备会接收到所述第一设备发送的暂停播放响应以及静默音频数据;所述第二设备播放所述静默音频数据;也就是说,在暂停播放期间,所述第二设备将接收到的所述静默音频数据插入所缓存的音频数据队列的开头进行播放,播放的是无声的音频数据,对用户来说,此时图像是停止的和声音是静默的,以此来保证音频和图像的同步。进一步的,为了避免控制命令与音频数据的网络发送有时差而出现杂音,所述第二设备还可以将播放音频调低至静音。

所述第二设备向所述第一设备发送恢复播放命令;并接收所述第一设备发送的恢复播放响应,并恢复播放所述音频数据。实际应用中,所述第二设备在恢复播放后,将接收到的所述第一设备发送的音频数据插入所缓存的音频数据队列的末尾,并恢复播放音量。

针对快进快退的场景,具体的,所述第二设备向所述第一设备发送拖动命令,所述第二设备接收所述第一设备发送的拖动响应,清空缓存的所述音频数据,并重新接收所述第一设备发送的所述音频数据并缓存;其中,所述拖动命令中包含快进命令或快退命令。

具体的,所述第二设备清空所缓存的音频数据,并重置所述系统时间P和所述播放时间Qn为零,重新接受所述第一设备发送的所述音频数据并缓存,在重新缓存N个PCM数据包后开始播放音频。

本实施例提供的跨设备的音频图像同步播放的方法,所述第一设备和所述第二设备之间建立同步连接之后,所述第一设备将在本地获取的所述音频数据发送给所述第二设备,并获取所述音频延时时间,在到达所述音频延时时间后播放图像,从而实现了不同设备间音频图像的同步播放,并且在支持暂停、拖动等操作的同时,也能保持音频图像的同步播放。

图6为本发明实施例一提供的跨设备的音频图像同步播放的装置的结构示意图。如图6所示,本实施例提供的跨设备的音频图像同步播放的装置60可以包括:获取发送模块61和图像播放模块62。

其中,获取发送模块61,用于在本地获取音频数据并发送给第二设备;获取音频延时时间;

图像播放模块62,用于在到达所述音频延时时间后播放与所述音频数据对应的图像。

具体的,所述获取发送模块61在本地获取音频数据并发送给所述第二设备时,关闭本地声音输出,并通过系统录音获取所述音频数据;对所述音频数据编码后发送给所述第二设备。

所述获取发送模块61在获取所述音频延时时间时,计时得到编码延时时间;所述编码延时时间是所述第一设备对所述音频数据的第一个PCM数据包进行编码所用的时间;通过向所述第二设备发送网络发送延时请求,获取与所述第二设备之间发送所述音频数据的平均网络延时时间,所述第二设备的解码延时时间、缓存延时时间以及播放延时时间;计算所述编码延时时间、所述平均网络延时时间、所述解码延时时间、所述缓存延时时间以及所述播放延时时间之和,得到所述音频延时时间。

所述获取发送模块61获取所述平均网络延时时间时,具体通过记录向所述第二设备发送所述网络发送延时请求的发送时间、接收到所述第二设备发送的网络发送延时响应的接收时间;根据所述发送时间、所述接收时间以及所记录的所述发送时间和接收时间的数量,计算得到所述平均网络延时时间;其中,所述网络发送延时响应中包含所述第二设备的解码延时时间、所述缓存延时时间以及所述播放延时时间。

进一步的,考虑到在实际应用中,遇到暂停播放、恢复播放和快进快退等操作情景,本实施例提供的装置60还可以包括:接收模块,用于接收所述第二设备发送的暂停播放命令。

相应的,所述获取发送模块61,还用于向所述第二设备发送暂停播放响应和静默音频数据;所述图像播放模块62,还用于暂停播放所述图像。

在恢复播放时,所述接收模块还用于接收所述第二设备发送的恢复播放命令;所述获取发送模块61还用于向所述第二设备发送恢复播放响应,所述图像播放模块62还用于恢复播放所述图像。

在快进或快退时,接收模块用于接收所述第二设备发送的拖动命令;所述拖动命令中包含快进命令或快退命令;所述快进命令用于快进播放所述图像,所述快退命令用于快退播放所述图像;所述获取发送模块61,还用于向所述第二设备发送拖动响应;根据所述拖动命令,重新通过系统录音获取所述音频数据并发送给所述第二设备。

需要说明的是,在本地获取所述音频数据之前,所述接收模块用于接收所述第二设备发送的同步连接建立请求;其中,所述同步连接建立请求中包含所述第二设备的IP地址信息和端口信息;连接建立模块,用于根据所述IP地址信息和端口信息,建立与所述第二设备之间的同步连接。

本实施例提供的跨设备的音频图像同步播放的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图7为本发明实施例二提供的跨设备的音频图像同步播放的装置的结构示意图。如图7所示,本实施例提供的跨设备的音频图像同步播放的装置70可以包括:接收模块71、缓存模块72和音频播放模块73。

其中,接收模块71,用于接收第一设备发送的音频数据;

缓存模块72,用于对所述音频数据进行解码并缓存;

音频播放模块73,用于在到达预设的缓存延时时间后播放所述音频数据。

在实际应用中,本实施例提供的装置70还包括:计时模块,用于在所述缓存模块72对所述音频数据进行解码的同时,计时得到解码延时时间;所述解码延时时间是所述第二设备对所述音频数据的第一个PCM数据包进行解码所用的时间。

进一步的,所述接收模块71还用于接收所述第一设备发送的网络发送延时请求;所述装置70还包括:发送模块,用于向所述第一设备发送网络发送延时响应;其中,所述网络发送延时响应中包含所述第二设备的所述解码延时时间、所述缓存延时时间以及播放延时时间。

进一步的,由于有时候网络不稳定或发生阻塞,发送的音频数据没有及时到达第二设备,致使第二设备缓存的音频数据播放完,当网络恢复时,阻塞的音频数据到达时,已经晚于相对应的图像,这时需要判断是否延迟,如果延迟则丢弃,直至同步时播放。

在本实施例中,所述计时模块还用于:从所述播放模块73开始播放所述音频数据时记录系统时间P;每播放一个所述音频数据的PCM数据包计时统计播放时间其中,α为所述音频数据的采样率,β为所述音频数据的编码帧长,qi表示播放第i个所述PCM数据包所用的时间;所述装置70还包括:判断模块,用于根据所述系统时间P和所述播放时间Qn判断是否播放所述当前的PCM数据包。

其中,所述判断模块具体用于:若判断则丢弃当前的PCM数据包;若判断则播放当前PCM数据包;更新所述播放时间为其中,α为音频采样率,β为编码帧长。

进一步的,考虑到在实际应用中,遇到暂停播放、恢复播放和快进快退等操作情景,本实施例提供的装置70还可以包括:发送模块,用于向所述第一设备发送暂停播放命令;所述接收模块71还用于接收所述第一设备发送的暂停播放响应以及静默音频数据;所述音频播放模块73还用于播放所述静默音频数据。

在恢复播放时,所述发送模块还用于向所述第一设备发送恢复播放命令;所述接收模块71还用于接收所述第一设备发送的恢复播放响应,所述音频播放模块73还用于恢复播放所述音频数据。

在快进或快退时,发送模块用于向所述第一设备发送拖动命令,所述拖动命令中包含快进命令或快退命令;所述接收模块71,还用于接收所述第一设备发送的拖动响应;所述缓存模块72,还用于清空缓存的所述音频数据;所述接收模块71还用于重新接收所述第一设备发送的所述音频数据;所述缓存模块72还用于缓存所述接收模块重新接收的所述音频数据。

需要说明的是,在接收第一设备发送的音频数据之前,发送模块用于向所述第一设备发送同步连接建立请求;其中,所述同步连接建立请求中包含所述第二设备的IP地址信息和端口信息;所述同步连接建立请求用于请求与所述第一设备之间建立同步连接。

本实施例提供的跨设备的音频图像同步播放的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本发明还提供一种跨设备的音频图像同步播放的系统。本实施例提供的系统包括如上述装置实施例一所提供的跨设备的音频图像同步播放的装置60,以及如上述装置实施例二提供的跨设备的音频图像同步播放的装置70,其实现原理和技术效果类似,此处不再赘述。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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