一种多进程解码的播放方法、计算机设备和存储介质与流程

文档序号:15262419发布日期:2018-08-24 22:00阅读:411来源:国知局

本发明属于计算机技术领域,尤其涉及一种多进程解码的播放方法、计算机设备和存储介质。



背景技术:

不管是播放本地文件类型的播放器还是播放网络直播流类型的播放器,现有的技术都是采用一个进程进行音视频的解码,然后将解码后的音频进行播放,将解码后的视频图像进行绘制。

但是在一些使用情况下,需要实现播放器的多开,所谓播放器多开,就是在一个播放器中同时打开多个视频文件,或者多个网络视频流。随着视频文件或网络视频流的打开个数的增加,当达到单个进程的性能瓶颈时,将造成播放器的崩溃,即使播放器没有崩溃,也会使播放的效果越来越差,画面越来越卡顿。

可见,单进程解码的方式在实现播放器多开时存在稳定性差的问题。



技术实现要素:

本申请实施例通过提供一种多进程解码的播放方法、计算机设备和存储介质,解决了现有技术中,单进程解码的方式在实现播放器多开时存在稳定性差的问题。

第一方面,本申请提供了一种多进程解码的播放方法,所述方法包括:

每打开一个视频,通过主控进程dy_pcclient创建对应的解码进程rpcmediadecoder;

通过所述主控进程dy_pcclient向所述解码进程rpcmediadecoder发送open_media命令,以通知所述解码进程rpcmediadecoder进行音视频解码,从而得到每个视频的视频图像和音频数据;

通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令,以通知所述主控进程dy_pcclient播放所述视频图像;

初始化音频播放器,通过所述解码进程rpcmediadecoder播放所述音频数据;

通过所述解码进程rpcmediadecoder同步所述音频数据和所述视频图像。

可选的,所述视频图像为普通视频图像,所述通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令之前还包括:

通过所述解码进程rpcmediadecoder将所述普通视频图像写入共享内存;

通过所述主控进程dy_pcclient从所述共享内存中获取所述普通视频图像。

可选的,所述视频图像为共享视频图像,所述共享视频图像可以跨进程访问,所述通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令之前还包括:

通过所述主控进程dy_pcclient直接获取所述解码进程rpcmediadecoder中的所述共享视频图像。

可选的,所述通过所述解码进程rpcmediadecoder同步所述音频数据和所述视频图像包括:

每播放一帧音频数据,通过所述解码进程rpcmediadecoder,记录所述音频数据当前的时间戳;

通过所述解码进程rpcmediadecoder获取所述视频图像的时间戳,其中,每获取一帧视频图像,记录所述视频图像的时间戳;

若所述视频图像的时间戳小于所述音频数据当前的时间戳,则通过所述解码进程rpcmediadecoder删除当前获取的视频图像,以使得所述解码进程rpcmediadecoder获取新的视频图像帧。

可选的,所述主控进程dy_pcclient与所述解码进程rpcmediadecoder之间通过rpc进行通信。

第二方面,本申请提供了一种多进程解码的播放装置,其特征在于,所述装置包括:

创建模块,用于每打开一个视频,通过主控进程dy_pcclient创建对应的解码进程rpcmediadecoder;

解码模块,用于通过所述主控进程dy_pcclient向所述解码进程rpcmediadecoder发送open_media命令,以通知所述解码进程rpcmediadecoder进行音视频解码,从而得到每个视频的视频图像和音频数据;

视频播放模块,用于通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令,以通知所述主控进程dy_pcclient播放所述视频图像;

音频播放模块,用于初始化音频播放器,通过所述解码进程rpcmediadecoder播放所述音频数据;

同步模块,用于通过所述解码进程rpcmediadecoder同步所述音频数据和所述视频图像。

可选的,所述视频图像为普通视频图像,所述装置还包括:

写入模块,用于通过所述解码进程rpcmediadecoder将所述普通视频图像写入共享内存;

