Screen projection state determination method and device, equipment and computer readable storage medium
By displaying shared screen projection information on the first terminal and sending a screen projection status detection request to the recipient, the system automatically detects the recipient's screen projection status, solving the problem of automatic detection in online meetings and improving meeting efficiency and user experience.
Patent Information
- Application Number
- CN202111667109.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-05
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2040-08-05
AI Technical Summary
In online meetings, the inability to automatically detect the recipient's screen sharing status leads to low meeting efficiency, requiring manual inquiry to participants to confirm whether they can see the screen.
The system displays shared screen projection information on the interface of the first terminal and sends a screen projection status detection request to the receiving second terminal. It receives the request, determines the current screen projection status based on the detection data, and displays the status indicator.
It enables automated detection of the recipient's current status, improving meeting efficiency and user experience, and eliminating the need for manual inquiries.
Smart Images

Figure CN114296675B_ABST
Abstract
Description
[0001] This application is a divisional application of application No. 202010780140.0, with the application date of August 5, 2020, and the title of Screen Projection State Determination Method, Device, Equipment and Computer Readable Storage Medium. TECHNICAL FIELD
[0002] Embodiments of the present application relate to the technical field of Internet, and relate to but are not limited to a screen projection state determination method, device, equipment and computer readable storage medium. BACKGROUND
[0003] In daily online meetings, after the sharing screen projection person sends a sharing request to the terminal of the receiver to realize sharing of data (such as PPT or video), in order to confirm whether the receiver can normally receive the shared data, it is usually necessary to ask the participants "Can everyone see my screen?", and some or all participants need to reply that they have seen it, and then the meeting can officially begin. Obviously, in the related art, the screen projection state of the receiver cannot be automatically detected, which affects the efficiency of the meeting. SUMMARY
[0004] Embodiments of the present application provide a screen projection state determination method, device, equipment and computer readable storage medium, when a first terminal is sharing screen projection, a state identifier corresponding to the current screen projection state of each second terminal is displayed on the current interface of the first terminal, in this way, the current screen projection state of the receiver can be automatically detected, and the screen projection state does not need to be asked by the user of the screen projection side, thereby improving the efficiency of the meeting and the user experience.
[0005] The technical solution of the embodiments of the present application is as follows:
[0006] The embodiments of the present application provide a screen projection state determination method, applied to a first terminal of a screen projection side, comprising:
[0007] In response to a sharing screen projection operation, sharing screen projection information is displayed on the current interface of the first terminal, and the sharing data corresponding to the sharing screen projection information is sent to at least one second terminal of a receiver, realizing sharing screen projection.
[0008] When the first terminal is sharing screen projection, a state identifier corresponding to the current screen projection state of each second terminal is displayed on the current interface of the first terminal.
[0009] The embodiments of the present application provide a screen projection state determination method, applied to a second terminal of a receiver, comprising:
[0010] In a process of receiving the shared data sent by the first terminal, a screen projection state detection request sent by the first terminal is received, and the screen projection state detection request includes current screen projection data corresponding to the shared data;
[0011] The data currently received by the second terminal is detected to obtain detection data;
[0012] According to the detection data and the current screen projection data, a current screen projection state of the second terminal is determined;
[0013] The current screen projection state is sent to the first terminal.
[0014] Embodiments of the present application provide a screen projection state determination device, and the device comprises:
[0015] A processing module is configured to display shared screen projection information on a current interface in response to a shared screen projection operation, and send shared data corresponding to the shared screen projection information to at least one second terminal of a receiver to realize shared screen projection.
[0016] A display module is configured to display a state identifier corresponding to a current screen projection state of each second terminal on the current interface when the shared screen projection is performed.
[0017] Embodiments of the present application provide a screen projection state determination device, and the device comprises:
[0018] A second receiving module is configured to receive a screen projection state detection request sent by the first terminal in a process of receiving shared data sent by the first terminal, and the screen projection state detection request includes current screen projection data corresponding to the shared data.
[0019] A detection module is configured to detect data currently received by the second terminal to obtain detection data.
[0020] A second determination module is configured to determine a current screen projection state of the second terminal according to the detection data and the current screen projection data.
[0021] A second sending module is configured to send the current screen projection state to the first terminal.
[0022] Embodiments of the present application provide a screen projection state determination device, and the device comprises:
[0023] A memory is configured to store executable instructions, and a processor is configured to execute the executable instructions stored in the memory to implement the method described above.
[0024] Embodiments of the present application provide a computer readable storage medium storing executable instructions, and the executable instructions are configured to cause a processor to execute the executable instructions to implement the method described above.
[0025] The embodiments of the present application have the following beneficial effects: when the first terminal performs the sharing projection, the current projection state of each second terminal corresponding to the state identifier is displayed on the current interface of the first terminal, thus, the current projection state of the receiving party can be automatically detected, without the user of the projection party asking the user of the receiving party of the second terminal about the projection state, thereby improving the conference efficiency and improving the user experience. BRIEF DESCRIPTION OF DRAWINGS
[0026] Figure 1 is an optional architecture schematic diagram of a projection state determination system provided by the embodiments of the present application;
[0027] Figure 2 is a deployment relationship diagram of the IaaS layer, the PaaS layer and the SaaS layer provided by the embodiments of the present application;
[0028] Figure 3 is a structure schematic diagram of the first terminal provided by the embodiments of the present application;
[0029] Figure 4A is an optional flow schematic diagram of the projection state determination method provided by the embodiments of the present application;
[0030] Figure 4B is an optional flow schematic diagram of the projection state determination method provided by the embodiments of the present application;
[0031] Figure 5 is an optional flow schematic diagram of the projection state determination method provided by the embodiments of the present application;
[0032] Figure 6 is an optional flow schematic diagram of the projection state determination method provided by the embodiments of the present application;
[0033] Figure 7 is an optional flow schematic diagram of the projection state determination method provided by the embodiments of the present application;
[0034] Figure 8 is an optional flow schematic diagram of the projection state determination method provided by the embodiments of the present application;
[0035] Figure 9 is an optional flow schematic diagram of the projection state determination method provided by the embodiments of the present application;
[0036] Figure 10 is a product interface diagram provided by the embodiments of the present application;
[0037] Figure 11 is a classification diagram of the inspection scheme provided by the embodiments of the present application. DETAILED DESCRIPTION
[0038] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings, and the described embodiments should not be regarded as limitations to the present application. All other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.
[0039] In the following description, "some embodiments" are related to a subset of all possible embodiments, but it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict. Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meaning as understood by those skilled in the art to which the embodiments of the present application belong. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.
[0040] The related data collection and processing in the embodiments of the present application should strictly comply with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of authorization of laws and regulations and the personal information subject.
[0041] The embodiments of the present application provide a screen projection state determination method. For a first terminal of a screen projection party, when a shared screen projection operation is received, in response to the shared screen projection operation, shared screen projection information is displayed on a current interface of the first terminal, and shared data corresponding to the shared screen projection information is sent to at least one second terminal of a receiving party, so as to realize shared screen projection. When the first terminal performs shared screen projection, a state identifier corresponding to a current screen projection state of each second terminal is displayed on the current interface of the first terminal. In some embodiments, when the first terminal sends shared data to the at least one second terminal, a screen projection state detection request is sent to each second terminal, the screen projection state detection request including current screen projection data corresponding to the shared data; detection data corresponding to the current screen projection data returned by each second terminal in response to the screen projection state detection request is received; the current screen projection state of the corresponding second terminal is determined according to the detection data of each second terminal and the current screen projection data; and a state identifier corresponding to the current screen projection state of each second terminal is displayed on the current interface of the first terminal. In this way, the current screen projection state of the receiving party can be automatically detected without the screen projection party user inquiring the screen projection state from the receiving party user of the second terminal, so as to improve the conference efficiency and improve the user experience.
[0042] The following describes exemplary applications of the screen projection state determination device provided by the embodiments of the present application. The screen projection state determination device provided by the embodiments of the present application can be implemented as any terminal having a screen display function, a voice input and output function, and a computing and data processing capability, such as a notebook computer, a tablet computer, a desktop computer, a mobile device (e.g., a mobile phone, a portable music player, a personal digital assistant, a dedicated messaging device, a portable game device), a smart robot, and the like, or as a server. The following describes exemplary applications of the screen projection state determination device when implemented as a terminal.
[0043] Referring to Figure 1 , Figure 1 is an optional architecture schematic diagram of the screen projection state determination system 10 provided by the embodiments of the present application. To implement a conference application for implementing a multi-party screen projection conference, the first terminal 100-1 of a screen projection party and at least one second terminal (exemplarily shown as the second terminal 100-2 and the second terminal 100-3) of a receiving party are connected to the server 300 through a network 200. The network 200 can be a wide area network or a local area network, or a combination of the two.
[0044] The first terminal 100-1 is configured to display shared data and send the shared data to the server 300 through the network 200. The server sends the shared data to the second terminal 100-2 and the second terminal 100-3. The second terminal 100-2 and the second terminal 100-3, as receiving parties of the shared data, display the received data on a current interface. When the first terminal 100-1 sends the shared data to at least one second terminal, the first terminal 100-1 also sends a screen projection state detection request to the server through the network 200. The screen projection state detection request includes current screen projection data corresponding to the shared data. The server sends the screen projection state detection request to the second terminal 100-2 and the second terminal 100-3 and receives detection data corresponding to the current screen projection data returned by the second terminal 100-2 and the second terminal 100-3 (it should be noted that, for the sake of simplicity and clarity of the drawings, the above specific process of signaling interaction between the server and the first terminal and the second terminal is not shown in Figure 1 After receiving the detection data of the second terminal 100-2 and the second terminal 100-3, the server 300 determines the current screen projection state of the second terminal 100-2 and the current screen projection state of the second terminal 100-3 according to the detection data of the second terminal 100-2 and the second terminal 100-3 and the current screen projection data. The server 300 sends the current screen projection state of the second terminal 100-2 and the current screen projection state of the second terminal 100-3 to the first terminal 100-1 through the network 200. After receiving the current screen projection state of each second terminal, the first terminal 100-1 displays a state identifier corresponding to the current screen projection state of each second terminal on the current interface 110-1 of the first terminal.
[0045] In some embodiments, the server 300 can be a stand-alone physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, and basic cloud computing services such as big data and artificial intelligence platforms. The first terminal 100-1, the second terminal 100-2, and the second terminal 100-3 can be smart phones, tablet computers, notebook computers, desktop computers, smart speakers, smart watches, and the like, but are not limited thereto. The first terminal 100-1, the second terminal 100-2, and the second terminal 100-3, and the server can be directly or indirectly connected through wired or wireless communication, and the present embodiments do not limit the same.
[0046] In some embodiments, the step of determining the current screen projection state of the second terminal 100-2 and the current screen projection state of the second terminal 100-3 according to the detection data and the current screen projection data of the second terminal 100-2 and the second terminal 100-3 can also be implemented by the first terminal 100-1, or the first terminal 100-1 corresponds to a server, each second terminal corresponds to a server, all servers form a server cluster or a distributed system, the step of determining the current screen projection state of each second terminal can be implemented by the server corresponding to the first terminal 100-1, or the step of determining the current screen projection state of the corresponding second terminal can also be implemented by the server corresponding to each second terminal, and after determining the current screen projection state, the determined current screen projection state is sent to the server corresponding to the first terminal 100-1 through the network 200.
[0047] The screen projection state determination method according to the embodiments of the present application can also be implemented based on a cloud platform and through cloud technology. Cloud technology refers to a kind of hosting technology that unifies a series of resources such as hardware, software, and network in a wide area network or a local area network to realize the calculation, storage, processing, and sharing of data. Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, and application technology based on cloud computing business model application, can form a resource pool, and can be used on demand, flexibly and conveniently. Cloud computing technology will become an important support. The background service of a technical network system requires a large amount of computing and storage resources, such as video websites, picture websites, and more portals. With the high development and application of the Internet industry, every item in the future may have its own identification mark and needs to be transmitted to the background system for logical processing. Different levels of data will be processed separately, and various types of industry data need strong system support, which can only be realized through cloud computing.
[0048] In the embodiments of the present application, when the current screen projection state of each second terminal is determined according to the detection data and the current screen projection data of each second terminal, cloud computing technology can be used to achieve this. Through cloud computing technology, the computing tasks (for example, the task of calculating the similarity between the detection data and the current screen projection data of each second terminal) are distributed on a resource pool formed by a large number of computing devices, so that various application systems can obtain computing power, storage space and information services according to needs. The network that provides resources is called "cloud". The resources in the "cloud" seem to be infinitely expandable to the user, and can be obtained at any time, used on demand, expanded at any time, and paid according to use.
[0049] As a basic capability provider of cloud computing, a cloud computing resource pool platform, referred to as a cloud platform, is established, which is generally referred to as Infrastructure as a Service (IaaS). A plurality of types of virtual resources are deployed in the resource pool for external customers to select and use. The cloud computing resource pool mainly includes computing devices (virtualized machines including operating systems), storage devices and network devices. According to logical functions, the Platform as a Service (PaaS) layer can be deployed on the IaaS layer, and the Software as a Service (SaaS) layer is deployed above the PaaS layer, or the SaaS layer can be directly deployed on the IaaS layer. The PaaS layer is a platform for software running, such as databases, web containers, etc. The SaaS layer is various business software, such as web portal websites, SMS mass senders, etc. As shown in FIG. 2, the deployment relationship of the IaaS layer 203, the PaaS layer 202 and the SaaS layer 201 is shown. Generally, the SaaS layer 201 and the PaaS layer 202 are upper layers relative to the IaaS layer 203. Figure 2
[0050] In some embodiments, the screen projection state determination method of the embodiments of the present application can also be a screen projection state determination method corresponding to a cloud conference. The cloud conference is an efficient, convenient and low-cost conference form based on cloud computing technology. Users only need to perform simple and easy-to-use operations through an Internet interface to quickly and efficiently synchronize and share voice, data files and video with teams and customers around the world, and the complex technology of data transmission and processing in the conference is operated by the cloud conference service provider. At present, domestic cloud conferences mainly focus on service content based on the Software as a Service (SaaS) mode, including telephone, network, video and other service forms. The video conference based on cloud computing is called cloud conference.
[0051] In the cloud conference era, the transmission, processing and storage of data are all handled by the computer resources of the video conference manufacturer. Users no longer need to purchase expensive hardware and install cumbersome software. They only need to open a browser and log in to the corresponding interface to conduct efficient remote conferences. The cloud conference system supports multi-server dynamic cluster deployment and provides multiple high-performance servers, greatly improving the stability, security and availability of conferences. In recent years, video conferences have been widely welcomed by users in various fields such as transportation, finance, operators, education and enterprises because they can greatly improve communication efficiency and continuously reduce communication costs, and have brought an upgrade in internal management. There is no doubt that video conferences using cloud computing will have stronger appeal in convenience, speed and ease of use, and will certainly trigger a new high tide in video conference applications.
[0052] Referring to Figure 3 , Figure 3 is a structural schematic diagram of a first terminal 100-1 provided by an embodiment of the present application, Figure 3 The first terminal 100-1 shown in the figure includes at least one processor 310, a memory 350, at least one network interface 320 and a user interface 330. The various components in the first terminal 100-1 are coupled together through a bus system 340. It can be understood that the bus system 340 is used to realize the connection and communication between the components. In addition to including a data bus, the bus system 340 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, all the buses are marked as the bus system 340 in the figure. Figure 3
[0053] The processor 310 can be an integrated circuit chip with signal processing capability, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., wherein the general-purpose processor can be a microprocessor or any conventional processor.
[0054] The user interface 330 includes one or more output devices 331 that enable the presentation of media content, including one or more speakers and / or one or more visual display screens. The user interface 330 also includes one or more input devices 332, including user interface components that facilitate user input, such as a keyboard, a mouse, a microphone, a touch screen display, a camera, other input buttons and controls.
[0055] The memory 350 can be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical drives, and the like. The memory 350 optionally includes one or more storage devices remotely located from the processor(s) 310. The memory 350 comprises a volatile memory or non-volatile memory, and can also include both volatile and non-volatile memory. Non-volatile memory can be read only memory (ROM), volatile memory can be random access memory (RAM). The memory 350 described in embodiments of the present application is intended to include any suitable type of memory. In some embodiments, the memory 350 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or a subset or superset thereof, which are described below.
[0056] The operating system 351 includes system programs for processing various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, and the like, for implementing various basic services and processing hardware-based tasks.
[0057] The network communication module 352 is used to communicate with other computing devices via one or more (wired or wireless) network interfaces 320, exemplary network interfaces 320 include Bluetooth, wireless fidelity (WiFi), and universal serial bus (USB), and the like.
[0058] The input processing module 353 is used to detect and translate one or more user inputs or interactions from one or more input devices 332.
[0059] In some embodiments, the apparatus provided by embodiments of the present application can be implemented in software, Figure 3 A screen projection state determination apparatus 354 stored in the memory 350 is shown, which can be a screen projection state determination apparatus in the first terminal 100-1, which can be software in the form of programs and plug-ins, etc., including the following software modules: a processing module 3541 and a display module 3542, which are logical, and thus can be combined or further split according to the functions implemented. The functions of each module will be described below.
[0060] In some embodiments, the second terminal 100-2 and the second terminal 100-3 can have the same structure as the first terminal 100-1 (not shown in the figure), except that the screen projection state determining apparatus stored in the memory of the second terminal 100-2 and the second terminal 100-3 can be one of the screen projection state determining apparatuses in the second terminal 100-2 and the second terminal 100-3, which can be software in the form of programs and plug-ins, etc., including the following software modules: a second receiving module, a detection module, a second determining module, and a second sending module.
[0061] In some embodiments, the apparatus provided by the embodiments of the present application can be implemented in a hardware manner. For example, the apparatus provided by the embodiments of the present application can be a processor in the form of a hardware decoding processor, which is programmed to execute the screen projection state determining method provided by the embodiments of the present application. For example, the processor in the form of a hardware decoding processor can use one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field programmable gate arrays (FPGAs), or other electronic elements.
[0062] The screen projection state determining method provided by the embodiments of the present application will be described below in conjunction with exemplary applications and implementations of the first terminal 100-1 provided by the embodiments of the present application. Referring to Figure 4A , Figure 4A is an optional flowchart of the screen projection state determining method provided by the embodiments of the present application, which will be described in conjunction with the steps shown in Figure 4A .
[0063] In step S401, in response to a shared screen projection operation, shared screen projection information is displayed on the current interface of the first terminal, and shared data corresponding to the shared screen projection information is sent to at least one second terminal of the receiver, so as to realize shared screen projection.
[0064] Here, the shared screen projection operation refers to a trigger operation of the user on the first terminal, for example, an operation of the user clicking a button to start shared screen projection.
[0065] On the current interface of the first terminal, when shared screen projection is performed, the shared screen projection information is displayed, and at the same time, shared data corresponding to the shared screen projection information is shared with at least one second terminal, wherein the shared screen projection information includes at least one of the following: video information, image information, text information, and voice information, etc.
[0066] At step S402, when the first terminal is sharing and projecting, a state identifier corresponding to a current projection state of each second terminal is displayed on a current interface of the first terminal.
[0067] Here, the current projection state includes, but is not limited to, projection success, projection failure, detection, and others. When the second terminal successfully receives the shared data and accurately displays the shared data on a current interface of the second terminal, the current projection state of the second terminal is projection success. When the second terminal does not successfully receive the shared data or fails to accurately display the shared data on the current interface of the second terminal, the current projection state of the second terminal is projection failure. If the current projection state is detection, it indicates that no valid detection data or valid current projection state feedback from the second terminal has been obtained.
[0068] The projection state determination method provided by the embodiments of the present application can display a state identifier corresponding to a current projection state of each second terminal on a current interface of the first terminal when the first terminal is sharing and projecting. In this way, the current projection state of the receiver can be automatically detected without the user of the projector needing to ask the user of the receiver about the projection state, thereby improving conference efficiency and user experience.
[0069] Based on Figure 4A , Figure 4B is an optional flowchart of the projection state determination method provided by the embodiments of the present application, as shown in Figure 4B The method can further include the following steps:
[0070] At step S411, when the first terminal sends shared data to at least one second terminal, a projection state detection request is sent to each second terminal, and the projection state detection request includes current projection data corresponding to the shared data.
[0071] Here, when the user of the projector wants to share data with multiple users of the receivers, the user can send shared data to at least one second terminal of the receivers through the first terminal of the projector, so as to achieve data sharing and shared projection. For example, for a shared conference, the projector can share PPT or video with the receivers. At this time, the projector can share the PPT or video with multiple receivers.
[0072] During the shared projection, in order to determine whether the receiver successfully receives the shared data or to determine the projection state of the receiver, a projection state detection request can be sent to the second terminal of the receiver, and the projection state detection request is used to request detection of the current projection state of the second terminal.
[0073] The current screen projection data corresponding to the shared data refers to part of the shared data or attribute parameters corresponding to the shared data. The attribute parameters can include, but are not limited to, the size of the shared data, the type of the shared data, and the like.
[0074] In step S412, each second terminal returns detection data corresponding to the current screen projection data in response to the screen projection state detection request.
[0075] Here, each second terminal acquires detection data corresponding to the current screen projection data in response to the screen projection state detection request after receiving the screen projection state detection request. The detection data can be the current screen projection data or attribute information of the current screen projection data, such as the size of the current screen projection data or the type of the current screen projection data, and the like.
[0076] In some embodiments, the current screen projection data corresponds to the shared data sent by the first terminal, and the detection data corresponds to the current screen projection data. For example, the current screen projection data of the first terminal can be at least one of text data, image data, and video data, and correspondingly, the data or detection data currently presented on the second terminal after the second terminal receives the data shared by the first terminal should also be at least one of text data, image data, and video data. Of course, this is only the case when the screen projection is successful. When the screen projection fails or any other situation other than the successful screen projection occurs, the detection data can be different from or not corresponding to the current screen projection data.
[0077] In step S413, the current screen projection state of each second terminal is determined according to the detection data and the current screen projection data of each second terminal.
[0078] Here, the current screen projection state includes, but is not limited to, screen projection success, screen projection failure, detection in progress, and the like. The current screen projection state can be determined by matching the detection data and the current screen projection data. When the detection data matches the current screen projection data, it is determined that the current screen projection state of the corresponding second terminal is screen projection success. When the detection data does not match the current screen projection data, it is determined that the current screen projection state of the corresponding second terminal is screen projection failure. If the current screen projection state is in detection, it indicates that no valid detection data has been acquired.
[0079] In step S414, a state identifier corresponding to the current screen projection state of each second terminal is displayed on the current interface of the first terminal.
[0080] Here, each current screen projection state corresponds to a state identifier, which can be a pattern identifier or a text identifier. After determining the current screen projection state of the second terminal, the state identifier corresponding to the current screen projection state is obtained, and the state identifier of each second terminal is displayed on the current interface of the first terminal.
[0081] In the embodiments of the present application, the state identifier can be displayed within a preset time period after the start of the meeting, i.e., within a preset time period of starting data sharing, or the state identifier can be displayed throughout the data sharing process. The state identifier of each second terminal is not fixed and changes with the change of the current screen projection state of the second terminal.
[0082] In the embodiments of the present application, the current screen projection state of each terminal can be continuously detected, or the current screen projection state of each terminal can be periodically detected, or only part or all of the second terminals in the current meeting can be detected for the current screen projection state.
[0083] The screen projection state determination method provided in the embodiments of the present application sends a screen projection state detection request to the second terminal when the first terminal sends shared data to the second terminal, receives detection data corresponding to the current screen projection data returned by the second terminal, and determines the current screen projection state of the second terminal according to the detection data and the current screen projection data. In this way, the current screen projection state of the receiving party can be automatically detected without the user of the screen projection party asking the user of the receiving party of the second terminal about the screen projection state, thereby improving the efficiency of the meeting and improving the user experience.
[0084] In some embodiments, the screen projection state determination method can be implemented by a plurality of terminals in a screen projection state determination system, wherein the screen projection state determination system includes a first terminal as a screen projection party and at least one second terminal as a shared data receiving party (the embodiments are described by taking the second terminal A1 and the second terminal A2 as examples). Figure 5 is an optional flowchart of the screen projection state determination method provided in the embodiments of the present application, as shown in Figure 5 The method includes the following steps:
[0085] Step S501, the first terminal sends shared data to the second terminal A1 and the second terminal A2, and realizes shared screen projection between the first terminal and the second terminal A1 and the second terminal A2. Here, after the start of the meeting, the first terminal can send shared data to all second terminals participating in the meeting.
[0086] Step S502, in the process of shared screen projection, the first terminal sends a screen projection state detection request to the second terminal A1, and the screen projection state detection request includes current screen projection data corresponding to the shared data.
[0087] Here, the user of the first terminal can trigger the screen projection state detection request on the interface of the first terminal, or the first terminal can automatically send the screen projection state detection request to the second terminal at the beginning of the conference.
[0088] In the embodiments of the present application, any one of the following five methods can be used to send the screen projection state detection request to the second terminal A1.
[0089] Method one: periodically sending the screen projection state detection request to the second terminal A1.
[0090] Method two: the first terminal receives a trigger operation of the user, and in response to the trigger operation, sends the screen projection state detection request to the second terminal A1.
[0091] Here, the trigger operation refers to the operation of the user triggering the screen projection state detection. For example, a trigger button can be displayed on the current page of the first terminal, and the user can trigger the first terminal to send the screen projection state detection request to the second terminal A1 by clicking the trigger button.
[0092] In some embodiments, a unified trigger button can be displayed on the current page of the first terminal, and / or a trigger button corresponding to each second terminal can be displayed. The unified trigger button is used to send the screen projection state detection request to all second terminals at the same time when the user clicks it. Of course, the user can only need to send the screen projection state detection request to part of the second terminals, so the user can click the trigger button of the second terminal whose current screen projection state needs to be determined, so as to send the screen projection state detection request to the corresponding second terminal.
[0093] Method three: after receiving the detection data returned by the second terminal A1 corresponding to the current time screen projection state detection request, sending the next screen projection state detection request to the second terminal A1.
[0094] Here, the next screen projection state detection request is sent after receiving the feedback of the current screen projection state detection request of the second terminal, that is, after receiving the feedback of the current screen projection state detection request, the current screen projection state can be determined, and further automatic detection of the next time screen projection state is needed.
[0095] Method four: when the detection data returned by the second terminal A1 corresponding to the current time screen projection state detection request is not received within a preset time point, the screen projection state detection request is sent to the second terminal A1 again.
[0096] Here, if the detection data corresponding to the screen projection state detection request of the current time returned by the second terminal is not received within a long time, it indicates that the screen projection state detection request of the current time fails to be sent or the screen projection state detection request of the current time fails to be received by the second terminal, and thus the screen projection state detection request is re-sent to the second terminal, that is, the screen projection state detection request is retransmitted.
[0097] Mode five: when the shared screen projection operation is received, the screen projection state detection request is sent to the second terminal A1 in response to the shared screen projection operation.
[0098] Here, the shared screen projection operation can not only be a trigger operation for sending shared data, but also a trigger operation for sending the screen projection state detection request, that is, when the first terminal receives the shared screen projection operation of the user, it not only starts to send the shared data to the second terminal, but also sends the screen projection state detection request to the second terminal.
[0099] Step S503: the second terminal A1 acquires the image displayed at the current time in response to the screen projection state detection request, and obtains the first detection data corresponding to the current screen projection data. The first detection data is the image displayed at the current time.
[0100] Step S504: the second terminal A1 sends the first detection data to the first terminal.
[0101] Step S505: the first terminal determines the current screen projection state of the second terminal A1 according to the first detection data and the current screen projection data.
[0102] Here, the first terminal can calculate the similarity between the first detection data and the current screen projection data, and determine the current screen projection state of the second terminal A1 according to the similarity between the first detection data and the current screen projection data.
[0103] Step S506: the first terminal sends the screen projection state detection request to the second terminal A2 in the process of shared screen projection, and the screen projection state detection request includes the current screen projection data corresponding to the shared data.
[0104] Here, the screen projection state detection request can be sent to the second terminal A1 by at least any one of the following six modes:
[0105] Mode one: the screen projection state detection request is periodically sent to the second terminal A2.
[0106] Mode two: the first terminal receives a trigger operation of the user, and sends the screen projection state detection request to the second terminal A2 in response to the trigger operation.
[0107] The third mode is that, after receiving the detection data returned by the second terminal A2 corresponding to the current time screen projection state detection request, the first terminal sends a next screen projection state detection request to the second terminal A2.
[0108] The fourth mode is that, when the detection data returned by the second terminal A2 corresponding to the current time screen projection state detection request is not received within a preset time point, the first terminal sends a screen projection state detection request to the second terminal A2 again.
[0109] The fifth mode is that, when a shared screen projection operation is received, the first terminal sends a screen projection state detection request to the second terminal A2 in response to the shared screen projection operation.
[0110] The sixth mode is that, after receiving the detection data returned by any other second terminal (for example, the second terminal A1) corresponding to the current time screen projection state detection request, and when the detection data returned by the second terminal A2 corresponding to the current time screen projection state detection request is not received within a preset time period, the first terminal sends a screen projection state detection request to the second terminal A2 again.
[0111] Here, since the second terminal A1 has returned the detection data corresponding to the current time screen projection state detection request, it indicates that the current time screen projection state detection request is sent successfully, and the reason why the second terminal A2 does not feed back for a long time is that the second terminal A2 does not successfully receive the current time screen projection state detection request. Therefore, the first terminal sends a screen projection state detection request to the second terminal A2 again.
[0112] In step S507, the second terminal A2 obtains the image displayed at the current time in response to the screen projection state detection request, and obtains second detection data corresponding to the current screen projection data.
[0113] In step S508, the second terminal A2 sends the second detection data to the first terminal.
[0114] In step S509, the first terminal determines the current screen projection state of the second terminal A2 according to the second detection data and the current screen projection data.
[0115] It should be noted that steps S506 to S509 are the same as steps S502 to S505 described above, and the embodiments of the present application will not be described again.
[0116] In step S510, the state identifiers corresponding to the current screen projection states of the second terminal A1 and the second terminal A2 are determined.
[0117] Here, each current screen projection state corresponds to a state identifier, and after the current screen projection states of the second terminal A1 and the second terminal A2 are determined, the state identifiers corresponding to the current screen projection states of the second terminal A1 and the second terminal A2 are determined respectively.
[0118] In some embodiments, the first terminal can store a mapping relationship list between the screen projection state and the state identifier, and the state identifier corresponding to the current screen projection state of the second terminal A1 and the second terminal A2 can be found from the mapping relationship list by table lookup.
[0119] In step S511, the state identifiers of the second terminal A1 and the second terminal A2 are displayed on the current interface of the first terminal.
[0120] The screen projection state determination method provided by the embodiments of the present application can send a screen projection state detection request to the second terminal A1 and the second terminal A2 when the first terminal sends shared data to the second terminal A1 and the second terminal A2, receive the first detection data and the second detection data corresponding to the current screen projection data returned by the second terminal A1 and the second terminal A2, and determine the current screen projection state of the second terminal A1 and the second terminal A2 in turn according to the first detection data, the second detection data, and the current screen projection data. In this way, the current screen projection state of different receivers can be automatically detected, and the screen projection party user does not need to ask the receiver users of the second terminal A1 and the second terminal A2 about the screen projection state, the automatic detection of the screen projection state in the multi-person conference is realized, the screen projection party user does not need to ask the current state of each receiver one by one, and therefore the conference efficiency is greatly improved.
[0121] In some embodiments, the step of determining the current screen projection state of the second terminal can also be implemented by the second terminal. Figure 6 is an optional flowchart of the screen projection state determination method provided by the embodiments of the present application, as shown in Figure 6 The method comprises the following steps:
[0122] In step S601, the first terminal sends shared data to the second terminal A1 and the second terminal A2, and realizes shared screen projection between the first terminal and the second terminal A1 and the second terminal A2.
[0123] In step S602, in the process of shared screen projection, the first terminal sends a screen projection state detection request to the second terminal A1, and the screen projection state detection request includes the current screen projection data corresponding to the shared data.
[0124] In step S603, the second terminal A1 detects the current received data to obtain the first detection data.
[0125] In step S604, the second terminal A1 determines the current screen projection state of the second terminal A1 according to the first detection data and the current screen projection data.
[0126] In the embodiment, the step of determining the current screen projection state of the second terminal is implemented by the second terminal as the receiver. Thus, the data calculation amount is distributed to multiple second terminals, and the first terminal is prevented from performing a large amount of data calculation, thereby improving the data calculation speed and the efficiency of screen projection state detection.
[0127] In step S605, the second terminal A1 sends the current screen projection state to the first terminal. Here, the first terminal only needs to receive the current screen projection state returned by the second terminal, and does not need to perform calculation again.
[0128] In step S606, during the screen projection sharing, the first terminal sends a screen projection state detection request to the second terminal A2, and the screen projection state detection request includes the current screen projection data corresponding to the shared data.
[0129] In step S607, the second terminal A2 detects the current received data to obtain second detection data.
[0130] In step S608, the second terminal A2 determines the current screen projection state of the second terminal A2 according to the second detection data and the current screen projection data.
[0131] In step S609, the second terminal A2 sends the current screen projection state to the first terminal.
[0132] It should be noted that steps S606 to S609 are the same as steps S602 to S605, and the embodiment of the present application will not be described again.
[0133] In step S610, the first terminal determines the state identifiers corresponding to the current screen projection states of the second terminal A1 and the second terminal A2.
[0134] In step S611, the state identifiers of the second terminal A1 and the second terminal A2 are displayed on the current interface of the first terminal.
[0135] In some embodiments, the screen projection state determination method can also be implemented by a server in a distributed server system. The screen projection state determination system includes a first terminal, a first server corresponding to the first terminal, at least one second terminal (for example, the second terminal A1 and the second terminal A2 in the embodiment), and a second server corresponding to each second terminal (for example, the second server A11 corresponding to the second terminal A1 and the second server A21 corresponding to the second terminal A2 in the embodiment). Figure 7 An optional flowchart of the screen projection state determination method provided in the embodiment is shown in FIG. 6, and the method includes the following steps. Figure 7
[0136] Step S701, the first terminal sends a data sharing request to the first server in response to a user operation, the data sharing request including shared data.
[0137] Step S702, the first server sends the shared data to the second server A11 and the second server A21.
[0138] Step S703, the second server A11 sends the shared data to the second terminal A1.
[0139] Step S704, the second terminal A1 displays the shared data on a current interface, realizing sharing and screen projection between the first terminal and the second terminal A1.
[0140] Step S705, the second server A21 sends the shared data to the second terminal A2.
[0141] Step S706, the second terminal A2 displays the shared data on a current interface, realizing sharing and screen projection between the first terminal and the second terminal A2.
[0142] Step S707, in the process of sharing and screen projection, the first terminal sends a screen projection state detection request to the first server, the screen projection state detection request including current projection data corresponding to the shared data.
[0143] Step S708, the first server sends the screen projection state detection request to the second server A11 and the second server A21.
[0144] Step S709, the second server A11 sends the screen projection state detection request to the second terminal A1.
[0145] Step S710, the second terminal A1 acquires an image displayed at the current time in response to the screen projection state detection request, obtaining first detection data corresponding to the current projection data.
[0146] Step S711, the second terminal A1 sends the first detection data to the second server A11.
[0147] Step S712, the second server A11 determines a current screen projection state of the second terminal A1 according to the first detection data and the current projection data.
[0148] Step S713, the second server A11 sends the current screen projection state of the second terminal A1 to the first server.
[0149] Step S714, the second server A21 sends the screen projection state detection request to the second terminal A2.
[0150] Step S715, the second terminal A2 acquires the image displayed at the current time in response to the screen projection state detection request, and obtains second detection data corresponding to the current screen projection data.
[0151] Step S716, the second terminal A2 sends the second detection data to the second server A21.
[0152] Step S717, the second server A21 determines the current screen projection state of the second terminal A2 according to the second detection data and the current screen projection data.
[0153] Step S718, the second server A21 sends the current screen projection state of the second terminal A2 to the first server.
[0154] Step S719, the first server respectively determines a first state identifier corresponding to the current screen projection state of the second terminal A1 and a second state identifier corresponding to the current screen projection state of the second terminal A2.
[0155] Step S720, the first server sends the first state identifier and the second state identifier to the first terminal.
[0156] Step S721, the first terminal displays the first state identifier and the second state identifier on the current interface.
[0157] In the embodiments of the present application, the first server, the second server A11 and the second server A21 in the distributed system jointly detect the screen projection state of each second terminal in the screen projection state determination system. Since a large amount of calculation is distributed to multiple servers in the distributed system, the data processing efficiency can be effectively improved, the detection effect and accuracy of the screen projection state are ensured, and the conference efficiency and quality are improved.
[0158] Based on Figure 4B , Figure 8 is an optional flowchart of the screen projection state determination method provided by the embodiments of the present application, as shown in Figure 8 In some embodiments, the current screen projection data is a screen projection image, and the detection data is a display image currently displayed by the second terminal. Correspondingly, step S413 can be implemented by the following steps:
[0159] Step S801, determine the image similarity between the display image and the screen projection image of each second terminal.
[0160] Step S802, determine whether the image similarity is greater than a first similarity threshold.
[0161] If the determination result is yes, it is determined that the current screen projection state of the corresponding second terminal is screen projection success; if the determination result is no, it is determined that the current screen projection state of the corresponding second terminal is screen projection failure.
[0162] In the embodiment of the present application, when the image similarity between the display image currently displayed by the second terminal and the screen projection image is greater than the first similarity threshold, it is indicated that the image currently displayed by the second terminal is similar or consistent with the screen projection image sent by the first terminal of the screen projection side, and thus it can be determined that the second terminal has successfully received the current screen projection data and effectively displays the screen projection image corresponding to the current screen projection data on the current interface, and thus it is determined that the screen projection is successful.
[0163] Please continue to refer to Figure 8 In some embodiments, the current screen projection data is a screen projection video, and the detection data is a display image currently displayed by the second terminal, and correspondingly, step S413 can be implemented by the following steps:
[0164] Step S803: determining a video frame similarity between the display image of each second terminal and the current playing frame of the screen projection video.
[0165] Step S804: judging whether the video frame similarity is greater than a second similarity threshold.
[0166] If the judgment result is yes, it is determined that the current screen projection state of the corresponding second terminal is screen projection success; if the judgment result is no, it is determined that the current screen projection state of the corresponding second terminal is screen projection failure.
[0167] In the embodiment of the present application, when the video frame similarity between the display image currently displayed by the second terminal and the current playing frame of the screen projection video is greater than the second similarity threshold, it is indicated that the image currently displayed by the second terminal is similar or consistent with the current playing frame of the screen projection video sent by the first terminal of the screen projection side, and thus it can be determined that the second terminal has successfully received the current screen projection data and effectively displays the video frame corresponding to the current screen projection data on the current interface, and thus it is determined that the screen projection is successful.
[0168] Please continue to refer to Figure 8 In some embodiments, the current screen projection data is a first data amount of the shared data sent by the first terminal, and the detection data is a second data amount of the data received by the second terminal, and correspondingly, step S413 can be implemented by the following steps:
[0169] Step S805: determining a quantity difference between the second data amount of each second terminal and the first data amount.
[0170] Step S806: judging whether the quantity difference is less than a data amount threshold.
[0171] If the judgment result is yes, it is determined that the current screen projection state of the corresponding second terminal is screen projection success; if the judgment result is no, it is determined that the current screen projection state of the corresponding second terminal is screen projection failure.
[0172] In the embodiment of the present application, when the quantity difference between the second data quantity (size of the received data) currently received by the second terminal and the first data quantity of the shared data is less than the data quantity threshold, it indicates that the second data quantity currently received by the second terminal is similar or consistent with the first data quantity of the shared data sent by the first terminal of the screen projection side, and thus it can be determined that the second terminal has successfully received the current screen projection data, and thus it is determined that the screen projection is successful.
[0173] Correspondingly, step S414 can be implemented through the following steps:
[0174] Step S807, displaying a state identifier corresponding to the screen projection failure or the screen projection success on the current interface of the first terminal.
[0175] Based on Figure 4B , Figure 9 is an optional flow diagram of the screen projection state determination method provided by the embodiment of the present application, as shown in Figure 9 In some embodiments, the current screen projection data is a first MD5 value of the shared data, and the detection data at least includes a second MD5 value of the content currently displayed by the second terminal, and before step S413, the method further includes:
[0176] Step S901, determining the first MD5 value of the shared data by using the MD5 algorithm.
[0177] Step S902, judging whether the display image currently displayed by the second terminal is included in the detection data.
[0178] If the judgment result is yes, step S904 is executed; if the judgment result is no, step S903 is executed.
[0179] Step S903, obtaining the display image currently displayed by the second terminal.
[0180] Step S904, determining a third MD5 value of the display image by using the MD5 algorithm.
[0181] Step S905, determining the third MD5 value as the second MD5 value corresponding to the content currently displayed by the second terminal.
[0182] Correspondingly, step S413 can be implemented through the following steps:
[0183] Step S906, judging whether the second MD5 value is same as the first MD5 value.
[0184] If the judgment result is yes, it is determined that the current screen projection state corresponding to the second terminal is screen projection success; if the judgment result is no, it is determined that the current screen projection state corresponding to the second terminal is screen projection failure.
[0185] In the embodiment of the present application, when the second MD5 value of the content currently displayed by the second terminal is the same as the first MD5 value of the shared data, it is indicated that the content currently displayed by the second terminal is consistent with the shared data sent by the first terminal of the screen projection side, and thus it is determined that the second terminal has successfully received the current screen projection data and effectively displays the display content corresponding to the current screen projection data on the current interface, and thus it is determined that the screen projection is successful.
[0186] In some embodiments, step S413 can also be implemented by the following steps:
[0187] Step S907: determining whether the difference between the second MD5 value of the second terminal and the first MD5 value is less than the MD5 threshold value.
[0188] If the determination result is yes, it is determined that the current screen projection state corresponding to the second terminal is screen projection success; if the determination result is no, it is determined that the current screen projection state corresponding to the second terminal is screen projection failure.
[0189] Here, if the difference between the second MD5 value of the second terminal and the first MD5 value is less than the MD5 threshold value, it is indicated that the content currently displayed by the second terminal is similar to the shared data sent by the first terminal of the screen projection side, and thus it is determined that the second terminal has successfully received the current screen projection data and effectively displays the display content corresponding to the current screen projection data on the current interface, and thus it is determined that the screen projection is successful.
[0190] Correspondingly, step S414 can be implemented by the following steps:
[0191] Step S908: displaying the state identifier corresponding to screen projection failure or screen projection success on the current interface of the first terminal.
[0192] Please continue to refer to Figure 9 In some embodiments, the method further comprises:
[0193] Step S909: obtaining the current screen display state of each second terminal.
[0194] Step S910: determining whether the screen display state of any second terminal is abnormal.
[0195] Here, the abnormal screen display state includes but is not limited to black screen, incomplete display, and unclear displayed image, etc. If the determination result is yes, it is determined that the current screen projection state corresponding to the second terminal is screen projection failure; if the determination result is no, it returns to execute step S906 or step S907.
[0196] Please continue to refer to Figure 9 In some embodiments, the method further comprises:
[0197] Step S91, after sending the screen projection state detection request to the second terminal, and within a time period before receiving the detection data returned by the second terminal, determining the current screen projection state of the second terminal as a detection state.
[0198] Here, after sending the screen projection state detection request to the second terminal, and within a time period before receiving the detection data returned by the second terminal, the first terminal fails to receive the detection data and is in a state of waiting to receive the detection data, and thus determines the current screen projection state of the second terminal as a detection state.
[0199] Step S92, when the detection data returned by the second terminal is not received within a preset time period, determining the current screen projection state of the second terminal as a screen projection failure.
[0200] The screen projection state determination method provided by the embodiments of the present application uses different detection methods to determine the current screen projection state of the second terminal, so that different screen projection states of the second terminal can be accurately detected.
[0201] In the following, an exemplary application of the embodiments of the present application in an actual application scenario will be described.
[0202] The embodiments of the present application propose an automatic screen projection state checking method (i.e., the above screen projection state determination method), which mainly includes three parts: the first part, when screen projection starts, the screen projection party starts a host service to initiate a customized checking protocol to the participants; the second part, after receiving the checking protocol, the participants start a checking service to perform screen projection assertion checking, and return the checking result to the screen projection party through the checking protocol; the third part, the screen projection party aggregates the data of the checking result through the host service and makes a decision, and reminds the screen projection party and all the participants of the checking result.
[0203] Figure 10 is a product interface diagram provided by the embodiments of the present application, as shown in Figure 10 When the screen sharing party completes the screen projection, the identification of the screen projection checking state will be returned in the session list 1001 on the current screen projection screen 1000, wherein the identification of the screen projection checking state can include "OK", "Error" and "Checking", "OK" indicates that the screen projection has been successful, "Error" indicates that the screen projection checking has a problem or the screen projection has failed, and "Checking" indicates that the checking is in progress.
[0204] Figure 11 is a classification diagram of the checking scheme provided by the embodiments of the present application, as shown in Figure 11As shown, in the embodiments of the present application, according to the accuracy of the inspection, two types of detection methods are divided: the first, accurate inspection scheme; the second, non-accurate inspection scheme. According to the frequency of the inspection, two types of detection methods can also be divided: the first, sampling inspection scheme; the second, full sampling inspection scheme.
[0205] 1) In the accurate inspection scheme:
[0206] The algorithm detection is performed on the screen presentation content of the screen casting party and the participant, for example, MD5 algorithm or other algorithms can be used to calculate the similarity of the screen presentation content of the screen casting party and the participant, wherein the advantage of this method is accurate detection, and the disadvantage is relatively time-consuming.
[0207] For example, the screen casting party host A initiates an inspection request to the participant B and the participant C (such as the following code):
[0208] {
[0209] ReqID:0001; / / ID of the inspection
[0210] checkcode:A4C566F849A3B1538384912E9BB7ECF9 / / inspection code;
[0211] }
[0212] The inspection code here can be mainly obtained by using MD5 algorithm in the embodiments of the present application, and the MD5 of the screen casting party A display picture is calculated as the inspection code; of course, other algorithms can also be used to calculate the inspection code, such as only checking the similarity of the picture and the like.
[0213] The participant B and the participant C start to check their screen casting state according to the same inspection code algorithm after receiving the inspection request (i.e. screen casting state detection request); then return the inspection result. If the MD5 is calculated to be the same, OK is returned, and the process of returning the inspection result is shown in the following code:
[0214] {
[0215] ReqID:0001; / / ID of the inspection
[0216] checkresult:Ok|error / / inspection code;
[0217] }
[0218] The host of the screen casting party receives the returned inspection result, and can feed back the inspection state in the conference list.
[0219] 2) In the non-accurate inspection scheme:
[0220] The method can not perform the check on the presented content, and the participant informs the screen projection party of the display state. The advantage of the method is fast detection speed, and the disadvantage is relatively inaccurate detection.
[0221] For example, the screen projection party host A initiates a check request to the participant B and the participant C, and can not carry the check code (such as the following code):
[0222] {
[0223] ReqID:0001; / / ID of the check
[0224] }
[0225] After the participant B and the participant C receive the check request, the check state is directly returned according to the return result of the participant program logic. The method of the embodiment of the application is a method of relying on the feedback of the participant (such as the following code):
[0226] {
[0227] ReqID:0001; / / ID of the check
[0228] checkresult: Ok | error / / check code
[0229] }
[0230] After the screen projection party host receives the returned check result, the check state can be fed back in the conference list.
[0231] 3) In the full sampling check scheme:
[0232] The check is started throughout the entire conference, and the advantage of the method is continuous checking, and the disadvantage is relatively large resource consumption.
[0233] The screen projection party host A initiates a check request at a time interval to the participant B and the participant C (such as the following code):
[0234] {
[0235] ReqID:0001; / / ID of the check
[0236] checkcode: A4C566F849A3B1538384912E9BB7ECF9 / / check code
[0237] }
[0238] {
[0239] ReqID:0002; / / ID of the check
[0240] checkcode: A4C566F849A3B1538384912E9BB7ECF8 / / check code
[0241] }
[0242] {
[0243] ReqID:0003; / / check ID
[0244] checkcode: A4C566F849A3B1538384912E9BB7ECF7 / / check code
[0245] }
[0246] After receiving the check request, the participant B and the participant C continuously respond to each request (as the following code) :
[0247] {
[0248] eqID:0001; / / check ID
[0249] checkresult: Ok | error / / check code
[0250] }
[0251] {
[0252] eqID:0002; / / check ID
[0253] checkresult: Ok | error / / check code
[0254] }
[0255] {
[0256] eqID:0003; / / check ID
[0257] checkresult: Ok | error / / check code
[0258] }
[0259] After receiving the returned check result, the host of the screen projection party can continuously refresh the feedback check state in the conference list.
[0260] 4) In the sampling check scheme:
[0261] Only check at the beginning of the whole conference process or check at a fixed time, wherein the advantage of this method is to save resources, and the disadvantage is non-continuous check. As the foregoing full sampling check scheme, only the number of samples is reduced.
[0262] The screen projection status determination method provided in this application can improve the efficiency of online meetings. After screen projection begins, there is no need to reconfirm "Can you see my screen?" throughout the entire projection process. Furthermore, it can provide at least four solutions in terms of accuracy and continuity; and if some users experience screen projection abnormalities during the meeting, feedback can be provided to the projection party, enabling real-time processing and feedback throughout the entire meeting.
[0263] The following continues to describe the exemplary structure of the screen projection status determination device 354 provided in the embodiments of this application as a software module. In some embodiments, such as Figure 3 As shown, the software module stored in the screen projection status determination device 354 in the memory 350 can be the screen projection status determination device in the first terminal 100-1, including:
[0264] The processing module 3541 is used to respond to the shared screen projection operation, display the shared screen projection information on the current interface, and send the shared data corresponding to the shared screen projection information to at least one second terminal of the receiver to realize shared screen projection.
[0265] The display module 3542 is used to display a status identifier corresponding to the current screen projection status of each second terminal on the current interface when the shared screen projection is performed.
[0266] In some embodiments, the apparatus further includes: a first sending module, configured to send a screen projection status detection request to each of the second terminals when sending shared data to at least one second terminal, the screen projection status detection request including current screen projection data corresponding to the shared data; a first receiving module, configured to receive detection data corresponding to the current screen projection data returned by each of the second terminals in response to the screen projection status detection request; and a first determining module, configured to determine the current screen projection status of the corresponding second terminal based on the detection data and the current screen projection data of each second terminal.
[0267] In some embodiments, the first sending module is further configured to: periodically send the screen casting status detection request to each of the second terminals; or, in response to a trigger operation received by the first terminal, send the screen casting status detection request to each of the second terminals, wherein the trigger operation is used to trigger the start of screen casting status detection; or, upon receiving the shared screen casting operation, in response to the shared screen casting operation, send the screen casting status detection request to each of the second terminals; or, after receiving the detection data returned by any of the second terminals corresponding to the screen casting status detection request at the current time, send the next screen casting status detection request to the corresponding second terminal.
[0268] In some embodiments, the current screen projection data is a screen projection image, and the detection data is a display image currently displayed by the second terminal; the first determining module is further configured to determine an image similarity between the display image of each second terminal and the screen projection image; and when the image similarity is greater than a first similarity threshold, determine that the current screen projection state of the corresponding second terminal is screen projection success.
[0269] In some embodiments, the current screen projection data is a screen projection video, and the detection data is a display image currently displayed by the second terminal; the first determining module is further configured to determine a video frame similarity between the display image of each second terminal and a current playing frame of the screen projection video; and when the video frame similarity is greater than a second similarity threshold, determine that the current screen projection state of the corresponding second terminal is screen projection success.
[0270] In some embodiments, the current screen projection data is a first data amount of shared data sent by the first terminal, and the detection data is a second data amount of data received by the second terminal; the first determining module is further configured to determine a difference between the second data amount and the first data amount of each second terminal; and when the difference is less than a data amount threshold, determine that the current screen projection state of the corresponding second terminal is screen projection success.
[0271] In some embodiments, the current screen projection data is a first MD5 value of the shared data, and the detection data includes at least a second MD5 value of content currently displayed by the second terminal; the first determining module is further configured to, when the second MD5 value of any second terminal is the same as the first MD5 value, or when a difference between the second MD5 value of any second terminal and the first MD5 value is less than an MD5 threshold, determine that the current screen projection state of the corresponding second terminal is screen projection success.
[0272] In some embodiments, the apparatus further includes an MD5 value determining module configured to, before determining the current screen projection state of the corresponding second terminal, determine a first MD5 value of the shared data by using an MD5 algorithm; or, when the detection data includes a display image currently displayed by the second terminal, determine a third MD5 value of the display image by using the MD5 algorithm, and determine the current screen projection state of the corresponding second terminal according to the third MD5 value of the display image of each second terminal and the first MD5 value of the shared data.
[0273] In some embodiments, the apparatus further includes a screen display state obtaining module configured to obtain a current screen display state of each second terminal; and a screen projection failure determining module configured to, when the screen display state of any second terminal is abnormal, determine that the current screen projection state of the corresponding second terminal is screen projection failure.
[0274] In some embodiments, the apparatus further comprises a state determination module configured to determine that the current screen projection state of the second terminal is a detection state after sending the screen projection state detection request to the second terminal and before receiving the detection data returned by the second terminal within a time period.
[0275] In some other embodiments, the second terminal 100-2 or the second terminal 100-3 can have the same structure as the first terminal 100-1 (not shown in the figure), except that the screen projection state determination apparatus stored in the memory in the second terminal 100-2 or the second terminal 100-3, which can be a screen projection state determination apparatus in the second terminal 100-2 or the second terminal 100-3, can be a software in the form of a program and a plug-in, etc., comprising the following software modules: a second receiving module configured to receive the screen projection state detection request sent by the first terminal in the process of receiving the shared data by the first terminal, wherein the screen projection state detection request comprises the current screen projection data corresponding to the shared data; a detection module configured to detect the data currently received by the second terminal to obtain detection data; a second determination module configured to determine the current screen projection state of the second terminal according to the detection data and the current screen projection data; and a second sending module configured to send the current screen projection state to the first terminal.
[0276] It should be noted that the description of the apparatus embodiments of the present application is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments, and thus will not be described herein. For technical details not disclosed in the apparatus embodiments of the present application, please refer to the description of the method embodiments of the present application for understanding.
[0277] The computer program product or the computer program provided in the embodiments of the present application comprises computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to enable the computer device to perform the information recommendation method provided in the embodiments of the present application.
[0278] The embodiments of the present application provide a storage medium storing executable instructions, wherein the storage medium stores executable instructions. When the executable instructions are executed by a processor, the processor will execute the method provided by the embodiments of the present application, for example, the method shown in Figure 4A and Figure 4B .
[0279] In some embodiments, the storage medium can be a computer-readable storage medium, such as a ferroelectric memory (FRAM), a read only memory (ROM), a programmable read only memory (PROM), an erasable programmable read only memory (EPROM), an electrically erasable programmable read only memory (EEPROM), a flash memory, a magnetic surface storage, an optical disc, or a compact disc read only memory (CD-ROM), and the like. It can also be various devices including one or any combination of the above memories.
[0280] In some embodiments, the executable instructions can be in the form of programs, software, modules, scripts, or code, written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0281] By way of example, the executable instructions can or can not correspond to a file in a file system, can be stored in a part of a file that holds other programs or data, can be stored as one or more scripts or set of instructions in a markup language such as Hyper Text Markup Language (HTML), may
[0282] The above description is only some embodiments of the present application, and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement and improvement within the spirit and scope of the present application shall be included in the protection scope of the present application.
Claims
1. A method for determining screen projection status, characterized in that, A first terminal applied to a screen projection side, the method comprises: In response to a shared screen projection operation, displaying shared screen projection information on a current interface of the first terminal, and sending shared data corresponding to the shared screen projection information to at least one second terminal of a receiving side; When the first terminal sends the shared data to the at least one second terminal, a screen projection state detection request is sent to each second terminal, and the screen projection state detection request includes current screen projection data corresponding to the shared data; Receiving detection data corresponding to the current screen projection data returned by each second terminal in response to the screen projection state detection request, wherein the sending of the screen projection state detection request to each second terminal comprises: when the detection data is received and no detection data corresponding to a screen projection state detection request of a current time is received from any other second terminal within a preset time period, the screen projection state detection request is sent to the any other second terminal again; Determining a current screen projection state corresponding to each second terminal according to the detection data of each second terminal and the current screen projection data, wherein the determination of the current screen projection state corresponding to each second terminal comprises: the current screen projection data is a first MD5 value of the shared data, the detection data includes at least a second MD5 value of content currently displayed by the second terminal; calculating a similarity of the first MD5 value and the second MD5 value, and determining the current screen projection state corresponding to the second terminal based on the similarity; or receiving a check result returned by the second terminal according to a program logic, and determining the current screen projection state corresponding to the second terminal based on the check result, to realize shared screen projection; Displaying a state identifier corresponding to a current screen projection state of each second terminal on a current interface of the first terminal when the shared screen projection is performed on the first terminal.
2. The method of claim 1, wherein, The current screen projection data is a screen projection image, and the detection data is a display image currently displayed by the second terminal; The determination of the current screen projection state corresponding to each second terminal according to the detection data of each second terminal and the current screen projection data comprises: Determining an image similarity between the display image of each second terminal and the screen projection image; When the image similarity is greater than a first similarity threshold, determining that the current screen projection state corresponding to the second terminal is screen projection success.
3. The method of claim 1, wherein, The current screen projection data is a screen projection video, and the detection data is a display image currently displayed by the second terminal; The determination of the current screen projection state corresponding to each second terminal according to the detection data of each second terminal and the current screen projection data comprises: Determining a video frame similarity between the display image of each second terminal and a current playing frame of the screen projection video; When the video frame similarity is greater than a second similarity threshold, determining that the current screen projection state corresponding to the second terminal is screen projection success.
4. The method of claim 1, wherein, The current screen projection data is a first data amount of shared data sent by the first terminal, and the detection data is a second data amount of data received by the second terminal; The current screen projection state corresponding to each second terminal is determined according to the detection data and the current screen projection data of each second terminal, and the method comprises: A quantity difference between the second data amount and the first data amount of each second terminal is determined; When the quantity difference is less than a data amount threshold, the current screen projection state corresponding to the second terminal is determined as screen projection success.
5. The method of claim 1, wherein, The current screen projection state corresponding to each second terminal is determined according to the detection data and the current screen projection data of each second terminal, and the method comprises: When the second MD5 value of any second terminal is the same as the first MD5 value, or when a difference between the second MD5 value and the first MD5 value of any second terminal is less than an MD5 threshold, the current screen projection state corresponding to the second terminal is determined as screen projection success.
6. The method of claim 5, wherein, The method further comprises: Before determining the current screen projection state corresponding to the second terminal, a first MD5 value of the shared data is determined by using an MD5 algorithm; or When the detection data comprises a display image currently displayed by the second terminal, a third MD5 value of the display image is determined by using the MD5 algorithm, and the third MD5 value of the display image is determined as the second MD5 value of the second terminal.
7. The method according to any one of claims 1 to 6, characterized in that, The method further comprises: A current screen display state of each second terminal is acquired; When the screen display state of any second terminal is abnormal, the current screen projection state corresponding to the second terminal is determined as screen projection failure.
8. The method according to any one of claims 1 to 6, characterized in that, The method further comprises: After sending the screen projection state detection request to the second terminal, and within a time period before receiving the detection data returned by the second terminal, the current screen projection state of the second terminal is determined as a detection state; When the detection data returned by the second terminal is not received within a preset time period, the current screen projection state of the second terminal is determined as screen projection failure.
9. A method for determining a screen projection state, the method comprising: The method applied to a first terminal of a screen projection side, and the method comprises: In response to a shared screen projection operation, shared screen projection information is displayed on a current interface of the first terminal, and shared data corresponding to the shared screen projection information is sent to at least one second terminal of a receiving side; When the first terminal sends the shared data to the at least one second terminal, a screen projection state detection request is sent to each second terminal, and the screen projection state detection request comprises current screen projection data corresponding to the shared data; Detection data corresponding to the current screen projection data is received from each second terminal in response to the screen projection state detection request, and the screen projection state detection request is sent to each second terminal periodically; or In response to a trigger operation received by the first terminal, the screen projection state detection request is sent to each of the second terminals, wherein the trigger operation is used to trigger the start of the screen projection state detection; or In response to the shared screen projection operation, the screen projection state detection request is sent to each of the second terminals when the shared screen projection operation is received; or After the detection data corresponding to the screen projection state detection request of the current time returned by any of the second terminals is received, the next screen projection state detection request is sent to the corresponding second terminal. The current screen projection state of the corresponding second terminal is determined according to the detection data of each of the second terminals and the current screen projection data, wherein the determination of the current screen projection state of the corresponding second terminal includes: the current screen projection data is a first MD5 value of the shared data, the detection data at least includes a second MD5 value of the content currently displayed by the second terminal; the similarity of the first MD5 value and the second MD5 value is calculated, and the current screen projection state of the corresponding second terminal is determined based on the similarity; or the check result returned by the second terminal according to the program logic is received, and the current screen projection state of the corresponding second terminal is determined based on the check result, so as to realize the shared screen projection; When the first terminal performs the shared screen projection, the state identifier corresponding to the current screen projection state of each of the second terminals is displayed on the current interface of the first terminal.
10. A screen projection state determination apparatus, characterized by comprising: The first terminal applied to a screen projection party, the device comprises: A processing module is configured to display shared screen projection information on a current interface in response to a shared screen projection operation, and send shared data corresponding to the shared screen projection information to at least one second terminal of a receiving party; A first sending module is configured to send a screen projection state detection request to each of the second terminals when the first terminal sends the shared data to the at least one second terminal, wherein the screen projection state detection request includes current screen projection data corresponding to the shared data; A first receiving module is configured to receive detection data corresponding to the current screen projection data returned by each of the second terminals in response to the screen projection state detection request; The first sending module is configured to send a screen projection state detection request to any other second terminal again when the detection data is received and no detection data corresponding to a screen projection state detection request of the current time returned by any other second terminal is received within a preset time period; A first determination module is configured to determine the current screen projection state of the corresponding second terminal according to the detection data of each of the second terminals and the current screen projection data, wherein the determination of the current screen projection state of the corresponding second terminal includes: the current screen projection data is a first MD5 value of the shared data, the detection data at least includes a second MD5 value of the content currently displayed by the second terminal; the similarity of the first MD5 value and the second MD5 value is calculated, and the current screen projection state of the corresponding second terminal is determined based on the similarity. Alternatively, the receiving terminal receives a check result returned by the second terminal according to the program logic, determines the current screen projection state of the second terminal based on the check result, and implements the shared screen projection. The display module is configured to display a state identifier corresponding to the current screen projection state of each second terminal on the current interface when the shared screen projection is performed.
11. The apparatus of claim 10, wherein, The current screen projection data is a screen projection image, and the detection data is a display image currently displayed by the second terminal; and the device further comprises: The first determination module is configured to determine an image similarity between the display image of each second terminal and the screen projection image. When the image similarity is greater than a first similarity threshold, it is determined that the current screen projection state of the second terminal is screen projection success.
12. The apparatus of claim 10, wherein, The current screen projection data is a screen projection video, and the detection data is a display image currently displayed by the second terminal. The first determination module is further configured to determine a video frame similarity between the display image of each second terminal and a current playing frame of the screen projection video. When the video frame similarity is greater than a second similarity threshold, it is determined that the current screen projection state of the second terminal is screen projection success.
13. The apparatus of claim 10, wherein, The current screen projection data is a first data amount of shared data sent by the first terminal, and the detection data is a second data amount of data received by the second terminal. The first determination module is further configured to determine a quantity difference between the second data amount of each second terminal and the first data amount. When the quantity difference is less than a data amount threshold, it is determined that the current screen projection state of the second terminal is screen projection success.
14. The device of claim 10, wherein The first determination module is further configured to determine that the current screen projection state of any second terminal is screen projection success when the second MD5 value of the second terminal is the same as the first MD5 value, or when a difference between the second MD5 value of the second terminal and the first MD5 value is less than an MD5 threshold.
15. The apparatus of claim 14, wherein, The device further comprises: An MD5 value determination module is configured to determine a first MD5 value of the shared data by using an MD5 algorithm before determining the current screen projection state of the second terminal. When the detection data comprises a display image currently displayed by the second terminal, the MD5 algorithm is used to determine a third MD5 value of the display image, and the third MD5 value of the display image is determined as the second MD5 value of the second terminal.
16. The apparatus of any one of claims 10-15, wherein, The device further comprises: A screen display state acquisition module is configured to acquire a current screen display state of each second terminal. A screen projection failure determination module is configured to determine that the current screen projection state of any second terminal is screen projection failure when the screen display state of the second terminal is abnormal.
17. A screen projection state determination apparatus, characterized by comprising: The device is applied to a first terminal of a screen projection side, and comprises: A processing module is configured to display shared screen projection information on a current interface in response to a shared screen projection operation, and send shared data corresponding to the shared screen projection information to at least one second terminal of a receiving side. The first sending module is configured to send a screen projection state detection request to each of the second terminals when the first terminal sends the shared data to the at least one second terminal, the screen projection state detection request including current screen projection data corresponding to the shared data; The first receiving module is configured to receive detection data corresponding to the current screen projection data returned by each of the second terminals in response to the screen projection state detection request; The first sending module is configured to periodically send the screen projection state detection request to each of the second terminals; or The first sending module is configured to send the screen projection state detection request to each of the second terminals in response to a trigger operation received by the first terminal, wherein the trigger operation is used to trigger the start of screen projection state detection; or The first sending module is configured to send the screen projection state detection request to each of the second terminals in response to the shared screen projection operation when the shared screen projection operation is received; or The first sending module is configured to send a next screen projection state detection request to a corresponding second terminal after receiving the detection data corresponding to the screen projection state detection request of the current time returned by any of the second terminals; The first determining module is configured to determine a current screen projection state of a corresponding second terminal according to the detection data of each of the second terminals and the current screen projection data, wherein the determination of the current screen projection state of the corresponding second terminal includes: the current screen projection data is a first MD5 value of the shared data, and the detection data includes at least a second MD5 value of the content currently displayed by the second terminal; calculating a similarity of the first MD5 value and the second MD5 value, and determining the current screen projection state of the corresponding second terminal based on the similarity; Alternatively, receiving a check result returned by the second terminal according to program logic, and determining the current screen projection state of the corresponding second terminal based on the check result to realize shared screen projection; The display module is configured to display a state identifier corresponding to the current screen projection state of each of the second terminals on the current interface when the shared screen projection is performed.
18. A screen projection state determination device, comprising: The memory is configured to store executable instructions. The processor is configured to execute the executable instructions stored in the memory to implement the screen projection state determination method of any one of claims 1 to 9. The computer program product stores executable instructions for causing the processor to execute the executable instructions to implement the screen projection state determination method of any one of claims 1 to 9.
19. A computer-readable storage medium, characterized in that, The computer program product includes computer instructions for being executed by the processor to implement the screen projection state determination method of any one of claims 1 to 9.
20. A computer program product, characterised in that,
Citation Information
Patent Citations
Television projection screen monitoring device and method
CN106851408A