多个外接设备的切换方法及相关设备与流程

专利2023-07-30  110



1.本技术的实施例涉及设备管理技术领域,尤其涉及一种多个外接设备的切换方法及相关设备。


背景技术:

2.在相关的外接设备管理方法中,对于接入安卓系统的外接设备切换时,往往存在程序调用上的程序缺陷,该程序缺陷导致通常只能打开默认的外接设备,当用户想要对外接设备进行自定义切换时较为困难。
3.在一些情况下,可以实现自定义切换的外接设备应用程序与除此之外的其他外接设备应用程序难以有效兼容。


技术实现要素:

4.有鉴于此,本技术的目的在于实现自定义切换多个外接设备,进而提出一种多个外接设备的切换方法及相关设备。
5.基于上述目的,本技术提供了多个外接设备的切换方法,包括:
6.确定与插入的多个外接设备对应的第一路径,并读取所述第一路径下的与各个所述外接设备对应的目标设备名称;
7.根据读取出的多个所述目标设备名称,生成与各个所述外接设备对应的多个可视化按钮;
8.响应于对所述可视化按钮的选择操作,启动对应的所述外接设备。
9.进一步地,所述读取所述第一路径下的与各个所述外接设备对应的目标设备名称之前,包括:
10.在所述第一路径下生成第一设备名称,并对所述第一设备名称进行标准化处理;
11.将经过所述标准化处理的所述第一设备名称作为所述目标设备名称。
12.进一步地,所述在所述第一路径下生成第一设备名称,包括:
13.确定与插入的多个所述外接设备对应的第二路径;
14.将全部所述外接设备枚举至所述第二路径,并在所述第二路径下生成与每个所述外接设备对应的第二设备名称;
15.根据所述第二设备名称,在所述第一路径下生成所述第一设备名称。
16.进一步地,所述读取所述第一路径下的与各个所述外接设备对应的目标设备名称,包括:
17.读取所述第一路径下的与各个所述外接设备对应的文件夹;
18.从对应的各个所述文件夹中得到该所述外接设备的名称文件,根据所述名称文件确定对应的所述外接设备的所述目标设备名称。
19.进一步地,所述根据读取出的多个所述目标设备名称,生成与各个所述外接设备对应的多个可视化按钮,包括:
20.根据读取的所述文件夹的个数,确定插入的所述外接设备的个数;
21.根据所述外接设备的个数生成相应个数的所述可视化按钮,所述可视化按钮的显示名称与所述目标设备名称相同。
22.进一步地,所述响应于对所述可视化按钮的选择操作,启动对应的所述外接设备,包括:
23.响应于对所述可视化按钮的选择操作,获取与该可视化按钮显示的所述显示名称对应的所述外接设备的启动文件路径;
24.运行所述启动文件路径下的启动文件,启动对应的所述外接设备。
25.进一步地,所述运行所述启动文件路径下的启动文件,启动对应的所述外接设备,包括:
26.响应于确定运行所述启动文件路径下的启动文件成功,启动对应的所述外接设备,
27.响应于确定运行所述启动文件路径下的启动文件失败,启动除该外接设备以外的其他外接设备。
28.基于同一发明构思,本技术还提供了一种多个外接设备的切换装置,包括:
29.设备名称获取模块,被配置为:确定与插入的多个外接设备对应的第一路径,并读取所述第一路径下的与各个所述外接设备对应的目标设备名称;
30.可视化按钮生成模块,被配置为:根据读取出的多个所述目标设备名称,生成与各个所述外接设备对应的多个可视化按钮;
31.设备切换模块,被配置为:响应于对所述可视化按钮的选择操作,启动对应的所述外接设备。
32.在一些实施方式中,还包括设备名称生成模块,被配置为:
33.在所述第一路径下生成第一设备名称,并对所述第一设备名称进行标准化处理;
34.将经过所述标准化处理的所述第一设备名称作为所述目标设备名称。
35.在一些实施方式中,所述设备名称生成模块,还被配置为:
36.确定与插入的多个所述外接设备对应的第二路径;
37.将全部所述外接设备枚举至所述第二路径,并在所述第二路径下生成与每个所述外接设备对应的第二设备名称;
38.根据所述第二设备名称,在所述第一路径下生成所述第一设备名称。
39.在一些实施方式中,所述设备名称获取模块,还被配置为:
40.读取所述第一路径下的与各个所述外接设备对应的文件夹;
41.从对应的各个所述文件夹中得到该所述外接设备的名称文件,根据所述名称文件确定对应的所述外接设备的所述目标设备名称。
42.在一些实施方式中,所述可视化按钮生成模块,还被配置为:
43.根据读取的所述文件夹的个数,确定插入的所述外接设备的个数;
44.根据所述外接设备的个数生成相应个数的所述可视化按钮,所述可视化按钮的显示名称与所述目标设备名称相同。
45.在一些实施方式中,所述设备切换模块,还被配置为:
46.响应于对所述可视化按钮的选择操作,获取与该可视化按钮显示的所述显示名称
对应的所述外接设备的启动文件路径;
47.运行所述启动文件路径下的启动文件,启动对应的所述外接设备。
48.在一些实施方式中,所述设备切换模块,还被配置为:
49.响应于确定运行所述启动文件路径下的启动文件成功,启动对应的所述外接设备,
50.响应于确定运行所述启动文件路径下的启动文件失败,启动除该外接设备以外的其他外接设备。
51.基于同一发明构思,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的多个外接设备的切换方法。
52.基于同一发明构思,本技术还提供了一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上述多个外接设备的切换方法。
53.从上面所述可以看出,本技术提供的多个外接设备的切换方法及相关设备,基于设计的第一路径和目标设备名称,进行多个外接设备之间的有效切换时,综合考虑了对于外接设备的读取和可视化按钮的生成,从而实现通过第一路径,对外接设备按照目标设备名称进行识别,并通过生成的可视化按钮对对应的外接设备进行控制,消除了多个外接设备之间难以切换的缺陷,完成多个设备之间的有效切换。
附图说明
54.为了更清楚地说明本技术或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
55.图1为本技术实施例的多个外接设备的切换方法的流程图;
56.图2为本技术实施例的目标设备名称生成流程图;
57.图3为本技术实施例的第一设备名称生成流程图;
58.图4为本技术实施例的目标设备名称读取流程图;
59.图5为本技术实施例的多个外接设备的切换装置模块示意图;
60.图6为本技术实施例的电子设备结构示意图。
具体实施方式
61.为使本技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本技术进一步详细说明。
62.需要说明的是,除非另外定义,本技术的实施例使用的技术术语或者科学术语应当为本技术所属领域内具有一般技能的人士所理解的通常意义。本技术的实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相
连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
63.如背景技术部分所述,相关的多个外接设备的切换方法还难以满足实际中设备管理的需要。
64.申请人在实现本技术的过程中发现,相关的多个外接设备的切换方法存在的主要问题在于:安卓系统内自带的相关外接设备的应用程序往往只可打开其默认的外接设备,难以在多个设备同时接入安卓系统时实现有效切换。
65.当多个外接设备同时接入安卓系统时,系统往往会出现识别、读取的程序缺陷,并且,在多个外接设备之间强行进行切换时,有很大概率出现设备运行故障。例如在多个usb摄像头同时接入安卓系统时进行usb摄像头的切换操作,存在其中某个usb摄像头在安卓设备中对应的显示界面上无法显示画面的问题。
66.进一步地,申请人还发现,对于其他控制外接设备的第三方的独立应用程序,其对于外接设备的操控逻辑往往自成一套,且与安卓系统中自带的外接设备应用程序使用不同的程序接口,这两类应用程序之间难以有效兼容,因此,无法同时使用上述两类外接设备的应用程序对多个外接设备进行有效切换。
67.基于此,需要一种能够实现在任意情况下均可自定义切换多个外接设备的方法。
68.可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。
69.以下,通过具体的实施例,来详细说明本技术的技术方法。
70.参考图1,本技术一个实施例的多个外接设备的切换方法,包括以下步骤:
71.步骤s101、确定与插入的多个外接设备对应的第一路径,并读取所述第一路径下的与各个所述外接设备对应的目标设备名称。
72.在本步骤中,多个外接设备可以是影音设备或存储设备等,例如音箱、摄像头或闪存盘。所述目标设备名称则为每个外接设备插入后在第一路径下生成的唯一名称,每一个目标设备名称对应一个外接设备,目标设备名称的总数与外接设备总数相等。当外接设备插入后,可以启动系统中的外接设备驱动程序,该外接设备驱动程序预置在系统中,通过外接设备驱动程序识别插入的多个外接设备。
73.在一具体示例中,以usb摄像头作为外接设备插入安卓设备的安卓系统进行举例说明,在其他具体示例中,安卓设备和安卓系统均可替换为其他设备和操作系统,此处不做具体限制。在外接usb摄像头插入安卓设备后,则认为该外接设备与安卓设备内置的安卓系统建立了连接。基于usb摄像头的插入,可以启动安卓系统中的摄像头驱动程序,以令该摄像头驱动程序识别所插入的usb摄像头。
74.其中,摄像头驱动程序可以是安卓系统自带的应用程序,例如:camera2,也可以是第三方的独立应用程序,例如:usb_camera,在本实施例中,不对摄像头应用程序的类型做具体限制。
75.摄像头驱动程序识别所插入的usb摄像头,具体可以包括:
76.当外接的usb摄像头插入安卓设备后,相应的摄像头驱动程序将获取各个usb摄像头对应的第一路径,以进行外接usb摄像头相关信息的识别和读取,其中,本实施例中的第一路径是通过内核驱动访问的路径。内核驱动是系统的基本驱动程序之一,大多数设备驱
动程序将在内核模式中运行。进一步地,基于上述确定的第一路径,可以在各个第一路径下读取与各个usb摄像头对应的目标设备名称。
77.在本实施例中,以插入3个usb摄像头为例,摄像头应用程序可以读取到对应各个usb摄像头的路径/sys/class/video0linux/、路径/sys/class/video1linux/和路径/sys/class/video2linux/,其中,将路径/sys/class/video0linux/、路径/sys/class/video1linux/和路径/sys/class/video2linux/作为本实施例中的第一路径。
78.进一步地,从上述三个第一路径中读取出的三个usb摄像头对应的目标设备名称为video0、video1和video2。
79.可以看出,通过本步骤,可以实现通过内核驱动访问第一路径来对外接usb摄像头的目标设备名称进行读取。
80.步骤s102、根据读取出的多个所述目标设备名称,生成与各个所述外接设备对应的多个可视化按钮。
81.在本步骤中,基于上述读取出的目标设备名称,在安卓设备的可视化界面中生成相应个数的可视化按钮。
82.当读取出的目标设备名称为video0、video1和video2时,则在可视化界面中,生成3个分别与video0、video1和video2对应的可视化按钮。
83.步骤s103、响应于对所述可视化按钮的选择操作,启动对应的所述外接设备。
84.在本步骤中,基于上述生成的可视化按钮,可以通过对各个可视化按钮的操作来启动相应的外接usb摄像头。
85.具体地,通过对目标设备名称为video0的可视化按钮进行操作,可以启动与video0对应的usb摄像头;
86.通过对目标设备名称为video1的可视化按钮进行操作,可以启动与video1对应的usb摄像头;
87.通过对目标设备名称为video2的可视化按钮进行操作,可以启动与video2对应的usb摄像头。
88.基于上述步骤s101至s103,通过设计的第一路径对外接设备进行识别,并通过生成的可视化按钮对外接设备进行控制,消除了多个外接设备之间难以切换的缺陷,完成多个外接设备之间的有效切换。
89.在一些实施例中,如图2所示,所述读取所述第一路径下的与各个所述外接设备对应的目标设备名称之前,包括以下步骤:
90.步骤s201、在所述第一路径下生成第一设备名称,并对所述第一设备名称进行标准化处理。
91.具体的,当插入的外接设备为多个时,每个外接设备由于不同的生产厂家、批次互不相同,在第一路径下生成的设备名称为原始出厂设置的设备名称,也即所述第一设备名称。由于每个外接设备对应的第一设备名称的多样化,此处需要对第一设备名称进行标准化,以方便后续访问和调用。
92.在一些实施例的具体示例中,标准化处理可以是对外接设备如usb摄像头进行统一编号,例如0、1、2、3等;也可以是对usb摄像头进行自定义命名,例如走廊摄像头、会议室摄像头和大厅摄像头等。
93.在一些实施例的具体示例中,该标准化处理结果可以利用java语言设置为如下形式:
94.persist.sys.videox
95.其中,当插入了3个usb摄像头时,在第一路径下生成的第一设备名称分别为videox、videoy和videoz,标准化处理的结果可以分别表示为:persist.sys.video0、persist.sys.video1和persist.sys.video2。
96.具体地,在本实施例中,安卓系统对于所插入的外接设备是无法预知的,进而无法提前确定所要获取的设备名称的具体内容,也就是说,需要将设备名称作为类的定义进行获取和接收,但对类所定义的具体内容又是不确定的,因此,在该实况下,需要将所接收的类看作是动态的,具体地,可以在编译时使用泛型的方式对类进行接收,以获取和调用各个第一设备名称,并在获取第一设备名称后对其进行加载,也就是对获取的类进行加载。
97.需要说明的是,本实施例中可以利用java语言实现,也可以利用c语言或c
++
语言实现,上述采取java语言进行标准化处理仅仅作为一个具体示例,在本实施例中对于可以采取的语言不做具体限定。
98.对第一设备名称进行标准化处理的代码可以内置进上述安卓系统自带的摄像头应用程序中,或独立的第三方摄像头应用程序中。基于在本实施例中设定的安卓系统环境,可以采取反射方法进行上述的标准化处理。
99.步骤s202、将经过所述标准化处理的所述第一设备名称作为所述目标设备名称。
100.将经过步骤s201对第一设备名称进行标准化后得到的设备名称作为所述目标设备名称,本实施例中的目标设备名称为persist.sys.video0、persist.sys.video1和persist.sys.video2。
101.在一些实施例中,参考图3,所述在所述第一路径下生成第一设备名称,包括以下步骤:
102.步骤s301、确定与插入的多个所述外接设备对应的第二路径。
103.本步骤中的第二路径是指通过接口访问的路径。具体地,第二路径是通过硬件抽象层与安卓系统接口相连的路径,第二路径是硬件抽象层可以直接调用的路径。外接设备通过安卓系统接口接入系统,与硬件抽象层建立连接,从而确定了第二路径。同时,预置在内核的外接设备的驱动程序也能够识别到外接设备的插入,建立了第一路径,第一路径是连接内核驱动的路径,并没有与安卓系统接口连接。
104.步骤s302、将全部所述外接设备枚举至所述第二路径,并在所述第二路径下生成与每个所述外接设备对应的第二设备名称。
105.需要说明的是,硬件抽象层主要是将内核的调用转化为对硬件的直接访问和控制,建立与硬件相关的驱动程序。将内核的驱动程序函数映射到硬件抽象层应用程序接口,内核的驱动程序不再直接和硬件打交道,而是通过硬件抽象层应用程序接口进行硬件资源的访问和控制。
106.在本实施例中,当插入外接设备后,外接设备的内核驱动程序识别到外接设备的插入并通过硬件抽象层应用程序接口对外接设备进行枚举。当插入的外接设备是usb摄像头时,则由相机驱动进行枚举操作;当插入的外接设备是其他设备时,则可以由其他设备对应的内核驱动进行枚举。
107.第二设备名称为外接设备对应的原始出厂设备名称,由于每个外接设备的生产厂家、批次等互不相同,因而每个外接设备对应的第二设备名称均不相同。将每个外接设备枚举至第二路径后,在第二路径下生成与其对应的第二设备名称。
108.第二路径具体可以表示为:
109./dev/videox
110.其中,videox表示为第二设备名称,基于上述实施例中插入的3个usb摄像头,可以确定3个usb摄像头的第二路径分别为:/dev/videox、/dev/videoy和/dev/videoz,在各个第二路径下所生成的第二设备名称分别:videox、videoy和videoz。
111.步骤s303、根据所述第二设备名称,在所述第一路径下生成所述第一设备名称。
112.具体的,当设备驱动完成对插入的多个usb摄像头的枚举操作后,生成的第二设备名称分别为videox、videoy和videoz,通过映射在每个第一路径下生成第一设备名称分别为videox、videoy和videoz,第一设备名称与第二设备名称相同,鉴于在不同路径下,此处以第一设备名称和第二设备名称进行区分。
113.需要说明的是,相关技术中,通过系统接口调用第二路径下与第二设备名称关联的外接设备,以打开默认的外接设备,但是不能满足多个外接设备的切换。而本实施例中,将外接设备全部枚举至第二路径,将第二路径下的第二设备名称映射为第一路径下的第一设备名称,以便后续通过读取第一路径下的目标设备名称对外接设备进行调用,避免调用第二路径只能打开默认外接设备的问题。
114.在一些实施例中,如图4所示,所述读取所述第一路径下的与各个所述外接设备对应的目标设备名称,包括以下步骤:
115.步骤s401、读取所述第一路径下的与各个所述外接设备对应的文件夹。
116.步骤s402、从对应的各个所述文件夹中得到该所述外接设备的名称文件,根据所述名称文件确定对应的所述外接设备的所述目标设备名称。
117.在本实施例中,基于获取的第一路径,可以通过安卓系统的内核驱动,也即本实施例中的相机驱动,利用接口层打开第一路径,以读取第一路径下与各个usb摄像头对应生成的文件夹;其中,接口层在本实施例中为硬件抽象层hal层。
118.具体地,在每个第一路径下生成与各个usb摄像头对应的文件夹,例如,插入3个usb摄像头,则在第一路径下生成3个文件夹,并分别与各个usb摄像头的目标设备名称对应。
119.进一步地,在每个文件夹下,均根据目标设备名称生成有相应的名称文件,其中,将每个名称文件中记录的内容作为对应的第一路径的目标设备名称,目标设备名称可以为video0、video1和video2。
120.在一些实施例中,所述根据读取出的多个所述目标设备名称,生成与各个所述外接设备对应的多个可视化按钮,包括:
121.根据读取的所述文件夹的个数,确定插入的所述外接设备的个数;
122.根据所述外接设备的个数生成相应个数的所述可视化按钮,所述可视化按钮的显示名称与所述目标设备名称相同。
123.具体的,摄像头驱动程序可以从各个文件夹中读取出与插入的usb摄像头对应的名称文件,并以名称文件识别出所插入的相应usb摄像头的目标设备名称,基于读取出的文
件夹的数量以及读取的目标设备名称生成可视化按钮。
124.在一些实施例中,摄像头驱动程序也可以根据读取出的名称文件的数量获知插入的usb摄像头的个数。获得usb摄像头数量的操作和识别各个usb摄像头目标设备名称的操作在执行顺序上没有具体限定。
125.在一些实施例中,在摄像头驱动程序的显示界面中,若摄像头驱动程序未识别出有usb摄像头插入安卓设备时,则不显示任何可视化按钮;若摄像头驱动程序识别出有至少一个usb摄像头插入安卓设备时,则在显示界面中生成相应个数的可视化按钮,并处于允许点击的第一状态,该第一状态可以是以例如绿色等颜色表示,也可以使用自定义的声音来表示,还可以使用自定义的图形来表示。进一步地,基于上述生成的可视化按钮,当摄像头驱动程序检测出已插入安卓设备的至少一个usb摄像头被拔出时,则去除与该usb摄像头对应的可视化按钮,并可以使用自定义的声音来表示该usb摄像头的拔出动作。
126.在另外一些实施例中,摄像头应用程序的显示界面中可以设置有多个可视化按钮,其中,每个可视化按钮对应该安卓设备上的一个usb接口,同时,对应一个插入该usb接口的usb摄像头,并且可以通过该可视化按钮对插入的usb摄像头进行控制。
127.具体地,可以将各个可视化按钮的显示状态均设置为具备允许点击的第一状态和不允许点击的第二状态。
128.其中,当摄像头驱动程序识别出有至少一个usb摄像头插入安卓设备时,则有相应个数的可视化按钮呈现允许点击的第一状态。
129.当摄像头应用程序未识别出有usb摄像头插入安卓设备时,则各个可视化按钮呈现第二状态,该第二状态表示可视化按钮处于不允许点击或点击后无效的状态,可以是以例如红色等与第一状态不同的颜色表示,也可以使用与第一状态不同的自定义的图形来表示。
130.进一步地,基于上述生成的可视化按钮,当摄像头应用检测出已插入安卓设备的至少一个usb摄像头被拔出时,则与各个拔出的usb摄像头对应的可视化按钮的显示状态更新为不允许点击的第二状态,并可以使用自定义的声音来表示可视化按钮进入了第二状态。
131.进一步地,每个第一状态的可视化按钮均可根据上述文件夹中的名称文件来生成显示名称,因此,各个可视化按钮的显示名称与其对应的目标设备名称相同,并且该显示名称呈现于该可视化按钮的显示界面中,以提示用户该可视化按钮所对应的usb摄像头。
132.对于呈现为第一状态的可视化按钮,可以设置启动和关闭两种点击状态,并可以通过点击处于第一状态的可视化按钮来对相应的usb摄像头进行启动和关闭。
133.其中,对于识别出的插入安卓设备的至少一个usb摄像头,与其对应的各个可视化按钮在未被点击前,该usb摄像头处于关闭状态,并且可视化按钮在其所具备的显示界面中呈现“启动”字样,以提示用户可以通过点击来启动处于关闭状态的usb摄像头。
134.在一些实施例中,所述响应于对所述可视化按钮的选择操作,启动对应的所述外接设备,包括:
135.响应于对所述可视化按钮的选择操作,获取与该可视化按钮显示的所述显示名称对应的所述外接设备的启动文件路径;
136.运行所述启动文件路径下的启动文件,启动对应的所述外接设备。
137.具体地,获取与该可视化按钮所对应的usb摄像头的启动文件路径,通过运行启动文件路径下的启动文件,启动对应的usb摄像头,以实现摄像头应用程序通过第一路径下的目标设备名称对设备进行识别和选取以完成对多个外接的usb摄像头的选择和启动。
138.其中,摄像头应用程序可以利用加密解密程序对启动usb摄像头的权限进行限制。
139.具体地,在点击呈现“启动”字样的可视化按钮后,对应的usb摄像头不立即启动,摄像头应用程序将调用加密解密程序,令用户输入预先设置的正确的解锁密钥以启动该usb摄像头,其中,上述加密解密程序也可以通过生物识别技术来代替字符形式的解锁密钥。
140.本技术实施例中所述生物识别所涉及的生物特征,例如可以包括眼部特征、声纹、指纹、掌纹、心跳、脉搏、染色体、dna、人牙咬痕等。其中眼纹可以包括虹膜、巩膜等生物特征。
141.进一步地,对于启动状态的usb摄像头,其对应的可视化按钮将点击状态更新为在显示界面中呈现“关闭”字样,以提示用户可以通过点击来关闭处于启动状态的usb摄像头。
142.在一些实施例中,所述运行所述启动文件路径下的启动文件,启动对应的所述外接设备,包括:
143.响应于确定运行所述启动文件路径下的启动文件成功,启动对应的所述外接设备;
144.响应于确定运行所述启动文件路径下的启动文件失败,启动除该外接设备以外的其他外接设备。
145.在本实施例中,可以为摄像头驱动程序设置默认摄像头。
146.具体地,对于安卓设备上多个用于插入usb摄像头的usb硬件接口,可以从中选择任意一个,作为默认接口,并将插入该默认接口的usb摄像头作为默认摄像头。
147.进一步地,摄像头驱动程序对于检测出的插入默认接口的usb摄像头,可以直接启动该usb摄像头,并令可视化按钮在未被点击时,即呈现“关闭”字样。
148.在本实施例中,对于安卓设备上多个用于插入usb摄像头的usb硬件接口,摄像头驱动程序可以选择将其中至少一个接口作为备选接口,并令插入该备选接口的usb摄像头作为备选usb摄像头。
149.进一步地,在摄像头驱动程序设置有备选摄像头,也即在设置备选接口时,在默认接口无法通过运行相应的启动文件直接启动默认摄像头的情况下,除了可以通过点击其他处于第一状态的可视化按钮来启动其他对应的usb摄像头,也可以基于对摄像头应用程序的预先设置,直接启动备选usb摄像头。
150.可见,本技术提供的多个外接设备的切换方法,基于设计的第一路径和目标设备名称,进行多个外接设备之间的有效切换时,综合考虑了对于外接设备的读取和可视化按钮的生成,从而实现通过第一路径,对外接设备按照目标设备名称进行识别,并通过生成的可视化按钮对对应的外接设备进行控制,消除了多个外接设备之间难以切换的缺陷。
151.进一步地,本方法摆脱了不同外接设备驱动程序之间在不同系统接口上的障碍,得以在安卓系统自带的摄像头驱动程序与独立的第三方摄像头驱动程序之间有效兼容,实现多个usb摄像头的切换。
152.需要说明的是,本技术的实施例的方法可以由单个设备执行,例如一台计算机或
服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本技术的实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
153.需要说明的是,上述对本技术的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
154.基于同一发明构思,与上述任意实施例方法相对应的,本技术的实施例还提供了一种多个外接设备切换装置。
155.参考图5,所述多个外接设备的切换装置,包括:设备名称获取模块501、可视化按钮生成模块502和设备切换模块503。
156.其中,设备名称获取模块501,被配置为:确定与插入的多个外接设备对应的第一路径,并读取所述第一路径下的与各个所述外接设备对应的目标设备名称;
157.可视化按钮生成模块502,被配置为:根据读取出的多个所述目标设备名称,生成与各个所述外接设备对应的多个可视化按钮;
158.设备切换模块503,被配置为:响应于对所述可视化按钮的选择操作,启动对应的所述外接设备。
159.作为一个可选的实施例,还包括设备名称生成模块504,被配置为:
160.在所述第一路径下生成第一设备名称,并对所述第一设备名称进行标准化处理;
161.将经过所述标准化处理的所述第一设备名称作为所述目标设备名称。
162.作为一个可选的实施例,所述设备名称生成模块504,还被配置为:
163.确定与插入的多个所述外接设备对应的第二路径;
164.将全部所述外接设备枚举至所述第二路径,并在所述第二路径下生成与每个所述外接设备对应的第二设备名称;
165.根据所述第二设备名称,在所述第一路径下生成所述第一设备名称。
166.作为一个可选的实施例,所述设备名称获取模块501,还被配置为:
167.读取所述第一路径下的与各个所述外接设备对应的文件夹;
168.从对应的各个所述文件夹中得到该所述外接设备的名称文件,根据所述名称文件确定对应的所述外接设备的所述目标设备名称。
169.作为一个可选的实施例,所述可视化按钮生成模块502,具体被配置为:
170.根据读取的所述文件夹的个数,确定插入的所述外接设备的个数;
171.根据所述外接设备的个数生成相应个数的所述可视化按钮,所述可视化按钮的显示名称与所述目标设备名称相同。
172.作为一个可选的实施例,所述设备切换模块503,具体被配置为:
173.响应于对所述可视化按钮的选择操作,获取与该可视化按钮显示的所述显示名称对应的所述外接设备的启动文件路径;
174.运行所述启动文件路径下的启动文件,启动对应的所述外接设备。
175.在一些实施方式中,所述设备切换模块503,还被配置为:
176.响应于确定运行所述启动文件路径下的启动文件成功,启动对应的所述外接设备;
177.响应于确定运行所述启动文件路径下的启动文件失败,启动除该外接设备以外的其他外接设备。
178.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本技术的实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
179.上述实施例的装置用于实现前述任一实施例中相应的多个外接设备的切换方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
180.基于同一发明构思,与上述任意实施例方法相对应的,本技术的实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的多个外接设备的切换方法。
181.图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
182.处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术实施例所提供的技术方案。
183.存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备、动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本技术实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
184.输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
185.通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
186.总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
187.需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本技术实施例方案所必需的组件,而不必包含图中所示的全部组件。
188.上述实施例的装置用于实现前述任一实施例中相应的多个外接设备的切换方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
189.基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指
令用于使所述计算机执行如上任一实施例所述的多个外接设备的切换方法。
190.本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
191.上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的多个外接设备的切换方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
192.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本技术的范围(包括权利要求)被限于这些例子;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术的实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
193.另外,为简化说明和讨论,并且为了不会使本技术的实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本技术的实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本技术的实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本技术的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本技术的实施例。因此,这些描述应被认为是说明性的而不是限制性的。
194.尽管已经结合了本技术的具体实施例对本技术进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
195.本技术的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本技术的实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种多个外接设备的切换方法,包括:确定与插入的多个外接设备对应的第一路径,并读取所述第一路径下的与各个所述外接设备对应的目标设备名称;根据读取出的多个所述目标设备名称,生成与各个所述外接设备对应的多个可视化按钮;响应于对所述可视化按钮的选择操作,启动对应的所述外接设备。2.根据权利要求1所述的方法,其特征在于,所述读取所述第一路径下的与各个所述外接设备对应的目标设备名称之前,包括:在所述第一路径下生成第一设备名称,并对所述第一设备名称进行标准化处理;将经过所述标准化处理的所述第一设备名称作为所述目标设备名称。3.根据权利要求2所述的方法,其特征在于,所述在所述第一路径下生成第一设备名称,包括:确定与插入的多个所述外接设备对应的第二路径;将全部所述外接设备枚举至所述第二路径,并在所述第二路径下生成与每个所述外接设备对应的第二设备名称;根据所述第二设备名称,在所述第一路径下生成所述第一设备名称。4.根据权利要求1所述的方法,其特征在于,所述读取所述第一路径下的与各个所述外接设备对应的目标设备名称,包括:读取所述第一路径下的与各个所述外接设备对应的文件夹;从对应的各个所述文件夹中得到该所述外接设备的名称文件,根据所述名称文件确定对应的所述外接设备的所述目标设备名称。5.根据权利要求4所述的方法,其特征在于,所述根据读取出的多个所述目标设备名称,生成与各个所述外接设备对应的多个可视化按钮,包括:根据读取的所述文件夹的个数,确定插入的所述外接设备的个数;根据所述外接设备的个数生成相应个数的所述可视化按钮,所述可视化按钮的显示名称与所述目标设备名称相同。6.根据权利要求5所述的方法,其特征在于,所述响应于对所述可视化按钮的选择操作,启动对应的所述外接设备,包括:响应于对所述可视化按钮的选择操作,获取与该可视化按钮显示的所述显示名称对应的所述外接设备的启动文件路径;运行所述启动文件路径下的启动文件,启动对应的所述外接设备。7.根据权利要求6所述的方法,其特征在于,所述运行所述启动文件路径下的启动文件,启动对应的所述外接设备,包括:响应于确定运行所述启动文件路径下的启动文件成功,启动对应的所述外接设备;响应于确定运行所述启动文件路径下的启动文件失败,启动除该外接设备以外的其他外接设备。8.一种多个外接设备的切换装置,包括:设备名称获取模块,被配置为:确定与插入的多个外接设备对应的第一路径,并读取所述第一路径下的与各个所述外接设备对应的目标设备名称;
可视化按钮生成模块,被配置为:根据读取出的多个所述目标设备名称,生成与各个所述外接设备对应的多个可视化按钮;设备切换模块,被配置为:响应于对所述可视化按钮的选择操作,启动对应的所述外接设备。9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的方法。10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行根据权利要求1至7中任一项所述的方法。

技术总结
本申请提供一种多个外接设备的切换方法及相关设备,所述方法包括:确定与插入的多个外接设备对应的第一路径,并读取所述第一路径下的与各个所述外接设备对应的目标设备名称;根据读取出的多个所述目标设备名称,生成与各个所述外接设备对应的多个可视化按钮;响应于对所述可视化按钮的选择操作,启动对应的所述外接设备。可以看出,本方法综合考虑了对于外接设备的读取和可视化按钮的生成,来进行多个外接设备之间的有效切换,从而实现通过第一路径,对外接设备按照目标设备名称进行识别和控制。制。制。


技术研发人员:苏忠良
受保护的技术使用者:深圳市鸿合创新信息技术有限责任公司
技术研发日:2022.05.25
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-4241.html

最新回复(0)