第一获取模块,用于通过所述主控进程dy_pcclient从所述共享内存中获取所述普通视频图像。

可选的,所述视频图像为共享视频图像,所述共享视频图像可以跨进程访问,所述装置还还包括:

第二获取模块,用于通过所述主控进程dy_pcclient直接获取所述解码进程rpcmediadecoder中的所述共享视频图像。

第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:

每打开一个视频,通过主控进程dy_pcclient创建对应的解码进程rpcmediadecoder;

通过所述主控进程dy_pcclient向所述解码进程rpcmediadecoder发送open_media命令,以通知所述解码进程rpcmediadecoder进行音视频解码,从而得到每个视频的视频图像和音频数据;

通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令,以通知所述主控进程dy_pcclient播放所述视频图像;

初始化音频播放器,通过所述解码进程rpcmediadecoder播放所述音频数据;

通过所述解码进程rpcmediadecoder同步所述音频数据和所述视频图像。

第四方面,本申请还提供了一种计算机设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:

每打开一个视频,通过主控进程dy_pcclient创建对应的解码进程rpcmediadecoder;

通过所述主控进程dy_pcclient向所述解码进程rpcmediadecoder发送open_media命令,以通知所述解码进程rpcmediadecoder进行音视频解码,从而得到每个视频的视频图像和音频数据;

通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令,以通知所述主控进程dy_pcclient播放所述视频图像;

初始化音频播放器,通过所述解码进程rpcmediadecoder播放所述音频数据;

通过所述解码进程rpcmediadecoder同步所述音频数据和所述视频图像。

本申请中,每打开一个视频,通过主控进程dy_pcclient创建对应的解码进程rpcmediadecoder;通过所述主控进程dy_pcclient向所述解码进程rpcmediadecoder发送open_media命令,以通知所述解码进程rpcmediadecoder进行音视频解码,从而得到每个视频的视频图像和音频数据;通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令,以通知所述主控进程dy_pcclient播放所述视频图像;初始化音频播放器,通过所述解码进程rpcmediadecoder播放所述音频数据;通过所述解码进程rpcmediadecoder同步所述音频数据和所述视频图像。可见,本申请通过创建多个解码进程来实现播放器的多开,提高了同时播放多个视频的稳定性,避免了单进程解码的方式在打开多个视频时可能出现的崩溃、卡顿等稳定性差的问题。

附图说明

图1为本申请实施例中提供的多进程解码的播放方法的流程图;

图2为本申请实施例中提供的多进程解码的播放装置的结构示意图;

图3为本申请实施例中提供的计算机可读存储介质的结构示意图;

图4为本申请实施例中提供的计算机设备的结构示意图。

具体实施方式

本申请实施例提供了一种多进程解码的播放方法、计算机设备和存储介质,可以通过创建多个解码进程来实现播放器的多开,使得多个视频的同时播放更加稳定,避免了单进程解码的方式在打开多个视频时可能出现的崩溃、卡顿等稳定性差的问题。

本申请实施例的技术方案为解决上述技术问题,总体思路如下:

每打开一个视频,通过主控进程dy_pcclient创建对应的解码进程rpcmediadecoder;

通过所述主控进程dy_pcclient向所述解码进程rpcmediadecoder发送open_media命令,以通知所述解码进程rpcmediadecoder进行音视频解码,从而得到每个视频的视频图像和音频数据;

通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令,以通知所述主控进程dy_pcclient播放所述视频图像;

初始化音频播放器,通过所述解码进程rpcmediadecoder播放所述音频数据;

通过所述解码进程rpcmediadecoder同步所述音频数据和所述视频图像。

