首页 / 专利库 / 电脑零配件 / 硬件 / 一种播放媒体文件的方法及装置

一种播放媒体文件的方法及装置

阅读:155发布:2024-02-26

专利汇可以提供一种播放媒体文件的方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 提供一种播放媒体文件的方法。该方法包括:判断是否需要资源替代;以及当需要资源替代时,从备选资源集中选择替代资源,以替代所述媒体文件中原始资源进行播放。本发明还提供了相应的装置。本发明中,当当前媒体文件的播放出现问题时,通过从备选资源集中选择替代资源,以替代原始资源进行播放,实时并有效改善当前媒体文件的播放,保持较佳播放效果,而无需改变播放媒体文件的 硬件 组件和 软件 组件。,下面是一种播放媒体文件的方法及装置专利的具体信息内容。

1.一种播放媒体文件的方法,其特征在于,包括:
判断是否需要资源替代;以及
当需要资源替代时,从备选资源集中选择替代资源,以替代所述媒体文件中原有资源进行播放。
2.如权利要求1中所述的方法,其特征在于,所述判断是否需要资源替代包括:
判断预设条件是否被满足;以及
若所述预设条件被满足,则确定需要所述资源替代;
其中所述预设条件包括所述原有资源的分数是否小于阈值分数和/或所述原有资源是否出现播放异常。
3.如权利要求2中所述的方法,其特征在于,还包括:
执行资源探测,以建立所述备选资源集;以及
监测所述备选资源集,并在所述备选资源集中的备选资源数量小于预定值时执行所述资源探测,以更新所述备选资源集。
4.如权利要求3中所述的方法,其特征在于,执行所述资源探测包括:
获取所述媒体文件的属性信息和特征信息;
根据所述属性信息和/或所述特征信息,自本地和/或外部获取多个新资源;
根据资源本身以及平台是否支持资源的解析、解码或输出,对所述多个新资源分别进行评分,以分别得到所述多个新资源的分数;以及
将分数大于或等于阈值分数的新资源设置为备选资源,并添加到所述备选资源集中。
5.如权利要求4中所述的方法,其特征在于,
对所述原有资源或新资源进行评分包括:
依次判断所述原有资源或新资源是否为已解析的数据和已解码的数据;
若所述原有资源或新资源不为已解析的数据,则根据平台对所述原有资源或新资源的解码和输出的支持情况,获得所述原有资源或新资源的分数;
若所述原有资源或新资源为已解析且已解码的数据,则根据平台对所述原有资源或新资源的输出的支持情况,获得所述原有资源或新资源的分数。
6.如权利要求5中所述的方法,其特征在于,根据平台对所述原有资源或新资源的解码和输出或平台对所述原有资源或新资源的输出的支持情况,获得所述原有资源或新资源的分数包括:
根据如下公式计算出所述原有资源或新资源的分数:
其中,S为所述原有资源或新资源的分数;si是数据来源的系数且小于或等于1,且所有数据来源的系数之和为1;M是资源参数的个数,且大于或等于1;qm是资源参数的值,Qm是平台所支持的资源参数的上限值,以及Km是资源参数的权重,且所有资源参数的权重之和为
1。
7.如权利要求6中所述的方法,其特征在于,还包括:
监测所述替代资源的播放;
若监测到所述替代资源出现所述播放异常,重新从所述备选资源集中选择另一替代资源以重新进行替代播放;
将出现所述播放异常的所述替代资源自所述备选资源集移除并加入备选资源黑名单中;以及
调整出现播放异常的所述替代资源所对应的所述数据来源的系数以及所述播放异常所对应的资源参数的权重,以在执行所述资源探测时避免探测与出现播放异常的所述替代资源相同或相似的新资源。
8.如权利要求1中所述的方法,其特征在于,所述替代所述媒体文件中原有资源进行播放包括:
依次判断所述替代资源是否为已解析的数据和已解码的数据;
若所述替代资源为已解析的数据且为已解码的数据,则获取所述替代资源的所述预定位置,并自所述预定位置将所述替代资源放入缓冲区以待输出;
其中,所述预定位置位于所述原有资源的当前播放位置之后,或为所述原有资源的当前播放位置,或为所述原始资源或替代资源的起始位置。
9.如权利要求8中所述的方法,其特征在于,所述替代所述媒体文件中原有资源进行播放还包括:
判断所述原有资源的播放流程是否已停止;
若所述原有资源的播放流程未停止,则将所述原始资源输出到所述预定位置,停止播放所述原始资源,并输出所述缓冲区中的所述替代资源;以及
若所述原有资源的播放流程停止,则直接输出所述缓冲区中的所述替代资源。
10.一种播放媒体文件的装置,其特征在于,包括处理器和存储器,所述存储器存储有指令,所述指令在执行时使得所述处理器执行如权利要求1-9中任一项所述的播放媒体文件的方法。

