System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,具体涉及一种多媒体设备、调用方法及存储介质。
技术介绍
1、在多媒体设备(例如机顶盒等点播设备)中,除了基础的点歌功能,还会安装各式各样的点播相关辅助应用。并且,为了提高点歌等操作的使用便捷性,除了可以直接在多媒体设备上进行点播等操作,还可以通过平板、手机等设备连接多媒体设备进行点歌和点歌相关的辅助操作。
2、因此多媒体设备需要对外提供一些允许外部调用的函数(即接口),以方便其他设备(例如平板、手机等)或应用调用。在现有技术中,多媒体设备所提供的所述函数无法同时满足跨进程调用和跨设备的远程调用,即只能在跨进程调用和跨设备调用中二者选一。并且所述函数的兼容性差,当多媒体设备系统升级时,需要对依赖系统提供的接口的设备进行重编译和升级,因此所涉及的维护工作量巨大。
技术实现思路
1、鉴于上述问题,本申请提供了一种多媒体设备、调用方法及存储介质,用于解决上述允许外部调用的函数使用灵活性差,且维护工作量巨大的技术问题。
2、为实现上述目的,专利技术人提供了一种多媒体设备的调用方法,包括以下步骤:
3、多媒体设备定义调用通信接口,所述调用通信接口通过序列化处理后的字节数组传输调用信息;
4、所述多媒体设备通过所述调用通信接口接收调用信息,并对所述调用信息进行反序列化处理,得到需要调用的函数名称和参数;
5、所述多媒体设备根据所述函数名称进行函数调用,得到所述函数的运行结果,以及将所述运行结果通过所述调用通信接口进行序
6、进一步,所述调用通信接口采用跨进程语言进行通信或采用tcp/http协议进行跨设备通信。
7、进一步,所述多媒体设备定义唯一的调用通信接口。
8、进一步的,所述多媒体设备中允许被调用的函数通过以下步骤自动生成:
9、在多媒体设备中允许被调用的函数上添加可被调用的注解;
10、在所述多媒体设备的代码编译阶段,使用javapoet和/或annotationprocessor对标注有所述注解的函数进行编译生成函数的调用代码。
11、进一步的,所述多媒体设备将所述函数的调用代码以aar包封装以便请求端调用;或所述多媒体设备将所述函数的调用代码挂载于云仓库中以便请求端调用。
12、进一步的,所述序列化处理包括:json、protocol buffers或自定义序列化方式中的任意一种。
13、进一步的,还包括步骤:
14、所述多媒体设备根据所述请求端的订阅信息,通过所述调用通信接口主动向所述请求端推送回调信息;
15、所述请求端对所述回调信息进行反序列化处理后,得到回调函数名称和参数;以及执行所述回调函数,并将所述回调函数的运行结果序列化处理之后发送给所述多媒体设备。
16、为解决上述技术问题,本申请还提供了另一技术方案:
17、一种多媒体设备,所述多媒体设备定义有调用通信接口,所述调用通信接口通过序列化处理后的字节数组传输调用信息;
18、从所述调用通信接口接收调用信息,并对所述调用信息进行反序列化处理,得到需要调用的函数名称和参数;
19、根据所述函数名称进行函数调用,得到所述函数的运行结果,以及将所述运行结果通过所述调用通信接口进行序列化处理后返回给调用的请求端。
20、进一步,所述调用通信接口采用跨进程语言进行通信或采用tcp/http协议进行跨设备通信。
21、进一步,所述多媒体设备定义唯一一个调用通信接口。
22、进一步的,所述多媒体设备包括多个允许被调用的函数,所述允许被调用的函数标注有可被调用的注解;
23、所述允许被调用的函数的调用代码是在所述多媒体设备的代码编译阶段,使用javapoet和/或annotationprocessor对标注有所述注解的函数进行编译生成的。
24、进一步的,所述多媒体设备将所述函数的调用代码以aar包封装以便请求端调用;或所述多媒体设备将所述函数的调用代码挂载于云仓库中以便请求端调用。
25、进一步的,所述多媒体设备还用于根据请求端的订阅信息,通过所述调用通信接口主动向所述请求端推送回调信息;以及接收所述请求端发送的所述回调函数的运行结果。
26、为解决上述技术问题,本申请还提供了另一技术方案:
27、一种计算机可读存储介质,其内存储有计算机程序,所述计算机程序被运行时,执行以任意一项技术方案所述的多媒体设备的调用方法。
28、区别于现有技术,上述技术方案多媒体设备的调用方法定义唯一的调用通信接口,即仅仅定义这一个调用通信接口,调用通信接口以序列化处理后的字节数组传输调用信息,从而保证调用信息在传输过程中的安全;该调用通信接口可以根据调用请求端与多媒体设备的关系,选择采用跨进程语言进行通信或采用tcp/http协议进行跨设备通信,从而同时兼容跨进程调用和跨设备的远程调用。
29、并且本技术方案在对字节数组进行反序列化处理得到需要调用的函数名称后,通过反射的方式(即根据函数名称查找函数并进行调用)调用对应的函数,因此在多媒体设备系统升级时,无需对依赖这些函数的设备进行重新编写与升级,可提高函数的兼容性,以及便于日常维护。
30、上述
技术实现思路
相关记载仅是本申请技术方案的概述,为了让本领域普通技术人员能够更清楚地了解本申请的技术方案,进而可以依据说明书的文字及附图记载的内容予以实施,并且为了让本申请的上述目的及其它目的、特征和优点能够更易于理解,以下结合本申请的具体实施方式及附图进行说明。
【技术保护点】
1.一种多媒体设备的调用方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的多媒体设备的调用方法,其特征在于,所述调用通信接口采用跨进程语言进行通信或采用tcp/http协议进行跨设备通信。
3.根据权利要求1所述的多媒体设备的调用方法,其特征在于,所述多媒体设备定义唯一的调用通信接口。
4.根据权利要求1所述的多媒体设备的调用方法,其特征在于,所述多媒体设备中允许被调用的函数通过以下步骤自动生成:
5.根据权利要求4所述的多媒体设备的调用方法,其特征在于,所述多媒体设备将所述函数的调用代码以aar包封装以便请求端调用;或所述多媒体设备将所述函数的调用代码挂载于云仓库中以便请求端调用。
6.根据权利要求1至5任一所述的多媒体设备的调用方法,其特征在于,所述序列化处理包括:JSON、Protocol Buffers或自定义序列化方式中的任意一种。
7.根据权利要求1所述的多媒体设备的调用方法,其特征在于,还包括步骤:
8.一种多媒体设备,其特征在于,所述多媒体设备定义有调用通信接口,所述调用通
9.根据权利要求8所述的多媒体设备,其特征在于,所述多媒体设备包括多个允许被调用的函数,所述允许被调用的函数标注有可被调用的注解;
10.一种计算机可读存储介质,其内存储有计算机程序,其特征在于,所述计算机程序被运行时,执行权利要求1至7任意一项所述的多媒体设备的调用方法。
...【技术特征摘要】
1.一种多媒体设备的调用方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的多媒体设备的调用方法,其特征在于,所述调用通信接口采用跨进程语言进行通信或采用tcp/http协议进行跨设备通信。
3.根据权利要求1所述的多媒体设备的调用方法,其特征在于,所述多媒体设备定义唯一的调用通信接口。
4.根据权利要求1所述的多媒体设备的调用方法,其特征在于,所述多媒体设备中允许被调用的函数通过以下步骤自动生成:
5.根据权利要求4所述的多媒体设备的调用方法,其特征在于,所述多媒体设备将所述函数的调用代码以aar包封装以便请求端调用;或所述多媒体设备将所述函数的调用代码挂载于云仓库中以便请求端调用。
6.根据权...
【专利技术属性】
技术研发人员:江涛,卢廉瑾,林智雄,卓康志,郑伟芳,林鎏娟,
申请(专利权)人:福建星网视易信息系统有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。