具体的,每打开一个视频,通过主控进程dy_pcclient创建对应的解码进程rpcmediadecoder,即通过创建多个解码进程rpcmediadecoder来分别对每一个视频进行解码,每个视频的解码都是一个单独的进程;通过所述解码进程rpcmediadecoder进行音视频解码,从而得到每个视频的视频图像和音频数据;通过解码进程rpcmediadecoder得到视频图像和音频数据后,再分别通过主控进程dy_pcclient来播放视频图像,通过解码进程rpcmediadecoder来播放音频数据,并由解码进程rpcmediadecoder同步所述视频图像和所述音频数据,从而实现多进程解码中的多个视频文件或网络视频流的播放。可见,本申请通过创建多个解码进程rpcmediadecoder来实现播放器的多开,提高了同时播放多个视频的稳定性,避免了单进程解码的方式在打开多个视频时可能出现的崩溃、卡顿等稳定性差的问题。

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

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

此外,为了方便介绍本申请实施例中的技术方案,本申请实施例将基于windows操作系统进行介绍,其中,主控进程命名为dy_pcclient,解码进程命名为rpcmediadecoder,主控进程dy_pcclient与解码进程rpcmediadecoder通过rpc(远程过程调用协议,remoteprocedurecallprotocol)进行通信,并不用于限定本申请。应当理解,在一些可能的实现方式中,本申请实施例也可以基于其他不同的操作系统,主控进程dy_pcclient和解码进程rpcmediadecoder也可以命名为其他名称,主控进程dy_pcclient和解码进程rpcmediadecoder也可以通过其他不同的协议进行通信,此处不做太多限定。

实施例一:

请参阅图1,本实施例提供的一种多进程解码的播放方法包括以下步骤:

s101、每打开一个视频,通过主控进程dy_pcclient创建对应的解码进程rpcmediadecoder;

该视频包括但不限于本地的视频文件或者网络直播中的视频流,主控进程dy_pcclient为应用程序的主进程。举一个例子,应用程序可以为网络直播应用程序,则视频为网络直播的视频流,每打开一个网络直播视频流,主控进程dy_pcclient就建立一个对应的解码进程rpcmediadecoder,以使得每一个网络直播视频流都有一个独立的解码进程rpcmediadecoder进行音视频解码。

其中,通过主控进程dy_pcclient创建解码进程rpcmediadecoder具体可以包括以下步骤:

a.分配主控进程dy_pcclient与解码进程rpcmediadecoder的rpc连接地址;

具体的,rpc连接地址的分配方式可以采用当前主控进程dy_pcclient的进程id和要创建的解码进程rpcmediadecoder索引为标识的,形如“pid_index”的字符串。

b.主控进程dy_pcclient创建解码进程rpcmediadecoder;

具体的,分配好主控进程dy_pcclient与解码进程rpcmediadecoder的rpc连接地址后,调用windows操作系统的createprocess函数,创建一个编码进程rpcmediadecoder,并将rpc连接地址通过命令行的方式传递给编码进程rpcmediadecoder。

c.解码进程rpcmediadecoder连接到主控进程dy_pcclient;

具体的,解码进程rpcmediadecoder被创建后,解码进程rpcmediadecoder在命令行中获取rpc连接地址,然后调用rpcstartservice函数通过该rpc连接地址,连接到主控进程dy_pcclient,从而可以实现主控进程dy_pcclient与解码进程rpcmediadecoder之间的通信。

s102、通过所述主控进程dy_pcclient向所述解码进程rpcmediadecoder发送open_media命令,以通知所述解码进程rpcmediadecoder进行音视频解码,从而得到每个视频的视频图像和音频数据;

主控进程dy_pcclient通过步骤s101创建解码进程rpcmediadecoder后,主控进程dy_pcclient通知解码进程rpcmediadecoder打开视频,具体可以包括:主控进程dy_pcclient向解码进程rpcmediadecoder发送一个open_media的rpc命令,通知解码进程rpcmediadecoder去打开一个视频文件或者网络视频流。

解码进程rpcmediadecoder接收到来自主控进程dy_pcclient的open_media的命令后,打开对应的视频文件或者网络视频流,并向主控进程dy_pcclient发送视频打开的结果,具体可以包括:

a.解码进程rpcmediadecodery调用mediadecoder服务模块打开视频;

具体的,可以通过调用文件解码服务模块mediadecoder中的open方法打开对应的视频文件或者网络视频流,并获取open方法的返回值result。

b.解码进程rpcmediadecodery向主控进程dy_pcclient发送mdt_openresult的结果消息;

具体的,open方法返回result值后,解码进程rpcmediadecodery获取到打开视频的结果result,并向主控进程dy_pcclient发送mdt_openresult的消息,将结果result返回给主控进程dy_pcclient。

c.主控进程dy_pcclient判断返回结果。

具体的,主控进程dy_pcclient接收到mdt_openresult的消息后,判断result值是否为1,如果result值为1,则表示编码进程rpcmediadecoder打开视频成功,接下来可以进入到下一个步骤;如果result值不为1,即result为0,则代表视频打开失败,则主控进程dy_pcclient向解码进程rpcmediadecoder发送stop命令,通知解码进程rpcmediadecoder退出。

解码进程rpcmediadecoder成功打开视频后,便可以循环的进行音视频的解码,从而得到每个视频的视频图像和音频数据。其中,解码进程rpcmediadecoder可以通过调用getvideoframe方法,每次从mediadecoder解码服务模块中获取一帧视频图像。

s103、通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令,以通知所述主控进程dy_pcclient播放所述视频图像;

具体的,该视频图像包括普通视频图像videoframe和共享视频图像sharedvideoframe,其中,共享视频图像可以跨进程访问。可以理解的是,为了与共享视频图像进行区分,不可以进行跨进程访问的视频图像在本申请实施例中命名为普通视频图像。根据视频图像的类型不同,主控进程dy_pcclient向所述解码进程rpcmediadecoder发送open_media命令之前,主控进程dy_pcclient获取视频图像的方式也有所不同,具体可以包括以下两种方式:

方式一,若视频图像为普通视频图像,则通过主控进程dy_pcclient播放视频图像之前还包括:

a.通过解码进程rpcmediadecoder将普通视频图像写入共享内存;

考虑到本地视频文件或网络视频流的图像清晰度的需要,例如1080p的视频流,如果采用rpc在解码进程rpcmediadecoder与主控进程dy_pcclient之间传输音视频数据,会带来较大的性能消耗,故方式一采用共享内存的方法来解决这个问题,具体实现中,可以调用windows的createfilemapping函数来创建共享内存。

具体的,解码进程rpcmediadecoder获取到一个视频图像,通过调用sharedmemory(共享内存)的write方法,将该视频图像中的图像buffer写入到共享内存中。

b.通过主控进程dy_pcclient从共享内存中获取普通视频图像。

具体的,解码进程rpcmediadecoder将videoframe中的视频图像写入到系统共享内存之后,调用主控进程dy_pcclient的draw_videorpc函数,向主控进程dy_pcclient发送mdt_updatevideo的通知,指示主控进程dy_pcclient去更新视频图像,主控进程dy_pcclient接收到mdt_updatevideo的命令后,从共享内存中获取普通视频图像,然后调用update方法,对播放器上的图像进行更新。其中,主控进程dy_pcclient先将共享内存中的普通视频图像拷贝到一个临时的图像缓存videoframe视频帧中,再将临时的videoframe拷贝到要绘制的纹理资源中,待纹理资源更新完成之后,从而进行播放器图像的更新,最终完成视频图像的播放。

方式二,若视频图像为共享视频图像,则通过主控进程dy_pcclient播放视频图像之前还包括:

通过主控进程dy_pcclient直接获取解码进程rpcmediadecoder中的共享视频图像。