说明书全文

一种播放媒体文件的方法及装置

技术领域

[0001] 本发明的所公开实施例涉及多媒体技术领域,且更具体而言,涉及一种播放媒体文件的方法及装置。

背景技术

[0002] 播放音频或视频等媒体文件时,会出现此文件中的音频或视频不被播放平台支持,或者播放平台支持但播放质量低,例如,音频的音质较差、视频的分辨率较低、播放不流畅、数据错误等。
[0003] 如图1所示,为播放媒体文件的常规处理流程,包括解析、解码、同步控制和输出。其中,解析和解码可以由软件组件和硬件组件来完成,解码包括视频解码和音频解码。同步控制由软件完成,用于将视频和音频解码后的声音和画面同步。输出由输出设备完成,例如,显示设备和声音输出设备。在此常规播放流程中,在出现不支持的媒体文件时不能继续播放,或者在支持的媒体文件播放质量低时,仍然继续播放。可以看出,出现上述情况,播放效果差,给用户的体验不佳。

发明内容

[0004] 本发明的目的在于,提供一种播放媒体文件的方法及装置,以在出现上述播放问题时,保持较佳播放效果,而不改变常规播放处理流程中的硬件组件及软件组件
[0005] 本发明解决上述技术问题所采用的一技术方案是提供了一种播放媒体文件的方法。该方法包括:判断是否需要资源替代;以及当需要资源替代时,从备选资源集中选择替代资源,以替代所述媒体文件中原有资源进行播放。
[0006] 本发明解决上述技术问题所采用的另一技术方案是提供了一种播放媒体文件的装置。该装置包括处理器和存储器,所述存储器存储有指令,所述指令在执行时使得所述处理器执行上述的播放媒体文件的方法。
[0007] 本发明的有益效果有:当前媒体文件的播放出现问题时,通过从备选资源集中选择替代资源,以替代原有资源进行播放,实时并有效改善当前媒体文件的播放,保持较佳播放效果,而无需改变播放媒体文件的硬件组件和软件组件。附图说明
[0008] 图1是播放媒体文件的常规处理流程的流程图
[0009] 图2是本发明第一实施例的播放媒体文件的方法的流程图。
[0010] 图3是本发明第二实施例的播放媒体文件的方法的流程图。
[0011] 图4是本发明第三实施例的播放媒体文件的方法的流程图。
[0012] 图5是本发明第四实施例的播放媒体文件的方法的流程图。
[0013] 图6是本发明第五实施例的播放媒体文件的方法的流程图。
[0014] 图7是本发明第六实施例的播放媒体文件的方法的流程图。
[0015] 图8是本发明第七实施例的播放媒体文件的方法的流程图。
[0016] 图9是本发明第八实施例的播放媒体文件的方法的流程图。
[0017] 图10是本发明实施例的播放媒体文件的装置的结构示意图。

具体实施方式

