Screen sharing method and device, electronic equipment and storage medium
By running the same target application on the first client and the second client, and adjusting the display of the target application element components according to user operation requests, the large amount of data and delay problems caused by video streaming are solved, and efficient screen sharing is achieved.
Patent Information
- Application Number
- CN202311071315.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-23
- Publication Date
- 2025-03-04
AI Technical Summary
When sharing screens based on video streaming, large amount of data leads to delay, affecting screen sharing performance.
By controlling the first client and the second client to run the same target application to be shared in a scenario where screen sharing is required, and by detecting the user's corresponding operation request, the target application element components of the receiving end are controlled to perform display adjustments to realize screen sharing.
Reduces data transmission, avoids delay, and improves screen sharing performance.
Smart Images

Figure CN119561951A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of screen sharing, and in particular to a screen sharing method, device, electronic device and storage medium. Background Art
[0002] Screen sharing, that is, by displaying the display content of the first client on other different second clients, remote or multi-terminal screen sharing is achieved. Among them, screen sharing can be used in various scenarios such as meetings, teaching, demonstrations, drawing boards, etc. In related technologies, screen sharing is generally achieved by generating a screen stream from the display screen of the first client to be shared and sending it to the second client for display. The amount of data transmitted is large, which will cause a large delay and affect the screen sharing performance. Summary of the invention
[0003] The present application provides a screen sharing method, device, electronic device and storage medium, aiming to solve the technical problem that screen sharing based on video stream transmission will produce large delays due to large data volume, thus affecting the screen sharing performance, reduce the data transmission volume and improve the screen sharing performance.
[0004] In a first aspect, the present application provides a screen sharing method, comprising:
[0005] In response to a screen sharing request sent by a first client, controlling the first client and a second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request, wherein the target application includes at least two operable element components;
[0006] In response to an operation request triggered by the first client based on a target element component, the target element component in the second client is controlled to perform display adjustment according to the operation request.
[0007] In a possible implementation of the present application, controlling the target element component in the second client to perform display adjustment according to the operation request includes:
[0008] If the operation request is a position adjustment instruction of a target element component, obtaining coordinate change information of the target element component in the display interface of the first client;
[0009] The second client is controlled to execute the position adjustment instruction, and the target element component of the second client is controlled to adjust the position according to the coordinate change information.
[0010] In a possible implementation of the present application, controlling the target element component in the second client to perform display adjustment according to the operation request includes:
[0011] If the operation request is an element adding instruction of a target element component, acquiring the target element component added in the display interface of the first client and the coordinate information of the target element component;
[0012] Determine target coordinate information of the second client according to the coordinate information and a preset coordinate conversion relationship between the first client and the second client;
[0013] The second client is controlled to execute the element adding instruction, and the newly added target element component is displayed in the display area of the second client corresponding to the target coordinate information.
[0014] In a possible implementation of the present application, controlling the target element component in the second client to perform display adjustment according to the operation request includes:
[0015] If the operation request is an element deletion instruction of a target element component, sending the element deletion instruction and the element identifier of the target element component to be deleted corresponding to the element deletion instruction to the second client;
[0016] The second client is controlled to execute the element deletion instruction to delete the target element component corresponding to the element identifier from the display area corresponding to the second client.
[0017] In a possible implementation of the present application, controlling the target element component in the second client to perform display adjustment according to the operation request includes:
[0018] If the operation request is a position adjustment instruction for the display area of the target application, obtaining a target display position corresponding to the adjusted display area;
[0019] The second client is controlled to execute the position adjustment instruction, and the target application in the second client is adjusted according to the target display position.
[0020] In a possible implementation of the present application, controlling the target element component in the second client to perform display adjustment according to the operation request includes:
[0021] If the operation request is a mapping instruction, obtaining a mapping image corresponding to the mapping instruction and coordinate information corresponding to the mapping image;
[0022] The second client is controlled to execute the position mapping instruction, and the mapping image is displayed in a display area of the second client corresponding to the coordinate information.
[0023] In a possible implementation of the present application, the responding to the screen sharing request sent by the first client includes:
[0024] Responding to a screen sharing request triggered by a target application in a first client, and obtaining a first connection code corresponding to the first client;
[0025] Searching for a preset connection code correspondence relationship, obtaining a second connection code corresponding to the first connection code, and determining a second client corresponding to the second connection code;
[0026] The screen sharing request of the target application is sent to the second client, and the step of controlling the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request is performed.
[0027] In a possible implementation of the present application, the responding to the screen sharing request sent by the first client includes:
[0028] Responding to a screen sharing request triggered by a target application in a first client, and acquiring a third connection code sent by the first client;
[0029] Parsing the third connection code to determine address information corresponding to the third connection code;
[0030] The screen sharing request of the target application is sent to the second client corresponding to the address information, and the step of controlling the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request is performed.
[0031] In a possible implementation of the present application, controlling the first client and the second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request includes:
[0032] If the running state of the target application in the first client is a running state, obtaining a target element component of the target application displayed in the first client;
[0033] The second client is controlled to start the target application, and the target element component is run and displayed in the second client.
[0034] In a second aspect, the present application provides a screen sharing device, comprising:
[0035] a response processing module, configured to, in response to a screen sharing request sent by a first client, control the first client and a second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request, wherein the target application includes at least two operable element components;
[0036] The shared processing module is used to respond to an operation request triggered by the first client based on the target element component, and control the target element component in the second client to perform display adjustment according to the operation request.
[0037] In a third aspect, the present application provides an electronic device, the electronic device comprising:
[0038] one or more processors;
[0039] Memory; and
[0040] One or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the processor to implement the steps in any one of the screen sharing methods.
[0041] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program is loaded by a processor to execute the steps in any one of the screen sharing methods described.
[0042] The present application provides a screen sharing method, device, electronic device and storage medium, which controls the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request in response to a screen sharing request sent by a first client, wherein the target application includes at least two operable element components; in response to an operation request triggered by the first client based on the target element component, the target element component in the second client is controlled to perform display adjustment according to the operation request. This solution abandons the method of screen sharing based on video streaming transmission, and controls the first client and the second client to run the same target application to be shared in a scenario where screen sharing is required, and controls the target element component corresponding to the target application in the receiving end (second client) to perform display adjustment by detecting the operation request triggered by the target element component of the target application from the user's corresponding operating end (first client), thereby reducing the amount of data transmission, avoiding delays, and improving screen sharing performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0044] Figure 1 is a schematic diagram of a scenario of a screen sharing method provided in an embodiment of the present application;
[0045] Figure 2 This is a flowchart of an embodiment of the screen sharing method provided in the embodiments of the present application;
[0046] Figure 3 A schematic diagram of a flow chart of one implementation scheme of the second client control in the screen sharing method provided in an embodiment of the present application;
[0047] Figure 4 A schematic flow chart of another implementation scheme of the second client control in the screen sharing method provided in an embodiment of the present application;
[0048] Figure 5 A schematic flow chart of another implementation scheme of the second client control in the screen sharing method provided in an embodiment of the present application;
[0049] Figure 6 A schematic diagram of another implementation flow of the screen sharing method provided in an embodiment of the present application;
[0050] Figure 7 A schematic diagram of one implementation flow of the screen sharing method provided for the implementation scheme of the present application;
[0051] Figure 8 is a schematic diagram of the structure of an embodiment of a screen sharing device provided in an embodiment of the present application;
[0052] Fig. 9 It is a schematic diagram of the structure of an embodiment of an electronic device provided in the embodiments of the present application. DETAILED DESCRIPTION
[0053] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0054] In the description of the present invention, it should be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside" and the like indicate positions or positional relationships based on the positions or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as limiting the present invention. In addition, the terms "first", "second", "third" and the like ordinal numbers are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined by the ordinal numbers "first", "second", "third" and the like may explicitly or implicitly include one or more of the features. In the description of the present invention, the meaning of "multiple" is two or more, unless otherwise clearly and specifically defined.
[0055] In the embodiment of the present application, "and / or" describes the association relationship of the associated objects, indicating that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / ", unless otherwise specified, generally indicates that the associated objects before and after are in an "or" relationship.
[0056] In this application, the word "exemplary" is used to mean "serving as an example, illustration, or illustration." Any embodiment described in this application as "exemplary" is not necessarily to be construed as being preferred or advantageous over other embodiments. The following description is given to enable any person skilled in the art to implement and use the invention. In the following description, details are listed for the purpose of explanation. It should be understood that a person of ordinary skill in the art can recognize that the invention can be implemented without using these specific details. In other instances, well-known structures and processes are not elaborated in detail to avoid obscuring the description of the invention with unnecessary details. Therefore, the present invention is not intended to be limited to the embodiments shown, but is consistent with the widest scope consistent with the principles and features disclosed in this application.
[0057] The embodiments of the present application provide a screen sharing method, apparatus, device, and computer-readable storage medium, which are described in detail below.
[0058] The screen sharing method in the embodiment of the present invention is applied to a screen sharing device, which is arranged in a screen sharing device. The screen sharing device is provided with one or more processors, a memory, and one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the processor to implement the screen sharing method; the screen sharing device can be a terminal, such as a mobile phone or a tablet computer, and the screen sharing device can also be a server, or a service cluster composed of multiple servers.
[0059] like Figure 1 As shown, Figure 1 This is a scenario diagram of the screen sharing method in an embodiment of the present application. The screen sharing scenario in the embodiment of the present invention includes a screen sharing device 100 (a screen sharing device is integrated in the screen sharing device 100), and a computer-readable storage medium corresponding to screen sharing is run in the screen sharing device 100 to perform the steps of screen sharing.
[0060] Understandably, Figure 1 The screen sharing device in the scenario of the screen sharing method shown, or the devices included in the screen sharing device, does not constitute a limitation on the embodiments of the present invention. That is, the number of devices and types of devices included in the scenario of the screen sharing method, or the number of devices and types of devices included in each device, do not affect the overall implementation of the technical solution in the embodiments of the present invention, and can all be regarded as equivalent replacements or derivatives of the technical solution claimed for protection in the embodiments of the present invention.
[0061] In the embodiment of the present invention, the screen sharing device 100 is mainly used to: respond to a screen sharing request sent by a first client, control the first client and a second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request, wherein the target application includes at least two operable element components; respond to an operation request triggered by the first client based on the target element component, and control the target element component in the second client to perform display adjustment according to the operation request.
[0062] It can be understood that the second client may include multiple ones.
[0063] In the embodiment of the present invention, the screen sharing device 100 may be an independent screen sharing device, or a screen sharing device network or a screen sharing device cluster composed of screen sharing devices. For example, the screen sharing device 100 described in the embodiment of the present invention includes but is not limited to a computer, a network host, a single network screen sharing device, a plurality of network screen sharing device sets or a cloud screen sharing device composed of a plurality of screen sharing devices. The cloud screen sharing device is composed of a large number of computers or network screen sharing devices based on cloud computing.
[0064] Those skilled in the art will understand that Figure 1 The application environment shown in the figure is only one application scenario of the present application solution and does not constitute a limitation on the application scenario of the present application solution. Other application environments may also include Figure 1 More or fewer screen sharing devices as shown in , or screen sharing device network connection relationships, such as Figure 1 Only one screen sharing device is shown. It can be understood that the scenario of the screen sharing method can also include one or more other screen sharing devices, which are not specifically limited here. The screen sharing device 100 can also include a memory for storing data, for example, storing image information obtained by shooting.
[0065] In addition, in the scenario of the screen sharing method of the present application, the screen sharing device 100 may be provided with a display device, or the screen sharing device 100 may not be provided with a display device and may be connected to an external display device 200 for communication, and the display device 200 is used to output the result of the execution of the screen sharing method in the screen sharing device. Exemplarily, the display device 200 may be a first client and / or a second client. The screen sharing device 100 may access a backend database 300 (the backend database may be in a local memory of the screen sharing device, or may be provided in the cloud), and the backend database 300 may store information related to screen sharing, for example, an initial image in the backend database 300, or pre-set screen sharing parameters.
[0066] It should be noted that Figure 1 The scene diagram of the screen sharing method shown is only an example. The scene of the screen sharing method described in the embodiment of the present invention is to more clearly illustrate the technical solution of the embodiment of the present invention, and does not constitute a limitation on the technical solution provided by the embodiment of the present invention.
[0067] Based on the scenario of the above screen sharing method, an embodiment of the screen sharing method is proposed.
[0068] like Figure 2 FIG. 2 is a flow chart of an embodiment of a screen sharing method in an embodiment of the present application. The screen sharing method includes steps S201-S202:
[0069] S201: In response to a screen sharing request sent by a first client, control the first client and a second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request, wherein the target application includes at least two operable element components.
[0070] Among them, the screen sharing request is used to request control of the first client and the second client to perform screen sharing. It can be understood that the first client and the second client do not refer to a specific client. In the technical solution of the present application, the first client, that is, the data output end corresponding to the screen sharing request, and the second client, that is, the receiving end corresponding to the screen sharing request.
[0071] Specifically, the screen contribution request can be input by the user based on the first client. Exemplarily, the first client displays a screen sharing request input control, and the user inputs the screen sharing request based on the screen sharing request input control, or it is used to initiate the screen sharing request based on an application installed in the first client that includes a screen sharing request component. This application does not make any specific limitations.
[0072] The target application, ie, the application to be shared, can be understood to include at least two target applications.
[0073] Among them, the element component, that is, the corresponding operable control in each target application, is exemplified by a straight line component, a curve component or a color component in a drawing board application. When a user draws a straight line, a new straight line component is generated.
[0074] Specifically, in the implementation scheme of the present application, the first client and the second client both install the target application, and after the server responds to the screen sharing request sent by the first client, it controls the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request. The specific implementation method is not specifically limited in this application, and is exemplary:
[0075] In one of the implementation schemes of the present application, by obtaining the running status of the target application on the first client and the second client, if at least one running status is a non-running status, a startup instruction of the target application is sent to the first client and / or the second client corresponding to the closed status, the first client and / or the second client corresponding to the closed status is controlled to execute the startup instruction of the target application, and the first client and / or the second client corresponding to the running status is controlled to return to the homepage display of the target application.
[0076] In another embodiment of the present application, by acquiring the running status of the target application in the first client and the second client, the first client and / or the second client corresponding to the closed state are controlled to execute the startup instruction of the target application, and the first client and / or the second client corresponding to the running state are controlled to display the same display element component.
[0077] S202: In response to an operation request triggered by the first client based on a target element component, control the target element component in the second client to perform display adjustment according to the operation request.
[0078] Among them, the operation request, that is, the operation request generated by the user corresponding to the operation of the target application on the first client, exemplarily, the target application is a drawing board, and the user draws a curve based on the first client, that is, a curve component generation request is generated, and the curve component generation request is the operation request triggered by the first client based on the target element component. Exemplarily, when the user draws a color (element) in the drawing board application, a color element component is generated (the element added to the drawing board is an operable component for the drawing board, that is, a color element component), that is, a corresponding color addition instruction is generated, and the color addition instruction is the operation request triggered by the first client based on the target element component, that is, it can be understood that the operation request corresponds to different applications and different user operations, and this application does not make specific limitations.
[0079] Specifically, it can be understood that due to the various types of operation requests, such as position movement type, new addition type, deletion type, etc., that is, according to the operation request, the target element component in the second client is controlled to be displayed and adjusted in a targeted manner with different processing methods. For example, if it is a deletion type, the identifier of the element component to be deleted (the element identifier can be an element ID, and it can be understood that the element identifier can be automatically generated after each element component is created) is directly sent to the second client, and the second client is controlled to execute the operation request to delete the target element component corresponding to the element identifier.
[0080] Exemplarily, the target application is a drawing board, and the user draws a curve based on the first client, thereby generating a curve component generation request. The curve component generation request, that is, the first client further loads the curve component based on the operation request triggered by the target element component, and sends the operation request and the component information corresponding to the operation request (that is, the curve component generated by the curve drawn by the user and the position information of the curve component) to the second client, controls the second client to execute the curve component generation request, and displays the curve in the display area corresponding to the position information, thereby realizing the display adjustment of the target element component in the second client according to the operation request.
[0081] Further, based on the above implementation scheme, see Figure 3 , Figure 3 A schematic flow chart of one implementation scheme of the second client control in the screen sharing method provided in the embodiment of the present application, specifically including steps S301-S302:
[0082] S301: If the operation request is a position adjustment instruction of a target element component, obtain coordinate change information of the target element component in the display interface of the first client.
[0083] Among them, the position adjustment instruction may include instructions such as element component enlargement, element component reduction and element component movement. For example, the user displays multiple element components based on the display interface of the first client (multiple element components such as character line components and color components displayed on the drawing board application interface, and multiple character line components and color components constitute an editable image displayed on the drawing board interface), and the user controls a target element component to enlarge based on the mouse or touch screen, then an enlargement instruction / request (operation request) for the target element component is generated, that is, the operation request is a position adjustment instruction.
[0084] The coordinate change information of the target element component (not specifically, the element component corresponding to the user operation among multiple element components), that is, the change information corresponding to the target element component corresponding to the operation request, is exemplified as follows:
[0085] In one implementation scheme of the present application, if the operation request is a request to enlarge or reduce the target element component, the coordinate change information of the target element component may be the corresponding coordinate information displayed on the first client after the target element component is enlarged, or the corresponding coordinate information displayed on the first client after the target element component is reduced.
[0086] In another embodiment of the present application, if the operation request is a request to move a target element component, for example, the user controls the target element to move in the display area of the first client based on touch or mouse, then the coordinate change information of the target element component can be the corresponding coordinate information displayed on the first client after the movement of the target element component, so as to control the movement of the target element component on the second client (not limited to the trajectory, exemplarily according to the preset trajectory corresponding to the movement (for example, S trajectory), or the shortest distance movement) or flash to the position corresponding to the coordinate information, or it can be the coordinate information corresponding to the movement trajectory of the target element component in the display area of the first client (multiple coordinates corresponding to the trajectory), so as to control the target element component of the second client to move corresponding to the movement trajectory. It can be understood that the selection of the coordinate information as the coordinate information corresponding to the movement trajectory or the coordinate information corresponding to the movement end point can be determined according to at least one environmental parameter of the processor's processing memory, operating frequency or network speed. For example, if the processing memory is small or the operating frequency is low or the network speed is slow, the coordinate information corresponding to the movement end point is used to reduce the amount of data transmission and processing. It can be further understood that the judgment of small processing memory or low operating frequency or slow network speed can be judged according to the corresponding preset threshold.
[0087] Furthermore, in some other embodiments of the present application, the position adjustment instruction may also be a combination of displacement and scaling. Exemplarily, the operation request is displacement and enlargement, displacement and reduction, etc., and the coordinate information may be the coordinate information of the target element component after displacement and enlargement or displacement and reduction, or the coordinate information corresponding to the displacement trajectory of the target element component (including the enlargement or reduction information of the target element component) may be adjusted according to actual needs.
[0088] S302: Control the second client to execute the position adjustment instruction, and control the target element component of the second client to adjust the position according to the coordinate change information.
[0089] Specifically, in one implementation scheme of the present application, if the server detects that the operation request is a position adjustment instruction for the target element component, and after obtaining the coordinate change information of the target element component in the display interface of the first client, the server sends the operation request and the coordinate change information of the target element component to the second client to control the second client to execute the operation request and control the target element component of the second client to adjust the position corresponding to the coordinate change information.
[0090] It is understandable that in some other embodiments of the present application, the total number of display pixels or the size of the display area between the first client and different first clients is not the same, that is, the preset coordinate conversion relationship can be obtained by presetting the coordinate correspondence between the display areas of the first client and the second client. In one embodiment of the present application, if the server detects that the operation request is a position adjustment instruction for the target element component, and after obtaining the coordinate change information of the target element component in the display interface of the first client, according to the preset coordinate conversion relationship, the coordinate change information is converted into the coordinate change information corresponding to the second client, and then the coordinate change information corresponding to the second client and the operation request are sent to the second client, the second client is controlled to execute the operation request, and the target element component of the second client is controlled to adjust the position corresponding to the coordinate change information.
[0091] Further, based on the above implementation scheme, see Figure 4 , Figure 4 A schematic flow chart of another implementation scheme of the second client control in the screen sharing method provided in the embodiment of the present application, specifically including steps S401-S403:
[0092] S401: If the operation request is an element adding instruction of a target element component, then the target element component added in the display interface of the first client and the coordinate information of the target element component are obtained.
[0093] Among them, the element adding instruction, that is, the instruction for controlling the adding of the target element, it can be understood that the element adding instruction can be generated by the first client and then sent to the server; exemplarily, the user draws a new curve in the drawing board application, that is, the first client generates an editable curve component, and the curve component is the target element component; when the first client generates an editable target element component, it can generate an element adding instruction and send it to the server. After receiving the element adding instruction, the server responds to the element adding instruction to load the target element component and obtain the coordinate information of the target element component in the display area of the first client. Further, the element adding instruction can be generated by the server. Exemplarily, the server monitors the user operation of the first client. If the user operation is to add a target element, the server triggers the generation of the element adding instruction. This application is not limited to this.
[0094] S402: Determine target coordinate information of the second client according to the coordinate information and a preset coordinate conversion relationship between the first client and the second client.
[0095] It is understandable that in some other embodiments of the present application, the total number of display pixels or the size of the display area between the first client and the second client is not the same, that is, the preset coordinate conversion relationship can be obtained by presetting the coordinate correspondence between the display areas of the first client and the second client.
[0096] The target coordinate information of the second client, that is, the coordinate information of the display area of the target component element corresponding to the first client, is displayed at the position of the second client.
[0097] Specifically, in one implementation scheme of the present application, if the server detects that the operation request is an instruction to add an element to a target element component, and obtains the target element component newly added to the display interface of the first client, as well as the coordinate information of the target element component, it can obtain the target coordinate information of the second client based on the coordinate information and the preset coordinate conversion relationship between the first client and the second client.
[0098] S403: Control the second client to execute the element adding instruction, and display the newly added target element component in the display area of the second client corresponding to the target coordinate information.
[0099] Furthermore, the element adding instruction, the target coordinate information and the target element component are sent to the second client, the second client is controlled to execute the element adding instruction, and the newly added target element component is displayed in the display area of the second client corresponding to the target coordinate information.
[0100] It is understandable that since the data size of the new target element component is not fixed, if the data size of the target element component is large, it may cause excessive data transmission and affect data processing efficiency. Therefore, in some implementation schemes of the present application, if it is detected that the operation request is an element addition instruction of the target element component, the data size of the target element component is further obtained. If the data size is large, the target element component is first sent to the second client for placeholder, and the target element component and the coordinate information of the target element component are further obtained and sent to the second client; if the data size of the target element component is small, the target element component and the coordinate information of the target element component can be obtained first, and the target element component and the coordinate information of the target element component, as well as the element addition instruction of the target element, are sent to the second client together to control the second client to execute the element addition instruction and display the newly added target element component in the display area corresponding to the target coordinate information of the second client.
[0101] It can be understood that the above-mentioned judgment of whether the data volume is larger or smaller can be determined based on a preset data volume threshold. For example, the preset data volume is set to 1M. If the data volume of the target element component is 200k, then the data volume is smaller than the preset data volume threshold, and the data volume of the target element component is smaller.
[0102] In one embodiment of the present application, the operation request may also be an update request of the target element, that is, by combining the implementation method of the element adding instruction and the element deleting instruction, by controlling the deletion of the currently displayed target element, and obtaining the target element component to be updated, the display of the target element component to be updated is controlled, exemplarily:
[0103] In one embodiment of the present application, controlling the target element component in the second client to perform display adjustment according to the operation request comprises the steps of:
[0104] (1) if the operation request is an instruction to adjust the position of the display area of the target application, obtaining a target display position corresponding to the adjusted display area;
[0105] The position adjustment instruction may include moving, enlarging, or reducing the display window of the target application.
[0106] The target display position may be edge coordinate information corresponding to the display area, or four-corner coordinate information corresponding to a quadrilateral display area, which is not specifically limited in the present application.
[0107] (2) Controlling the second client to execute the position adjustment instruction to adjust the target application in the second client according to the target display position.
[0108] Specifically, when it is detected that the display window corresponding to the target application is adjusted (moved, enlarged, reduced, etc.), a corresponding position adjustment instruction is generated, and the target display position corresponding to the display window of the target application after adjustment in the display area of the first client is obtained. If the total number of display pixels in the display area or the size of the display area between the first client and the second client is different, the target display position is coordinate-converted according to a preset coordinate conversion relationship between the first client and the second client, and the second client is controlled to execute the position adjustment instruction, and the display position of the target application in the second client is displayed at the corresponding target display position after conversion; if the total number of display pixels in the display area or the size of the display area between the first client and the second client is the same, the second client is controlled to execute the position adjustment instruction, and display directly according to the target display position.
[0109] In one implementation manner of the present application, controlling the target element component in the second client to perform display adjustment according to the operation request specifically includes the steps of:
[0110] (1) If the operation request is a mapping instruction, obtaining a mapping image corresponding to the mapping instruction and coordinate information corresponding to the mapping image;
[0111] The image pasting instruction is, that is, an instruction generated corresponding to an operation request for inserting an image in the display area of the first client.
[0112] Specifically, when the server detects a request from the first user terminal to output a map (illustration), it generates a map instruction, loads the map image and displays it on the first client, and simultaneously obtains coordinate information of the map image corresponding to the first display terminal.
[0113] (2) Controlling the second client to execute the position mapping instruction and displaying the mapping image in a display area of the second client corresponding to the coordinate information.
[0114] Furthermore, if the coordinate positions of the first client and the second client are the same, the mapping instruction, the mapping image and the coordinate information of the mapping image corresponding to the first display terminal are sent to the second client, and the second client is controlled to execute the position mapping instruction, and the mapping image is displayed in the display area of the second client corresponding to the coordinate information; if the coordinate positions of the first client and the second client are different, the coordinate information of the mapping image corresponding to the first display terminal is converted into target coordinate information corresponding to the second client according to a preset coordinate conversion relationship, and the mapping instruction, the mapping image and the target coordinate information are sent to the second client, and the second client is controlled to execute the position mapping instruction, and the mapping image is displayed in the display area corresponding to the target coordinate information of the second client.
[0115] Further, based on the above implementation scheme, see Figure 5 , Figure 5 A schematic flow chart of another implementation scheme of the second client control in the screen sharing method provided in the embodiment of the present application, specifically including steps S501-S502:
[0116] S501: If the operation request is an element deletion instruction of a target element component, the element deletion instruction and the element identifier of the target element component to be deleted corresponding to the element deletion instruction are sent to the second client.
[0117] The element identifier, that is, the unique information for identifying the element component generated when the target element component is generated, exemplarily, the element identifier is the element identifier of the element component.
[0118] In an implementation scheme of the present application, the target element component is an element component that is displayed on the first client and is deleted in response to a user operation corresponding to the first client; it can be understood that if the user requests a deletion operation of the target element based on input (touch screen or mouse) of the first client, the first client is controlled to delete the target element component so that the target element component is not displayed on the first client, and the element identifier of the target element component is obtained, and the element deletion instruction and the element identifier of the target element component deleted corresponding to the element deletion instruction are sent to the second client.
[0119] S502: Control the second client to execute the element deletion instruction to delete the target element component corresponding to the element identifier from the display area corresponding to the second client.
[0120] Further, the second client executes the element deletion instruction, and deletes the target element component corresponding to the element identifier from the display area corresponding to the second client, so that the target element component is not displayed in the second client.
[0121] It can be understood that, in any of the above embodiments, the target element component may also be a display window. Exemplarily, the target element component may be a voice component, a user component, etc. of a conference interface.
[0122] Further, based on the above implementation scheme, see Figure 6 , Figure 6 Another implementation scheme of the screen sharing method provided in the embodiment of the present application is a flowchart, which specifically includes steps S601-S605:
[0123] S601: Respond to a screen sharing request triggered by a target application in a first client, and obtain a first connection code corresponding to the first client.
[0124] The first connection code, that is, information used to control the first client and the second client to exchange data, can be, for example, address information of the first client, or identification information generated according to the address information.
[0125] Specifically, when the first client receives a screen sharing request from the user for the target application, the first connection code generated by the first client is obtained. Exemplarily, the user clicks the target application APP displayed on the screen of the first client. In response to the user's click on the target application APP, the first client is controlled to open the target application, and the homepage of the target application is displayed in the target display area of the first client. The homepage of the target application may include a screen sharing module. The user triggers the screen sharing request corresponding to the target application to be sent to the server by double-clicking the screen sharing module in the target application, that is, the server receives the screen sharing request triggered by the target application in the first client, responds to the screen sharing request, controls the first client to display a connection code collection window, and collects the connection code of the first client input by the user through the connection code collection window to ensure the privacy and security of the screen sharing request; it can be understood that the click, double-click and other operations in this embodiment are only for illustration and do not limit the user operation means in the embodiments of the present application. In other embodiments, the user can also operate by clicking, sliding, clicking the mouse and the like. In some other embodiments of the present application, when the first client receives a screen sharing request from the user for the target application, the first connection code stored in the corresponding target application can also be obtained by accessing a preset storage location. The present application does not make specific limitations.
[0126] S602: Search for a preset connection code correspondence relationship, obtain a second connection code corresponding to the first connection code, and determine a second client corresponding to the second connection code.
[0127] It can be understood that in one embodiment of the present application, a preset connection code correspondence relationship can be pre-created, that is, the client that can perform screen sharing is determined through network information. That is, when in use, by searching the preset connection code correspondence relationship, the second connection code corresponding to the first connection code can be obtained, and then the second client corresponding to the second connection code can be determined.
[0128] S603: Send a screen sharing request of the target application to the second client.
[0129] Specifically, after the second client is determined, a screen sharing request of the target application is sent to the second client, where the screen sharing request carries a target application identifier.
[0130] S604: Control the first client and the second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request.
[0131] S605: In response to an operation request triggered by the first client based on a target element component, control the target element component in the second client to perform display adjustment according to the operation request.
[0132] The specific implementation of steps S604-S605 may refer to any of the above implementation schemes.
[0133] For details, see Figure 7 , Figure 7 A schematic flow chart of one implementation scheme of the screen sharing method provided for the implementation scheme of the present application, wherein the first client is a drawing board client, and the second client is a drawing board receiving end. The drawing board receiving end (second client) is started, connected to the server, and maintains a long connection with the server, and can receive messages sent by the server at any time. Furthermore, the drawing board receiving end generates a unique second connection code and reports it to the server, and the drawing board client generates a unique first connection code and reports it to the server. When the drawing board client is detected to be started, the user clicks to enter the drawing board interface. The user clicks the share button of the drawing board client and enters the connection code generated in step 2; the client reports the drawing board ID of the current drawing board (equivalent to the identification information of the target application, used to identify the target application corresponding to the screen sharing request) and the first connection code to the server, and saves the connection code at the same time. Furthermore, the server receives the first connection code and the drawing board ID, finds the corresponding drawing board receiving end through the first connection code, and sends the drawing board ID to the corresponding drawing board receiving end. The drawing board receiving end receives the drawing board ID, loads the data of the drawing board through the ID, and displays the content of the drawing board (that is, controls the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request). Furthermore, the user moves or scales the drawing board (drawing board window) or deletes, adds, or updates the drawing board elements (target element components) based on the drawing board client, and the client reports the first connection code and corresponding event data (event data, that is, the operation request, and the above data corresponding to the operation request) to the server; the server receives the data, parses out the first connection code and event data, finds the corresponding drawing board receiving end through the first connection code, and sends the event data to the corresponding drawing board receiving end; the drawing board receiving end receives the event data and performs the corresponding operation according to the event type (type field, in the technical solution of this application, different operation requests correspond to different type fields, that is, the type field is used to identify different operation requests / instructions).
[0134] Furthermore, based on the above implementation scheme, the present application also provides another implementation scheme of the screen sharing method, which specifically includes the steps of:
[0135] (1) responding to a screen sharing request triggered by a target application in a first client, and obtaining a third connection code corresponding to the first client;
[0136] The third connection code is generated according to the IP address of the second client. It can be understood that the corresponding IP information can be obtained by parsing the third connection code, that is, the second client corresponding to the IP information is determined.
[0137] (2) parsing the third connection code to determine address information corresponding to the third connection code;
[0138] Exemplarily, each client can generate a reversible third connection code based on its own IP address to shorten the length of the IP address, and report the third connection code to the server for storage. During use, the user can input the third connection code through the first client (such as user terminal A). After the server receives the third connection code reported by the first client, it can reversely obtain the address information (i.e., IP address) corresponding to the third connection code through the connection code.
[0139] (3) sending a screen sharing request of the target application to a second client corresponding to the address information;
[0140] (4) controlling the first client and the second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request;
[0141] (5) In response to an operation request triggered by the first client based on the target element component, control the target element component in the second client to perform display adjustment according to the operation request.
[0142] Specifically, in one implementation scheme of the present application, the first client is a drawing board client, and the second client is a drawing board receiving end. The drawing board receiving end (second client) is started, connected to the server, and maintains a long connection with the server, and can receive messages sent by the server at any time. Further, the drawing board client is started, the user clicks to enter the drawing board interface, the user clicks the sharing button of the drawing board client (the same as the screen sharing module of the target application), and enters the third connection code; the client reports the drawing board ID of the current drawing board (equivalent to the identification information of the target application, used to identify the target application corresponding to the screen sharing request) and the third connection code to the server. Further, the server receives the third connection code and the drawing board ID, finds the corresponding drawing board receiving end by parsing the third connection code, and sends the drawing board ID to the corresponding drawing board receiving end. The drawing board receiving end receives the drawing board ID, loads the data of the drawing board through the ID, and displays the content of the drawing board (that is, controls the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request). Furthermore, when the user moves or scales the canvas (canvas window), or deletes, adds, or updates the canvas elements (target element components) based on the canvas client, the client reports corresponding event data (event data, i.e., operation request, and the above data corresponding to the operation request) to the server; the server sends the corresponding event data to the corresponding canvas receiving end; the canvas receiving end receives the event data and performs corresponding operations according to the event type (such as the type field. In the technical solution of the embodiment of the present application, different operation requests correspond to different type fields, i.e., the type field is used to identify different operation requests / instructions).
[0143] It is understandable that in some other embodiments of the present application, the same first receiving end can share multiple second receiving ends at the same time, and multiple receiving ends of data can be determined by multiple third connection codes. Exemplarily, the user clicks the sharing button of the drawing board client (the screen sharing module of the target application), can enter multiple third connection codes, and can report multiple third connection codes and the drawing board ID to the server. The server receives multiple third connection codes and the drawing board ID, finds the corresponding drawing board receiving end by parsing each third connection code, and sends the drawing board ID to each corresponding drawing board receiving end; each drawing board receiving end receives the drawing board ID, loads the data of the drawing board through the ID, and displays the content of the drawing board (that is, controls the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request). Furthermore, when the user moves or scales the artboard (artboard window), or deletes, adds, or updates artboard elements (target element components) based on the artboard client, the client reports event data (event data, i.e., operation requests, and the above data corresponding to the operation requests) to the server; the server receives the event data and sends the event data to the corresponding artboard receiving end, so as to enable a first receiving end to share multiple second receiving ends at the same time.
[0144] Further, in one implementation of the present application, controlling the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request specifically includes the steps of:
[0145] (1) If the target application is in a running state on the first client, obtain a target element component of the target application displayed on the first client.
[0146] The running state includes a running state and a non-running state. It is understandable that the running state can be viewed by obtaining process data of the client.
[0147] Specifically, the server responds to the screen sharing request sent by the first client, determines the target application and the second client corresponding to the screen sharing request; and accesses the background process data of the first client and the second client, obtains the running status of the target application of the first client, and the running status of the target application of the second client. If the running status of the target application in the first client is the running status, then by obtaining the application configuration information or component information of the target application corresponding to the first client, the target element component of the target application displayed in the first client is obtained; or the display screen of the first client corresponding to the target application is obtained, and the target element component of the target application displayed in the first client is obtained by analyzing.
[0148] (2) Controlling the second client to start the target application, and running and displaying the target element component in the second client.
[0149] Furthermore, if the target application of the second client is in a non-running state, the second client is controlled to start the target application, and run and display the target element component in the second client, that is, all target element components of the first client are loaded and displayed in the display area of the second client corresponding to the display position of the first client (see the above-mentioned target element new instruction execution implementation plan).
[0150] Furthermore, in some other implementation schemes of the present application, if the target application of the second client is in a running state, the element components displayed by the second client are obtained, the element components of the second client except the target element components are deleted, and the undisplayed target element components are added to the display area of the target application of the second client, that is, the display interface corresponding to the target application of the second client is controlled to display the target element components in the same way as the display interface of the target application of the first client (corresponding positions and the same element components).
[0151] An embodiment of the present application provides a screen sharing method, which controls, in response to a screen sharing request sent by a first client, the first client and a second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request, wherein the target application includes at least two operable element components; in response to an operation request triggered by the first client based on the target element component, the target element component in the second client is controlled to perform display adjustment according to the operation request. This solution abandons the screen sharing method based on video stream transmission. By controlling the first client and the second client to run the same target application to be shared in the scenario where screen sharing is required, and by detecting the operation request triggered by the target element component of the target application based on the target application of the user's corresponding operation terminal (the first client), the target element component corresponding to the target application in the receiving terminal (the second client) is controlled to adjust the display, and then the screen is shared. That is, corresponding to different user operations, the corresponding data to be transmitted is obtained or the corresponding operation instructions are directly transmitted. For example, when the user deletes the target element displayed in the first client, it is only necessary to send the deletion instruction of the target element and the element identifier to the second client to control the second client to delete the target element. When the user adds a target element in the first client, it is only necessary to load the newly added target element component and the coordinate information of the target element and the target element addition instruction to send to the second client to control the second client to execute the target addition instruction. When the element is detected, When a component is created, only the position adjustment instruction of the target element component and the target display position need to be sent to the second client; that is, the data transmission is as small as the size of a command signal carrying an element identifier, and the size of the command signal carrying the element identifier is generally within 1k, and the maximum is the size of a target element component. Especially for drawing board apps, the size of a target element component is only a few KB, and the current technical solution is to achieve screen sharing by real-time transmission of the computer's screen video stream. A 720p picture is about 2M, and a 1s video contains at least 24 720p pictures, which is 48M of traffic per second. The amount of data transmitted each time in the embodiment of the present application can mostly be controlled within a few KB. Compared with the existing solution, the data volume is low, the data transmission volume is greatly reduced, the transmission speed is fast, the bandwidth cost is saved, and delays are avoided. In addition, in the embodiment of the present application, by replacing the IP address of the receiving end with a connection code, the data transmission volume is also greatly reduced, the data transmission efficiency is further improved, and the screen sharing performance is thereby improved.
[0152] In order to better implement the screen sharing method in the embodiment of the present application, based on the screen sharing method, a screen sharing device is also provided in the embodiment of the present application, such as Figure 8 As shown, the screen sharing device includes modules 801-802:
[0153] A response processing module 801 is used to respond to a screen sharing request sent by a first client, control the first client and a second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request, wherein the target application includes at least two operable element components;
[0154] The sharing processing module 802 is used to respond to the operation request triggered by the first client based on the target element component, and control the target element component in the second client to perform display adjustment according to the operation request.
[0155] In one embodiment of the present application, the shared processing module 802 is used to control the target element component in the second client to perform display adjustment according to the operation request, specifically including:
[0156] If the operation request is a position adjustment instruction of a target element component, obtaining coordinate change information of the target element component in the display interface of the first client;
[0157] The second client is controlled to execute the position adjustment instruction, and the target element component of the second client is controlled to adjust the position according to the coordinate change information.
[0158] In one embodiment of the present application, the shared processing module 802 is used to control the target element component in the second client to perform display adjustment according to the operation request, specifically including:
[0159] If the operation request is an element adding instruction of a target element component, acquiring the target element component added in the display interface of the first client and the coordinate information of the target element component;
[0160] Determine target coordinate information of the second client according to the coordinate information and a preset coordinate conversion relationship between the first client and the second client;
[0161] The second client is controlled to execute the element adding instruction, and the newly added target element component is displayed in the display area of the second client corresponding to the target coordinate information.
[0162] In one embodiment of the present application, the shared processing module 802 is used to control the target element component in the second client to perform display adjustment according to the operation request, specifically including:
[0163] If the operation request is an element deletion instruction of a target element component, sending the element deletion instruction and the element identifier of the target element component to be deleted corresponding to the element deletion instruction to the second client;
[0164] The second client is controlled to execute the element deletion instruction to delete the target element component corresponding to the element identifier from the display area corresponding to the second client.
[0165] In one embodiment of the present application, the shared processing module 802 is used to control the target element component in the second client to perform display adjustment according to the operation request, specifically including:
[0166] If the operation request is a position adjustment instruction for the display area of the target application, obtaining a target display position corresponding to the adjusted display area;
[0167] The second client is controlled to execute the position adjustment instruction, and the target application in the second client is adjusted according to the target display position.
[0168] In one embodiment of the present application, the response processing module 801 is used to respond to the screen sharing request sent by the first client, and specifically includes:
[0169] Responding to a screen sharing request triggered by a target application in a first client, and obtaining a first connection code corresponding to the first client;
[0170] Searching for a preset connection code correspondence relationship, obtaining a second connection code corresponding to the first connection code, and determining a second client corresponding to the second connection code;
[0171] The screen sharing request of the target application is sent to the second client, and the step of controlling the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request is performed.
[0172] In one embodiment of the present application, the response processing module 801, used for responding to the screen sharing request sent by the first client, includes:
[0173] Responding to a screen sharing request triggered by a target application in a first client, and acquiring a third connection code sent by the first client;
[0174] Parsing the third connection code to determine address information corresponding to the third connection code;
[0175] Sending the screen sharing request of the target application to the second client corresponding to the address information, and executing the step of controlling the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request
[0176] In one implementation of the present application, the response processing module 801 is used to control the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request, specifically including:
[0177] If the running state of the target application in the first client is a running state, obtaining a target element component of the target application displayed in the first client;
[0178] The second client is controlled to start the target application, and the target element component is run and displayed in the second client.
[0179] The embodiment of the present application provides a screen sharing device, which is used to respond to a screen sharing request sent by a first client by setting a response processing module, control the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request, and the target application includes at least two operable element components; the sharing processing module is used to respond to the operation request triggered by the first client based on the target element component, and control the target element component in the second client to adjust the display according to the operation request. In this scheme, the method of screen sharing based on video streaming transmission is abandoned, and the first client and the second client are controlled to run the same target application to be shared in the scenario where screen sharing is required, and the operation request triggered by the target element component of the target application of the user corresponding to the operation end (first client) is detected, and the target element component corresponding to the target application in the receiving end (second client) is controlled to adjust the display, thereby sharing the screen, reducing the amount of data transmission, avoiding delays, and improving screen sharing performance.
[0180] Based on the above implementation scheme, the embodiment of the present invention further provides an electronic device, such as Fig. 9 As shown, Fig. 9 It is a schematic diagram of the structure of an embodiment of an electronic device provided in the embodiments of the present application.
[0181] Electronic equipment includes:
[0182] one or more processors;
[0183] Memory; and
[0184] One or more applications, wherein the one or more applications are stored in a memory and are configured to be executed by a processor to execute the steps of the screen sharing method in any of the above screen sharing method embodiments.
[0185] Specifically, the electronic device may include components such as a processor 1001 with one or more processing cores, a memory 1002 with one or more computer-readable storage media, a power supply 1003, and an input unit 1004. Those skilled in the art will appreciate that Fig. 9 The electronic device structure shown in the figure does not constitute a limitation of the electronic device, and may include more or less components than shown in the figure, or combine certain components, or arrange the components differently.
[0186] Among them, the processor 1001 is the screen sharing center, which uses various interfaces and lines to connect various parts of the entire electronic device, and executes various functions of the electronic device and processes data by running or executing software programs and / or modules stored in the memory 1002, and calling the data stored in the memory 1002, so as to monitor the electronic device as a whole. It can be understood that the processor 1001 transmits signals with the controller. Optionally, the processor 1001 may include one or more processing cores; preferably, the processor 1001 can integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface and application programs, etc., and the modem processor mainly processes wireless communications. It can be understood that the above-mentioned modem processor may not be integrated into the processor 1001.
[0187] The memory 1002 can be used to store software programs and modules. The processor 1001 executes various functional applications and data processing by running the software programs and modules stored in the memory 1002. The memory 1002 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 1002 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices. Accordingly, the memory 1002 may also include a memory controller to provide the processor 1001 with access to the memory 1002.
[0188] In some embodiments of the present application, the screen sharing device can be implemented in the form of a computer program. The computer program can be used in Fig. 9 The memory of the electronic device may store various program modules constituting the screen sharing method device, for example, Figure 8 The response processing module 801 and the sharing processing module 802 are shown. The computer program composed of various program modules enables the processor to execute the steps of the screen sharing method of each embodiment of the present application described in this specification.
[0189] For example, Fig. 9 The electronic device shown can be Figure 8 The response processing module 801 in the screen sharing method device shown executes step S201. The electronic device can execute step S202 through the sharing processing module 802. The electronic device includes a processor, a memory and a network interface connected through a system bus. Among them, the processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the electronic device is used to communicate with an external electronic device through a network connection. When the computer program is executed by the processor, a screen sharing method is implemented.
[0190] The electronic device also includes a power supply 1003 for supplying power to each component. Preferably, the power supply 1003 can be logically connected to the processor 1001 through a power management system, so as to manage charging, discharging, and power consumption through the power management system. The power supply 1003 can also include one or more DC or AC power supplies, recharging systems, power failure detection circuits, power converters or inverters, power status indicators, and other arbitrary components.
[0191] The electronic device may further include an input unit 1004, which may be used to receive input digital or character information and generate keyboard, mouse, joystick, optical or trackball signal input related to user settings and function control.
[0192] Although not shown, the electronic device may further include a display unit, etc., which will not be described in detail herein. Specifically in this embodiment, the processor 1001 in the electronic device will load the executable files corresponding to the processes of one or more application programs into the memory 1002 according to the following instructions, and the processor 1001 will run the application programs stored in the memory 1002, thereby realizing various functions, as follows:
[0193] In response to a screen sharing request sent by a first client, controlling the first client and a second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request, wherein the target application includes at least two operable element components;
[0194] In response to an operation request triggered by the first client based on a target element component, the target element component in the second client is controlled to perform display adjustment according to the operation request.
[0195] A person of ordinary skill in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be completed by instructions, or by controlling related hardware through instructions. The instructions may be stored in a computer-readable storage medium and loaded and executed by a processor.
[0196] To this end, an embodiment of the present invention provides a computer-readable storage medium (hereinafter referred to as storage medium), which may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc. A computer program is stored thereon, and the computer program is loaded by a processor to execute the steps in any screen sharing method provided in an embodiment of the present invention. For example, the computer program loaded by the processor may execute the following steps:
[0197] In response to a screen sharing request sent by a first client, controlling the first client and a second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request, wherein the target application includes at least two operable element components;
[0198] In response to an operation request triggered by the first client based on a target element component, the target element component in the second client is controlled to perform display adjustment according to the operation request.
[0199] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the detailed description of other embodiments above, and will not be repeated here.
[0200] In specific implementation, the above units or structures can be implemented as independent entities, or can be arbitrarily combined to be implemented as the same or several entities. The specific implementation of the above units or structures can refer to the previous method embodiments, which will not be repeated here.
[0201] The specific implementation of the above operations can be found in the previous embodiments, which will not be described in detail here.
[0202] The above is a detailed introduction to a screen sharing method, device, electronic device and storage medium provided in the embodiments of the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea; at the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.
Claims
1. A screen sharing method, characterized in that: include: In response to a screen sharing request sent by a first client, controlling the first client and a second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request, wherein the target application includes at least two operable element components; In response to an operation request triggered by the first client based on a target element component, the target element component in the second client is controlled to perform display adjustment according to the operation request.
2. The screen sharing method according to claim 1, characterized in that: The step of controlling the target element component in the second client to perform display adjustment according to the operation request includes: If the operation request is a position adjustment instruction of a target element component, obtaining coordinate change information of the target element component in the display interface of the first client; The second client is controlled to execute the position adjustment instruction, and the target element component of the second client is controlled to adjust the position according to the coordinate change information.
3. The screen sharing method according to claim 1, characterized in that: The step of controlling the target element component in the second client to perform display adjustment according to the operation request includes: If the operation request is an element adding instruction of a target element component, acquiring the target element component added in the display interface of the first client and the coordinate information of the target element component; Determine target coordinate information of the second client according to the coordinate information and a preset coordinate conversion relationship between the first client and the second client; The second client is controlled to execute the element adding instruction, and the newly added target element component is displayed in the display area of the second client corresponding to the target coordinate information.
4. The screen sharing method according to claim 1, characterized in that: The step of controlling the target element component in the second client to perform display adjustment according to the operation request includes: If the operation request is an element deletion instruction of a target element component, sending the element deletion instruction and the element identifier of the target element component to be deleted corresponding to the element deletion instruction to the second client; The second client is controlled to execute the element deletion instruction to delete the target element component corresponding to the element identifier from the display area corresponding to the second client.
5. The screen sharing method according to claim 1, characterized in that: The step of controlling the target element component in the second client to perform display adjustment according to the operation request includes: If the operation request is a position adjustment instruction for the display area of the target application, obtaining a target display position corresponding to the adjusted display area; The second client is controlled to execute the position adjustment instruction, and the target application in the second client is adjusted according to the target display position.
6. The screen sharing method according to claim 1, characterized in that: The responding to the screen sharing request sent by the first client includes: Responding to a screen sharing request triggered by a target application in a first client, and obtaining a first connection code corresponding to the first client; Searching for a preset connection code correspondence relationship, obtaining a second connection code corresponding to the first connection code, and determining a second client corresponding to the second connection code; The screen sharing request of the target application is sent to the second client, and the step of controlling the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request is performed.
7. The screen sharing method according to claim 1, characterized in that: The responding to the screen sharing request sent by the first client includes: Responding to a screen sharing request triggered by a target application in a first client, and acquiring a third connection code sent by the first client; Parsing the third connection code to determine address information corresponding to the third connection code; The screen sharing request of the target application is sent to the second client corresponding to the address information, and the step of controlling the first client and the second client corresponding to the screen sharing request to start the target application corresponding to the screen sharing request is performed.
8. The screen sharing method according to any one of claims 1 to 7, characterized in that: The controlling the first client and the second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request includes: If the running state of the target application in the first client is a running state, obtaining a target element component of the target application displayed in the first client; The second client is controlled to start the target application, and the target element component is run and displayed in the second client.
9. A screen sharing device, characterized in that: include: a response processing module, configured to, in response to a screen sharing request sent by a first client, control the first client and a second client corresponding to the screen sharing request to start a target application corresponding to the screen sharing request, wherein the target application includes at least two operable element components; The shared processing module is used to respond to an operation request triggered by the first client based on the target element component, and control the target element component in the second client to perform display adjustment according to the operation request.
10. An electronic device, characterized in that: The electronic device comprises: one or more processors; Memory; and One or more applications, wherein the one or more applications are stored in the memory and are configured to be executed by the processor to implement the steps in the screen sharing method according to any one of claims 1 to 8.
11. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and the computer program is loaded by a processor to execute the steps in the screen sharing method according to any one of claims 1 to 8.