具体的,当解码进程rpcmediadecoder创建了n个共享视频图像sharedvideoframe,对于这n个共享视频图像sharedvideoframe,每一个共享视频图像sharedvideoframe都是能够跨进程访问的,并且每一个共享视频图像sharedvideoframe都有一个不同的名称,在本实施例中以共享视频图像名称为shared_video_frame_process_<pid>_index_<idx>为例进行说明,不对本申请实施例进行限定。其中,pid为当前解码进程rpcmediadecoder的进程id,通过该pid可以区分不同的解码进程rpcmediadecoder所创建的共享视频图像sharedvideoframe,idx为该共享视频图像sharedvideoframe的索引,从1开始,一直到n,通过idx可以区分在同一个rpcmediadecoder解码进程中所创建的sharedvideoframe。当解码进程rpcmediadecoder向主控进程dy_pcclient发送mdt_updatevideo绘制命令消息时,将方式一中的draw_videorpc函数替换为主控进程dy_pcclient中的draw_shared_videorpc函数,此过程中不需要再将sharedvideoframe中的图像拷贝到临时的共享内存中,而只需在调用draw_shared_videorpc函数时,将当前的sharedvideoframe的名称作为参数传递到draw_shared_videorpc函数中。当主控进程dy_pcclient接收到draw_shared_videorpc请求时,可以获取到rpcmediadecoder解码进程中传递的sharedvideoframe的名称参数,然后根据该sharedvideoframe的名称,调用sharedmemory的open方法,将rpcmediadecoder解码进程中创建的sharedvideoframe打开,主控进程dy_pcclient从而获取到共享视频图像,并更新到纹理中,最终完成视频图像的播放。

由于共享视频图像支持跨进程访问,所以本实施例中的方式二相比方式一,不需要依赖于共享内存,从而可以减少主控进程dy_pcclient和编码进程rpcmediadecoder对于视频图像的拷贝次数,降低播放器系统的cpu功耗,提高播放系统的性能。但是方式一具有程序实现相对简单的优势,在具体实现中,可以根据实际情况选用合适的方式,此处不做太多限定。

s104、初始化音频播放器,通过所述解码进程rpcmediadecoder播放所述音频数据;

由于解码进程rpcmediadecoder负责音频的播放,所以必须首先初始化音频设备。

具体的,当从mediadecoder的回调通知中接收到mdt_audioheader的消息时,通过该消息中的audiosamplerate(音频采样率)参数、audiochannel(音频声道)参数、audiosampleformat(音频采样格式)参数,调用initaudiodevice函数初始化音频播放设备。

s105、通过所述解码进程rpcmediadecoder同步所述音频数据和所述视频图像。

编码进程rpcmediadecoder除了负责音频的播放之外,还需要负责视频图像的及时通知,即编码进程rpcmediadecoder需要同步音频数据和视频图像的播放。在本实施例中可以采用视频同步到音频的方法。

具体的,通过解码进程rpcmediadecoder播放音频数据,其中,每播放一帧音频数据,记录所述音频数据当前的时间戳audiopts,通过所述解码进程rpcmediadecoder获取所述视频图像的时间戳,其中,每获取一帧视频图像,记录所述视频图像的时间戳,例如,可以通过获取视频图像videoframe中的pts属性来记录视频图像的时间戳;若所述视频图像的时间戳小于所述音频数据当前的时间戳,则表示该视频帧的播放时间已经小于音频时间,视频的播放滞后于音频,则通过所述解码进程rpcmediadecoder删除当前获取的视频图像,具体可以通过调用mediadecoder的popvideoframe命令将该视频帧删除,以使得所述解码进程rpcmediadecoder获取新的视频图像帧,从而实现音视频的同步。应当理解,上述方法仅为本申请实施例的一个示例,在一些可能的实现方式中,也可以采用音频同步到视频的方法,此处不做太多限定。