[0018] 为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明的技术方案做进一步详细描述。
[0019] 如图2所示,是本发明第一实施例的播放媒体文件的方法的流程图。该方法可以在终端上实施。该终端可以为移动终端,例如智能手机、平板电脑等,或者固定终端,例如计算机、服务器等。该方法包括以下步骤:
[0020] 步骤S21:判断是否需要资源替代。
[0021] 资源替代可以是事件触发的。用于资源替代的触发事件可以称为资源替代触发事件。资源替代触发事件可以包括预设条件没有被满足,例如,当前媒体文件的原有资源的分数小于阈值分数,当前媒体文件的播放效果不佳,比如播放当前媒体文件中的音频或视频出现错误、播放当前媒体文件中的音频或视频不流畅等。资源替代触发事件也可以包括接收用户指令,例如,用户根据自行判断而需要资源替代。
[0022] 步骤S22:当需要资源替代时,从备选资源集中选择替代资源,以替代媒体文件中原有资源进行播放。
[0023] 当资源替代触发事件发生时,从备选资源集中选择替代资源进行播放,而不播放媒体文件中的原有资源,其中从备选资源集中选择的替代资源为备选资源集中分数最高的资源。替代资源可以包括视频资源和/或音频资源和/或字幕资源。例如,当前媒体文件的视频分辨率低于特定值,资源替代触发事件发生,从备选资源集中选择一视频资源,替代当前媒体文件的原有视频资源,从而该视频资源替代原有视频资源进行替代播放。
[0024] 备选资源集中包括与原有资源内容相同且比原有资源的分数更高的多个资源。该备选资源集可以是预先定义的,也可以是在执行步骤S22时通过资源探测而建立或更新的。
[0025] 步骤S21可以在播放媒体文件的过程中执行,此时,当资源替代不需要时,采用图1中的处理流程,继续媒体文件的播放。步骤S21 也可以在播放媒体文件之前执行,即没有播放媒体文件时执行步骤S21,此时,当资源替代不需要时,直接采用图1中的处理流程播放该媒体文件。
[0026] 根据上述实施例,当当前媒体文件的播放出现问题时,通过从备选资源集中选择替代资源,以替代原有资源进行播放,实时并有效改善当前媒体文件的播放,保持较佳播放效果,而无需改变播放媒体文件的硬件组件和软件组件。
[0027] 如图3所示,是本发明第二实施例的播放媒体文件的方法的流程图,在上述播放媒体文件的方法第一实施例的基础上,步骤S21可以包括如下步骤:
[0028] 步骤S211:判断预定义条件是否被满足。
[0029] 预定义条件可以包括原有资源的分数是否小于阈值分数和/或原有资源是否出现播放异常。在一示例中,预定义条件为音频的分数小于阈值分数,表明媒体文件的音质差。在另一示例中,预定义条件可以为接收到用户指令。
[0030] 原有资源的分数是根据原有资源本身以及平台是否支持原有资源的解析、解码或输出对原有资源进行评分而得到的。在一示例中,可以在步骤S211之前对媒体文件进行评分,具体地,根据各个资源本身以及平台是否支持其解析、解码或输出,对解析得到的各个资源进行评分,相关说明详见下述实施例,在此不再说明。
[0031] 播放异常包括以下中任一项:资源的运行错误影响播放、资源的处理出错率大于或等于预定义值、资源的数据消耗速率波动大于或等于预定义值、资源的数据输出率与根据播放倍速计算得到的速率不一致。其中,资源的处理出错率大于或等于预定义值,表示媒体文件中存在较多的错误。资源的数据消耗速率波动大于或等于预定义值,表示输出不流畅。如果在输出流畅的情况下,资源的数据输出率与根据播放倍速计算得到的速率不一致,表示播放过慢或过快。
[0032] 步骤S212:当预定义条件被满足时,确定需要资源替代。
[0033] 预定义条件被满足,例如,原有资源的分数小于阈值分数,或者原有资源出现播放异常,或者原有资源的分数小于阈值分数且原有资源出现播放异常,则表示资源替代触发事件发生,需要资源替代,进而执行替代播放。
[0034] 如图4所示,是本发明第三实施例的播放媒体文件的方法的流程图,在上述实施例的播放媒体文件的方法的基础上,该方法还可以包括以下步骤:
[0035] 步骤S23:执行资源探测,以建立备选资源集。
[0036] 执行资源探测可以在后台执行。对于不同的资源,其资源探测是独立执行的,例如,音频、视频和字幕的探测是相互独立执行。
[0037] 本步骤S23可以在步骤S21之前执行,也可以在执行步骤S22时执行。
[0038] 步骤S24:监测备选资源集,并在备选资源集中的备选资源数量小于预定值时执行资源探测,以更新备选资源集。
[0039] 监测备选资源集包括监测备选资源集中的备选资源数量和/或监测备选资源集中备选资源的有效性。监测备选资源集可以间隔一定时间执行一次。
[0040] 当备选资源集中的备选资源数量小于预定值,执行资源探测流程,进而更新备选资源集;当备选资源数量达到预定值,停止资源探测流程。在一示例中,监测备选资源集中备选资源的有效性包括备选资源是否自备选资源集中移除。若某个备选资源已自备选资源集中移除,备选资源数量减少,此时,执行资源探测流程,并且将该移除的备选资源加入备选资源黑名单。
[0041] 注意的是,步骤S23和步骤S24的顺序是示意的,不一定按照此顺序执行,例如,步骤S23和步骤S24可以同时执行。
[0042] 根据本实施例,通过资源探测,建立备选资源集及更新备选资源集,并通过监测备选资源集,保持备选资源集有效。
[0043] 如图5所示,是本发明第四实施例的播放媒体文件的方法的流程图,在上述实施例的播放媒体文件的方法的基础上,执行资源探测包括如下步骤:
[0044] 步骤S511:获取媒体文件的属性信息和特征信息。
[0045] 媒体文件的属性信息可以包括媒体文件的名称和媒体文件的路径。媒体文件的特征信息可以包括媒体文件解码后的若干特定位置处的数据。例如,可以先读取媒体文件的若干特定位置处的数据,然后将若干位置处的数据进行解码,并提取解码后数据的特征,以此作为特征信息。又例如,可以直接将解码后的若干数据作为特征信息。
[0046] 步骤S512:根据属性信息和/或特征信息,自本地和/或外部获取多个新资源。
[0047] 外部可以指的是网络和/或互联共享,互联共享包括局域共享、特定协议共享和特定服务器地址等。在一示例中,可以按照特定顺序获取资源,例如,先本地再外部的顺序。在另一示例中,可以直接自特定位置获取新资源,例如,直接自特定服务器地址获取新资源。
[0048] 在一示例中,根据属性信息获取新资源可以是直接根据媒体文件的名称从本地或外部来获取。在另一示例中,根据属性信息和特征信息获取新资源可以是先根据媒体文件的名称从本地或外部获取若干资源,然后将获取的资源与媒体文件的特征信息进行相似比较,将相似度达到特定条件的资源作为所需获取的新资源。
[0049] 步骤S513:根据资源本身以及平台是否支持资源的解析、解码或输出,对多个新资源分别进行评分,以分别得到多个新资源的分数。
[0050] 在一示例中,在对资源进行评分之前,还包括:判断平台是否支持资源的编码和资源的数据是否按照特定封装格式封装;若平台支持资源的编码且资源的数据按照特定封装格式封装,则对该资源进行评分,否则,直接将该资源的分数判定为0,并将该资源加入备选资源黑名单。
[0051] 在一示例中,对新资源进行评分包括:依次判断新资源是否为已解析的数据和已解码的数据,若新资源不为已解析的数据,则根据平台对新资源的解码和输出的支持情况,获得新资源的分数,若新资源为已解析且已解码的数据,则根据平台对新资源的输出的支持情况,获得新资源的分数。进一步地,在一示例中,根据平台对新资源的解码和输出的支持情况,获得新资源的分数包括:
[0052] 根据如下公式计算出新资源的分数:
[0053]
[0054] 其中,S为新资源的分数;si是数据来源的系数且小于或等于1,且所有数据来源的系数之和为1;M是资源参数的个数,且大于或等于1;qm是资源参数的值,Qm是平台所支持的资源参数的上限值,以及Km是资源参数的权重,且所有资源参数的权重之和为1,即数据来源表示资源的来源,即资源是来自本地,或来自于外部,假如从本地、网络和互联共享进行探测,则存在3个数据来源的系数,即分别为s1、s2、s3,可以将这三个系数分别设置为小于 1且其和等于1的数值。资源参数包括采样率、率、码率、分辨率等。例如,资源为视频资源时,资源参数包括帧率、码率、分辨率。又例如,资源为音频资源时,资源参数包括采样率。又例如,资源为字幕资源时,资源参数包括编码、语言匹配、地理位置匹配。此时,资源参数可以是对资源进行解码的解码参数以及对资源进行输出的输出设备参数,例如,帧率和分辨率。根据平台对新资源的输出的支持情况,获得新资源的分数包括:在一示例中,根据上述公式计算出新资源的分数。此时,资源参数可以仅是对新资源进行输出的输出设备参数,例如,分辨率。
[0055] 步骤S514:将分数大于或等于阈值分数的新资源设置为备选资源,并添加到备选资源集中。
[0056] 在一示例中,当备选资源集中的备选资源数量小于预定值时,此时,若分数大于或等于阈值分数的新资源的数量大于备选资源集中所需的数量,则将分数大于或等于阈值分数的新资源按照其分数的高低依次设置为备选资源,并添加到备选资源集中,直到备选资源集中当前的备选资源数量达到预定值。
[0057] 在一示例中,将分数大于或等于阈值分数的新资源设置为备选资源包括:给分数大于或等于阈值分数的新资源建立备选资源条目,其中备选资源条目包括评分信息、路径信息、标识信息、附加信息和文件信息。评分信息即为备选资源的分数。路径信息为备选资源所属文件的路径。标识信息用于标识备选资源的类型,例如,视频、音频或字幕。在一示例中,标识信息可以用二进制值表示,例如,00表示备选资源的类型为视频,01表示备选资源的类型为音频,以及10表示备选资源的类型为字幕。附加信息包括用于获取资源的协议及服务描述信息,服务描述信息包括最大速率和支持的操作比如否支持请求扩大带宽,是否支持多通路传输等。文件信息可以包括采样率、码率等。也就是说,备选资源集中每个备选资源的格式为评分信息、路径信息、标识信息、附加信息和文件信息。
[0058] 如图6所示,是本发明第五实施例的播放媒体文件的方法的流程图,在上述实施例的播放媒体文件的方法的基础上,对原有资源或新资源进行评分包括如下步骤:
[0059] 步骤S611:判断原有资源或新资源是否已解析的数据。
[0060] 若原有资源或新资源不为已解析的数据,则执行步骤S612,若原有资源或新资源为已解析的数据,则执行步骤S616。
[0061] 步骤S612:判断平台是否可解析原有资源或新资源。
[0062] 若平台可解析原有资源或新资源,则执行步骤S613,若平台不可解析原有资源或新资源,则执行步骤S615。
[0063] 步骤S613:对原有资源或新资源进行解析,以获得解析数据。
[0064] 步骤S614:根据平台对解析数据的解码和输出的支持情况,获得原有资源或新资源的分数。具体地,根据平台对解码和输出的支持情况而获得原有资源或新资源的分数,可以根据如下公式计算出原有资源或新资源的分数:
[0065]
[0066] 其中,S为原有资源或新资源的分数;si是数据来源的系数且小于或等于1,且所有数据来源的系数之和为1;M是资源参数的个数,且大于或等于1;qm是资源参数的值,Qm是平台所支持的资源参数的上限值,以及Km是资源参数的权重,且所有资源参数的权重之和为1,即 此时,资源参数可以是对原有资源或新资源进行解码的解码参数以及对原有资源或新资源进行输出的输出设备参数,例如,帧率和分辨率。
[0067] 步骤S615:原有资源或新资源的分数判定为0;
[0068] 步骤S616:判断原有资源或新资源是否为已解码的数据。
[0069] 若原有资源或新资源为已解码的数据,则执行步骤S617,若原有资源或新资源不为已解码的数据,则执行步骤S614。
[0070] 步骤S617:根据平台对原有资源或新资源的输出的支持情况,获得原有资源或新资源的分数。具体地,根据平台对原有资源或新资源的输出的支持情况而获得原有资源或新资源的分数包括:根据如下公式计算出原有资源或新资源的分数:
[0071]
[0072] 其中,S为原有资源或新资源的分数;si是数据来源的系数且小于或等于1,且所有数据来源的系数之和为1;M是资源参数的个数,且大于或等于1;qm是资源参数的值,Qm是平台所支持的资源参数的上限值,以及Km是资源参数的权重,且所有资源参数的权重之和为1,即 此时,资源参数可以是对原有资源或新资源进行输出的输出设备参
数,例如,分辨率。
[0073] 如图7所示,是本发明第六实施例的播放媒体文件的方法的流程图,在上述实施例的播放媒体文件的方法的基础上,该方法还包括以下步骤:
[0074] 步骤S25:监测替代资源的播放。
[0075] 监测替代资源的播放可以与步骤S22同时执行。
[0076] 步骤S26:若监测到替代资源的播放异常,重新自备选资源集中选择另一替代资源以重新进行替代播放。
[0077] 播放异常包括以下中任一项:资源的运行错误影响播放、资源的处理出错率大于或等于预定义值、资源的数据消耗速率波动大于或等于预定义值、资源的数据输出率与根据播放倍速计算得到的速率不一致。其中,资源的处理出错率大于或等于预定义值,表示媒体文件中存在较多的错误。资源的数据消耗速率波动大于或等于预定义值,表示输出不流畅。如果在输出流畅的情况下,资源的数据输出率与根据播放倍速计算得到的速率不一致,表示播放过慢或过快。
[0078] 步骤S27:将出现播放异常的替代资源自备选资源集移除并加入备选资源黑名单中。
[0079] 备选资源黑名单中的资源不再用作替代资源进行替代播放。
[0080] 步骤S28:调整出现播放异常的替代资源所对应的数据来源的系数以及播放异常所对应的资源参数的权重,以在执行资源探测时避免探测与出现播放异常的替代资源相同或相似的新资源。
[0081] 在一示例中,监测到当前替代资源播放异常时,调整出现播放异常的替代资源所对应的数据来源的系数以及播放异常所对应的资源参数的权重,具体地,先适当调低数据来源的系数si,然后适当调低播放异常所对应的资源参数的权重Km,并将其他的资源参数的权重 Km适当调高,以保证所有资源参数的权重Km之和为1。
[0082] 根据本实施例,通过监测当前替代资源的播放,实现自动切换到有效的替代资源以进行替代播放,并且通过将播放异常的替代资源加入备选资源黑名单,防止重复选择和监测。
[0083] 如图8所示,是本发明第七实施例的播放媒体文件的方法的流程图,在上述播放媒体文件的方法第一实施例的基础上,步骤S22中替代媒体文件中原有资源进行播放包括如下步骤:
[0084] 步骤S221:判断替代资源是否为已解析的数据。
[0085] 若从备选资源集中选择的替代资源不为已解析的数据,则跳转到步骤S222;若否,则跳转到步骤S226。
[0086] 步骤S222:对替代资源进行解析。
[0087] 步骤S223:获取解析后的替代资源的预定位置,其中预定位置位于原有资源的当前播放位置之后,或为原有资源的当前播放位置,或为原始资源或替代资源的起始位置。例如,在播放媒体文件时用替代资源替代原有资源的情景中,如果原有资源仍处于播放中,则预定位置位于原有资源的当前播放位置之后,如果原有资源没有处于播放中,则预定位置为原有资源的当前播放位置。对于在播放媒体文件之前用替代资源替代原有资源的情景中,预定位置为原始资源或替代资源的起始位置。
[0088] 步骤S224:自预定位置对替代资源进行解码。
[0089] 步骤S225:将解码后的替代资源放入缓冲区以待输出。
[0090] 步骤S226:判断替代资源是否为已解码的数据。
[0091] 若替代资源不为已解码的数据,则跳转到步骤S223,否则,跳转到步骤S227。
[0092] 步骤S227:获取替代资源的预定位置,其中,对于播放后替换的场景,如果原有资源仍在播放,预定位置位于原有资源的当前播放位置之后,否则,预定位置就是当前的播放位置。对于播放前替换的场景,预定位置是资源起始位置。
[0093] 步骤S228:自预定位置将替代资源放入缓冲区以待输出。
[0094] 上述步骤S222与步骤S226的执行顺序不一定按照上述顺序来执行,可以先执行步骤S226,再执行步骤S222,也可以同时执行步骤 S222和S226。
[0095] 如图9所示,是本发明第八实施例的播放媒体文件的方法的流程图,在上述播放媒体文件的方法第七实施例的基础上,步骤S22中替代媒体文件中原有资源进行播放还包括如下步骤:
[0096] 步骤S229:判断原有资源的播放流程是否已停止。
[0097] 在播放的处理流程中,当原有资源的解析、解码、同步控制和输出中任一项停止时,表示原有视频的播放流程停止。
[0098] 若原有资源的播放流程未停止,则执行步骤S230,若原有资源的播放流程已停止,则直接执行步骤S231。
[0099] 步骤S230:将原有资源输出到预定位置,停止播放原有资源,并输出缓冲区中的替代资源。将原有资源输出到预定位置是指采用图1 的处理流程播放到预定位置,此时停止播放,即不再对原有资源进行解析、解码、输出等处理。
[0100] 步骤S231:直接输出缓冲区中的替代资源。
[0101] 注意的是,音频资源和视频资源的播放状态独立监控。在输出缓冲区中的替代资源之前,需要同步控制替代资源与媒体文件中的其他路的资源。也就是说,替代资源替代原有资源的色,在播放过程中,同样存在同步控制这一处理,这与播放媒体文件的常规处理流程中的同步控制相同,在此不做详细描述。
[0102] 如图10所示,是本发明的播放媒体文件的装置实施例的结构示意图,该装置用于一终端,包括存储器1010、处理器1020、输出设备1030以及总线1040。
[0103] 存储器1010可以包括只读存储器随机存取存储器,并向处理器1020提供指令和数据。存储器1010的一部分还可以包括非易失性随机存取存储器(NVRAM)。
[0104] 存储器1010存储有如下的元素,可执行模或者数据结构,或者它们的子集,或者它们的扩展集:操作指令,包括各种操作指令,用于实现各种操作;操作系统,包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
[0105] 输出设备1030包括显示设备,例如阴极射线管(cathode ray tube, CRT)或液晶显示器(liquid crystal display,LCD)等,以及扬声器或类似的音频输出设备。一些实施例包括诸如同时用作输入设备和输出设备的触摸屏等设备。
[0106] 具体的应用中,终端的各个组件通过总线1040耦合在一起,其中总线1040除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1040。
[0107] 在一实施例中,处理器1020通过调用存储器1010存储的指令,结合输出设备1030可以执行如下操作:
[0108] 判断是否需要资源替代。
[0109] 当需要资源替代时,从备选资源集中选择替代资源,以替代媒体文件中原有资源进行播放。
[0110] 具体地,在一实施例中,处理器1020在指令被执行时可以执行:判断预定义条件是否被满足;当预定义条件被满足时,确定需要资源替代。其中预设条件包括原有资源的分数是否小于阈值分数和/或原有资源是否出现播放异常;其中原有资源的分数是根据原有资源本身以及平台是否支持原有资源的解析、解码或输出对原有资源进行评分而得到的;以及其中播放异常包括以下中任一项:资源的运行错误影响播放、资源的处理出错率大于或等于预定义值、资源的数据消耗速率波动大于或等于预定义值和资源的数据输出率与根据播放倍速计算得到的速率不一致。
[0111] 具体地,在一实施例中,处理器1020在指令被执行时还可以执行:执行资源探测,以建立备选资源集;以及监测备选资源集,并在备选资源集中的备选资源数量小于预定值时执行资源探测,以更新备选资源集。
[0112] 具体地,在一实施例中,处理器1020在指令被执行时可以执行:获取媒体文件的属性信息和特征信息;根据属性信息和/或特征信息,自本地和/或外部获取多个新资源;根据资源本身以及平台是否支持资源的解析、解码或输出,对多个新资源分别进行评分,以分别得到多个新资源的分数;以及将分数大于或等于阈值分数的新资源设置为备选资源,并添加到备选资源集中。
[0113] 具体地,在一实施例中,处理器1020在指令被执行时可以执行:对原有资源或新资源进行评分包括:依次判断所述原有资源或新资源是否为已解析的数据和已解析的数据;若所述原有资源或新资源不为已解析的数据,则根据平台对所述原有资源或新资源的解码和输出的支持情况,获得所述原有资源或新资源的分数;若所述原有资源或新资源为已解析且已解码的数据,则根据平台对所述原有资源或新资源的输出的支持情况,获得所述原有资源或新资源的分数。
[0114] 具体地,在一实施例中,根据平台对所述原有资源或新资源的解码和输出或平台对所述原有资源或新资源的输出的支持情况获得原有资源或新资源的分数包括:根据如下公式计算出原有资源或新资源的分数:
[0115]
[0116] 其中,S为原有资源或新资源的分数;si是数据来源的系数且小于或等于1,且所有数据来源的系数之和为1;M是资源参数的个数,且大于或等于1;qm是资源参数的值,Qm是平台所支持的资源参数的上限值,以及Km是资源参数的权重,且所有资源参数的权重之和为1。
[0117] 具体地,在一实施例中,处理器1020在指令被执行时还可以执行:监测替代资源的播放;若监测到替代资源出现播放异常,重新从备选资源集中选择另一替代资源以重新进行替代播放;将出现播放异常的替代资源自备选资源集移除并加入备选资源黑名单中;以及调整出现播放异常的替代资源所对应的数据来源的系数以及播放异常所对应的资源参数的权重,以在执行资源探测时避免探测与出现播放异常的替代资源相同或相似的新资源。
[0118] 具体地,在一实施例中,处理器1020在指令被执行时可以执行:依次判断替代资源是否为已解析的数据和已解码的数据;若替代资源为已解析的数据且为已解码的数据,则获取替代资源的预定位置,并自预定位置将替代资源放入缓冲区以待输出;其中,预定位置位于原有资源的当前播放位置之后,或为原有资源的当前播放位置,或为原始资源或替代资源的起始位置。
[0119] 具体地,在一实施例中,处理器1020在指令被执行时还可以执行:判断原有资源的播放流程是否已停止;若原有资源的播放流程未停止,则将原始资源输出到预定位置,停止播放原始资源,并通过输出设备1030输出缓冲区中的替代资源;以及若原有资源的播放流程停止,则通过输出设备1030直接输出缓冲区中的替代资源。
[0120] 对于根据本实施例的播放媒体文件的装置中的各个组件的功能的具体描述,请参考上述播放媒体文件方法的相应实施例的相关描述。
[0121] 上述本发明实施例揭示的方法可以应用于处理器1020中,或者由处理器1020实现。处理器1020可能是一种集成电路芯片,具有信号的处理能。在实现过程中,上述方法的各步骤可以通过处理器 1020中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1020可以是通用处理器、数字信号处理器(DSP)、专用集成电路 (ASIC)、现成可编程阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1010,处理器1020读取存储器1010中的信息,结合其硬件完成上述方法的步骤。
[0122] 所属领域的技术人员易知,可在保持本发明的教示内容的同时对装置及方法作出诸多修改及变动。因此,以上公开内容应被视为仅受随附权利要求书的范围的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