本申请实施例中,每打开一个视频,通过主控进程dy_pcclient创建对应的解码进程rpcmediadecoder;通过所述主控进程dy_pcclient向所述解码进程rpcmediadecoder发送open_media命令,以通知所述解码进程rpcmediadecoder进行音视频解码,从而得到每个视频的视频图像和音频数据;通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令,以通知所述主控进程dy_pcclient播放所述视频图像;初始化音频播放器,通过所述解码进程rpcmediadecoder播放所述音频数据;通过所述解码进程rpcmediadecoder同步所述音频数据和所述视频图像。可见,本申请通过创建多个解码进程来实现播放器的多开,提高了同时播放多个视频的稳定性,避免了单进程解码的方式在打开多个视频时可能出现的崩溃、卡顿等稳定性差的问题。

进一步的,本申请实施例还提供了共享视频图像的方式,可以减少主控进程dy_pcclient和编码进程rpcmediadecoder对于视频图像的拷贝次数,降低播放器系统的cpu功耗,提高播放系统的性能。

基于同一发明构思,本申请提供了一种多进程解码的播放装置,详见图2,下面将结合图2对实施例二进行介绍。

实施例二:

请参阅图2,本实施例提供的多进程解码的播放装置包括:

创建模块201,用于每打开一个视频,通过主控进程dy_pcclient创建对应的解码进程rpcmediadecoder;

解码模块202,用于通过所述主控进程dy_pcclient向所述解码进程rpcmediadecoder发送open_media命令,以通知所述解码进程rpcmediadecoder进行音视频解码,从而得到每个视频的视频图像和音频数据;

视频播放模块203,用于通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令,以通知所述主控进程dy_pcclient播放所述视频图像;

音频播放模块204,用于初始化音频播放器,通过所述解码进程rpcmediadecoder播放所述音频数据;

同步模块205,用于通过所述解码进程rpcmediadecoder同步所述音频数据和所述视频图像。

本申请实施例二提供的多进程解码的播放装置及本申请实施例一提供的多进程解码的播放方法属于同一构思,其具体实现过程详见说明书全文,此处不再赘述。

基于同一发明构思,本申请还提供了一种计算机可读存储介质,详见图3,下面将结合图3对实施例三进行介绍。

实施例三:

本实施例提供了一种计算机可读存储介质300,所述计算机可读存储介质300存储有计算机程序311,所述计算机程序311被处理器执行时实现以下步骤:

每打开一个视频,通过主控进程dy_pcclient创建对应的解码进程rpcmediadecoder;

通过所述主控进程dy_pcclient向所述解码进程rpcmediadecoder发送open_media命令,以通知所述解码进程rpcmediadecoder进行音视频解码,从而得到每个视频的视频图像和音频数据;

通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令,以通知所述主控进程dy_pcclient播放所述视频图像;

初始化音频播放器,通过所述解码进程rpcmediadecoder播放所述音频数据;

通过所述解码进程rpcmediadecoder同步所述音频数据和所述视频图像。

在具体实施过程中,该计算机程序311被处理器执行时,可以实现实施例一中任一实施方式。

基于同一发明构思,本申请还提供了一种计算机设备,详见图4,下面将结合图4对实施例四进行介绍。

实施例四:

本申请提供了一种计算机设备400,包括处理器420、存储器410以及存储在存储器410上并可在处理器420上运行的计算机程序411,所述处理器420执行所述计算机程序411时实现以下步骤:

每打开一个视频,通过主控进程dy_pcclient创建对应的解码进程rpcmediadecoder;

通过所述主控进程dy_pcclient向所述解码进程rpcmediadecoder发送open_media命令,以通知所述解码进程rpcmediadecoder进行音视频解码,从而得到每个视频的视频图像和音频数据;

通过所述解码进程rpcmediadecoder向所述主控进程dy_pcclient发送mdt_updatevideo命令,以通知所述主控进程dy_pcclient播放所述视频图像;

初始化音频播放器,通过所述解码进程rpcmediadecoder播放所述音频数据;

通过所述解码进程rpcmediadecoder同步所述音频数据和所述视频图像。

由于本实施例所介绍的计算机设备400为实施本申请实施例一中多进程解码的播放方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的计算机设备400的具体实施方式以及其各种变化形式,所以在此对于该计算机设备400如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

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

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

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