Page number determination method and device, screen transmission system, electronic equipment and storage medium

By taking screenshots and matching the pages of the slideshow file, the slideshow page numbers can be determined, solving the problem of limited slideshow page number monitoring on macOS and achieving cross-platform compatibility and real-time performance in slideshow page number monitoring.

CN121879877APending Publication Date: 2026-04-17GUANGZHOU SHIZHEN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUANGZHOU SHIZHEN INFORMATION TECH CO LTD
Filing Date
2024-10-16
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

On macOS, existing technology cannot listen to slide page numbers because the official documentation does not provide a third-party interface, which limits the determination of slide page numbers.

Method used

By taking screenshots of each page in the PowerPoint presentation file, the current page screenshot is obtained, and the target page screenshot is matched with the page screenshot to determine its corresponding page number, thus enabling the monitoring of PowerPoint page numbers.

Benefits of technology

It enables accurate monitoring of slide page numbers without relying on official third-party interfaces, is compatible with various operating systems and slideshow software, and improves cross-platform compatibility and real-time performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121879877A_ABST
    Figure CN121879877A_ABST
Patent Text Reader

Abstract

The invention provides a page number determination method and device, a screen transmission system, electronic equipment and a storage medium, the method is applied to the technical field of multimedia display, and the method comprises the following steps: obtaining a slide file, and performing screenshot operation on each page in the slide file to obtain each page screenshot; performing screen capture operation on the window playing the slide to obtain a current page screenshot of a slide page currently played by the window; in each page screenshot in the slide file, determining a target page screenshot matched with the current page screenshot; and determining the page number corresponding to the target page screenshot as the page number of the currently played slide page, and sending the page number to a screen transmission receiving end. According to the method, the monitoring of the slide page number is not limited by the official third-party interface, and even if the official mac OS operating system does not provide the third-party interface, the monitoring of the slide page number can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of multimedia display technology, and in particular to a method, apparatus, screen transmission system, electronic device and storage medium for determining page numbers. Background Technology

[0002] During screen sharing, users can display a PowerPoint presentation on their PC and project it onto the interactive whiteboard. When the presentation is played in full screen on the whiteboard, a multi-page annotation application may be used. This means that as the presentation progresses to a slide, the user can add annotations to that slide on the whiteboard, and then add annotations to the next slide as well. To return to the previous slide and display the annotations added there, it's necessary to determine which slide the user has currently viewed, i.e., the page number of the currently playing slide.

[0003] Currently, to determine the page number of the currently playing slideshow, the official third-party API can be used to obtain the slideshow page number. However, while the official API provides third-party interfaces for Windows and Linux, it does not provide a corresponding third-party interface for macOS. Therefore, on macOS, it is currently impossible to monitor which slide the user has turned to. In other words, determining the slideshow page number is limited by the official third-party API. Therefore, how to make slideshow page number monitoring independent of the limitations of the official third-party API has become a pressing technical problem to be solved. Summary of the Invention

[0004] This application provides a method, apparatus, screen sharing system, electronic device, and storage medium for determining slide page numbers. This method enables the monitoring of slide page numbers to be unrestricted by official third-party interfaces, and can even monitor slide page numbers on macOS operating systems where no official third-party interfaces are provided.

[0005] Firstly, a method for determining page numbers is provided, comprising: acquiring a slideshow file and taking screenshots of each page in the slideshow file to obtain screenshots of each page; taking screenshots of the window playing the slideshow to obtain a screenshot of the current page of the slideshow currently being played in the window; identifying a target page screenshot that matches the current page screenshot among the page screenshots in the slideshow file; determining the page number corresponding to the target page screenshot as the page number of the currently playing slideshow page, and sending the page number to the screen sharing receiving end.

[0006] In the above technical solution, screenshots are taken of each page in the PowerPoint file. A screenshot of the currently playing PowerPoint window is then taken to obtain a screenshot of the current page. Within each page screenshot, a target page screenshot matching the current page screenshot is identified. Since the page number corresponding to this target page screenshot is known, the page number of the currently playing PowerPoint page can be directly determined from the page number of the target page screenshot. This allows for the monitoring of PowerPoint page numbers without relying on official third-party interfaces. Through this page screenshot matching method, even on macOS operating systems where no official third-party interfaces are provided, PowerPoint page number monitoring can be achieved, enabling synchronized updates of the displayed content on the receiving end of the screen sharing session.

[0007] In conjunction with the first aspect, in some possible implementations, obtaining the slideshow file includes: detecting whether the target software is currently in full-screen mode; wherein the target software is software used to play slideshows; if the target software is detected to be in full-screen mode, then the slideshow file is obtained.

[0008] In the above technical solution, considering that the target software, after entering full-screen mode, will trigger the screen-sharing receiver to launch a multi-page annotation application, the screen-sharing receiver will save the correspondence between annotation content and page number when the user adds annotations. Therefore, during the user's slide flipping, in order for the screen-sharing receiver to accurately display the annotation content corresponding to the page number, the screen-sharing receiver needs to obtain the accurate page number. Thus, in the above technical solution, after the target software enters full-screen mode, acquiring the slide file and then performing the subsequent page number determination steps is beneficial for acquiring the slide file at the appropriate time and promptly sending the page number of the currently playing slide to the screen-sharing receiver, enabling the screen-sharing receiver to accurately and promptly display the annotation content corresponding to that page number based on the received page number.

[0009] In conjunction with the first aspect, in some possible implementations, the detection of whether the target software is currently in full-screen mode includes: detecting whether a window has entered full-screen mode at preset intervals; if a window is detected to have entered full-screen mode, determining whether the window is the window running the target software; if the window is the window running the target software, determining that the target software is currently in full-screen mode.

[0010] In the above technical solution, by detecting whether a window has entered full-screen mode, and further determining whether the window is the window running the target software, it is determined that the target software is currently in full-screen mode. Window state detection accurately and intuitively determines whether the target software used for playing slideshows is in full-screen mode. Furthermore, considering that associated windows exist when the target software runs on different operating systems, the above solution combining window detection is applicable to different operating systems, improving compatibility across different operating systems.

[0011] In conjunction with the first aspect, in some possible implementations, determining whether the window is the window running the target software includes: obtaining the identification information of the window that has entered full-screen mode; comparing the window's identification information with a predefined list; wherein the predefined list includes the identification information of each software used to play slideshows; if the window's identification information exists in the predefined list, then the window is determined to be the window running the target software.

[0012] In the above technical solution, considering the correspondence between window identification information and application software identification information across different operating systems (i.e., window identification information can be used to distinguish different application software), by comparing the window identification information with a predefined list (which includes identification information for various software used to play slideshows), if the window's identification information exists in the predefined list, it can be directly determined that the window is running the target software. This facilitates quickly determining whether a window entering full-screen mode is running the target software. Furthermore, this sampling-based judgment method is compatible with different operating systems, expanding the applicability of the above technical solution.

[0013] In conjunction with the first aspect, in some possible implementations, the above-mentioned acquisition of the slideshow file includes: acquiring process information corresponding to the target software playing the slideshow; acquiring file information opened by the target software based on the process information; wherein the file information includes the path of the slideshow file; and acquiring the slideshow file based on the path of the slideshow file.

[0014] In conjunction with the first aspect, in some possible implementations, the above-mentioned acquisition of the slide file and the screenshot operation of each page in the slide file to obtain each page screenshot includes: determining whether the screenshots of each page of the slide file are stored in memory; if the screenshots of each page are not stored in memory, acquiring the slide file and performing a screenshot operation on each page of the slide file to obtain each page screenshot.

[0015] In the above technical solution, the steps of obtaining the slide file and taking screenshots of each page in the slide file are performed only when the screenshots of each page in the slide file are not stored in memory. This is beneficial because the slide file is obtained and the screenshots of each page in the slide file are taken only when necessary, which helps to save processing resources to a certain extent.

[0016] In conjunction with the first aspect, in some possible implementations, if the aforementioned page screenshots are stored in the aforementioned memory, the page screenshots of the aforementioned slide file are retrieved from the aforementioned memory.

[0017] In the above technical solution, if screenshots of each page are already stored in memory, it means that the step of taking screenshots of each page in the PowerPoint file has already been performed. Therefore, the screenshots of each page in the PowerPoint file can be obtained directly from memory without performing the screenshot operation again. This facilitates the rapid acquisition of screenshots of each page in the PowerPoint file, thereby quickly starting the comparison between the current page screenshot and the screenshots of each page, significantly improving the processing speed.

[0018] In conjunction with the first aspect, in some possible implementations, determining the target page screenshot that matches the current page screenshot among the screenshots of each page in the aforementioned slide file includes: acquiring voice information collected within the current preset time period; determining the matching order of the screenshots according to the degree of correlation between the voice information and the screenshots of each page in the aforementioned slide file from highest to lowest; and sequentially matching the current page screenshot with the screenshots of each page according to the matching order until the target page screenshot that matches the current page screenshot is determined.

[0019] In the above technical solution, considering that the voice information collected within the current preset time period is usually highly correlated with the currently playing slideshow page and can reflect some key information of the currently playing slideshow page, the matching order of each page screenshot is determined based on the degree of correlation between the voice information and each page screenshot from highest to lowest. Then, according to this matching order, the current page screenshot is matched with each page screenshot sequentially, which is beneficial for quickly obtaining the target page screenshot without relying on the system's parallel processing capabilities.

[0020] Secondly, a page number determination device is provided, comprising: an acquisition module for acquiring a slideshow file and taking screenshots of each page in the slideshow file to obtain screenshots of each page; a screenshot module for taking screenshots of the window playing the slideshow to obtain a screenshot of the current page of the slideshow currently being played in the window; a matching module for determining a target page screenshot that matches the current page screenshot among the page screenshots of the slideshow file; and a determination module for determining the page number corresponding to the target page screenshot as the page number of the currently playing slideshow page and sending the page number to a screen transmission receiving end.

[0021] Thirdly, a screen sharing system is provided, including a screen sharing sending end and a screen sharing receiving end, wherein the screen sharing sending end and the screen sharing receiving end are communicatively connected; the screen sharing sending end is configured to: acquire a slide file and perform screenshot operations on each page of the slide file to obtain screenshots of each page; perform a screenshot operation on the window playing the slide to obtain a screenshot of the current page of the slide currently being played in the window; determine a target page screenshot that matches the current page screenshot among the screenshots of each page of the slide file; determine the page number corresponding to the target page screenshot as the page number of the currently playing slide page, and send the page number to the screen sharing receiving end; the screen sharing receiving end is configured to: bind and store the user's annotation content on each slide page with the slide page number through a multi-page annotation application; receive the page number sent by the screen sharing sending end, and determine the annotation content bound and stored with the page number based on the page number.

[0022] Fourthly, an electronic device is provided, comprising: a memory for storing executable program code; and a processor for calling and running the executable program code from the memory, causing the electronic device to perform the method of the first aspect or any possible implementation thereof.

[0023] Fifthly, a computer program product is provided, comprising: computer program code, which, when run on a computer, causes the computer to perform the methods described in the first aspect or any possible implementation thereof.

[0024] In a sixth aspect, a computer-readable storage medium is provided that stores computer program code, which, when executed on a computer, causes the computer to perform the methods described in the first aspect or any possible implementation thereof.

[0025] The page number determination method, apparatus, screen transmission system, electronic device, and storage medium provided in this application have the following features and advantages:

[0026] Cross-platform compatibility: This application presents a unified technical solution that is applicable to mainstream operating systems such as Windows, macOS, and Linux. This cross-platform implementation significantly increases the applicability and practical value of the method.

[0027] Independent of third-party interfaces: The method in this application embodiment enables slide page number monitoring without being limited by officially provided third-party interfaces. Especially for macOS operating systems where no official third-party interfaces are provided, this application embodiment can still monitor slide page numbers. Furthermore, on Windows and Linux systems with existing third-party interfaces, this application embodiment provides an alternative solution that does not rely on these interfaces.

[0028] Universality: The embodiments of this application are not limited to specific slideshow software, but can be applied to various common slideshow software, such as Microsoft PowerPoint, WPS Presentation, Keynote, etc.

[0029] Non-intrusive design: This application embodiment achieves page number monitoring by analyzing window state and screen content, without directly interfering with or modifying the slideshow software itself, thus ensuring good compatibility and stability.

[0030] Real-time performance: Although it does not rely on the official third-party interfaces, the embodiments of this application can achieve near real-time page number monitoring through optimized image processing and matching algorithms, which can meet the needs of real-time interactive scenarios such as multi-page annotation.

[0031] In summary, the method provided in this application not only solves the problem of dependence on official platform APIs in the prior art, but also provides a more flexible and universal slide page number monitoring solution, providing strong support for cross-platform and multi-scenario slide applications. Attached Figure Description

[0032] Figure 1 This is a schematic diagram illustrating an application scenario provided in an embodiment of this application;

[0033] Figure 2 This is a schematic flowchart illustrating a method for determining page numbers provided in an embodiment of this application;

[0034] Figure 3 This is a schematic diagram showing screenshots of various pages of a slideshow file provided in an embodiment of this application;

[0035] Figure 4 This is a schematic diagram of the interface of a screen-sharing receiver after launching a multi-page annotation application, provided in an embodiment of this application.

[0036] Figure 5 This is a schematic flowchart illustrating another method for determining page numbers provided in an embodiment of this application;

[0037] Figure 6 This is a schematic diagram of the structure of a page number determination device provided in an embodiment of this application;

[0038] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0039] The technical solutions in this application will be clearly and thoroughly described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B. "And / or" in the text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.

[0040] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.

[0041] Figure 1 This is a schematic diagram illustrating an application scenario of an embodiment of this application. For example... Figure 1 As shown, the screen-sharing sender 101 can initiate a screen-sharing process and establish a screen-sharing communication channel with the screen-sharing receiver 102, so that the screen-sharing receiver 102 can always obtain the screen from the screen-sharing sender 101 in real time. In other words, the screen-sharing sender 101 can transmit display content to the screen-sharing receiver 102 for display through the screen-sharing communication channel. This display content can be any type of display content, such as video, image, or slideshow.

[0042] The screen sharing sending end 101 is a PC, which can be any electronic device with screen sharing functionality, such as a desktop computer, laptop, or tablet. The screen sharing sending end 101 can also be a transmitter that initiates screen sharing, such as a screen sharing device or projection device. The screen sharing receiving end 102 can be a display device such as a smart interactive flat panel, smart large screen, interactive touch TV all-in-one machine, or smart TV, or it can be a receiver that receives screen sharing data, such as a screen sharing box or audio / video terminal. The screen sharing box establishes a screen sharing connection with the screen sharing sending end 101 and uses the screen sharing connection link to receive the audio and video data sent by the screen sharing sending end 101.

[0043] During screen sharing, users can open a slideshow on the sending end 101 and project it onto the receiving end 102. When the slideshow is played in full screen on the receiving end 102, a multi-page annotation application may be used. That is, when the slideshow reaches a certain page, the user can add annotations to that page played on the receiving end 102, and then add annotations on the next page. To return to the previous page and display the annotations added there, it's necessary to determine which page the user has turned to, i.e., the page number of the currently playing slideshow.

[0044] Currently, to determine the page number of the currently playing slideshow, official third-party interfaces can be used to obtain the slideshow page number. However, existing technologies face several significant challenges: differences between different operating systems (such as Windows, macOS, and Linux) and slideshow applications (such as Microsoft PowerPoint, WPS Presentation, and Apple Keynote) make it difficult to implement a unified page number monitoring method. Relying on officially provided third-party interfaces faces compatibility issues when applied across platforms and may be completely unworkable on some platforms (such as macOS) because no corresponding third-party interface is provided. Furthermore, existing methods are often tightly coupled with specific slideshow software, making it difficult to adapt to multiple slideshow applications, which limits their application in diverse office environments.

[0045] These challenges highlight the necessity of developing a cross-platform, universal method for monitoring slide page numbers. An ideal solution should be able to run on different operating systems, adapt to various PowerPoint applications, and not rely on potentially non-existent or limited official interfaces. Such a method would significantly improve the efficiency and flexibility of PowerPoint presentations and remote collaboration, especially when advanced features such as multi-page annotations are involved. Therefore, how to ensure that slide page number monitoring is not limited by officially provided third-party interfaces has become a pressing technical problem to be solved.

[0046] To at least address the aforementioned technical problems, this application provides a method for determining page numbers, applied to the aforementioned screen sharing sending end. The screen sharing sending end has software installed for playing slideshows, such as WPS, PowerPoint, Keynote, etc. The operating system of the screen sharing sending end can be Windows, Linux, macOS, etc. If the operating system of the screen sharing sending end is macOS, then even if the official documentation does not provide a corresponding third-party interface for macOS, the solution in this embodiment can still be used to monitor slideshow page numbers. However, if the operating system of the screen sharing sending end is Windows or Linux, then although the official documentation provides corresponding third-party interfaces for Windows, Linux, etc., the solution provided in this application embodiment can also achieve slideshow page number monitoring without relying on these third-party interfaces.

[0047] In this embodiment, by identifying a target page screenshot that matches the currently playing slideshow from the screenshots of each page in the slideshow file, and determining the page number corresponding to the target page screenshot as the page number of the currently playing slideshow, the slideshow page number can be monitored through screen comparison. This allows the monitoring of slideshow page numbers to be unrestricted by the official third-party interfaces, and can even be achieved on macOS operating systems where no official third-party interfaces are provided.

[0048] Figure 2 This is a schematic flowchart illustrating a method for determining page numbers provided in an embodiment of this application.

[0049] Step 201: Obtain the slideshow file and take screenshots of each page in the slideshow file.

[0050] Step 202: Take a screenshot of the window where the slideshow is playing to obtain a screenshot of the current slideshow page being played in that window.

[0051] Step 203: Among the screenshots of each page in the PowerPoint file, identify the target page screenshot that matches the current page screenshot.

[0052] Step 204: Determine the page number corresponding to the screenshot of the target page as the page number of the currently playing slideshow, and send this page number to the screen sharing receiver.

[0053] exist Figure 2In the illustrated embodiment, screenshots are taken of each page in the slideshow file. A screenshot of the window currently displaying the slideshow is then taken to obtain a screenshot of the currently playing slideshow page. Within each page screenshot, a target page screenshot matching the current page screenshot is identified. Since the page number corresponding to this target page screenshot is known, the page number of the currently playing slideshow page can be directly determined from the page number of the target page screenshot. This allows for slideshow page number monitoring without relying on officially provided third-party interfaces. Through this page screenshot matching, slideshow page number monitoring can be achieved even on macOS, where no official third-party interfaces are provided, enabling synchronized updates of the displayed content on the receiving end of the screen sharing session.

[0054] The following example uses a PC as the screen sharing sender. Figure 2 The specific implementation methods of each step in the illustrated embodiment are explained below:

[0055] In step 201, a screen sharing application is installed on the PC. This application first acquires the PowerPoint file currently being played by the user. The file extension of the PowerPoint file includes, but is not limited to, the following formats: ".ppt", ".pptx", ".pptm", ".ppsx", ".odp", ".key", etc. The PowerPoint file includes all slides from the currently playing slideshow. After acquiring the PowerPoint file, the PC takes a screenshot of each page, obtaining screenshots of each page. The format of each screenshot can be ".png", ".jpg", etc., and this embodiment does not specifically limit this.

[0056] In practice, the PC can utilize a system library provided by the operating system to process and capture screenshots of the PowerPoint presentation file. This system library includes two key components: a PowerPoint page viewer and a screenshot tool. The PC can use the PowerPoint page viewer to open and read the PowerPoint file, and then use the screenshot tool to capture screenshots of each page, obtaining screenshots of each page of the PowerPoint presentation.

[0057] In one possible implementation, after obtaining screenshots of each page of the PowerPoint presentation file on the PC, these screenshots can be stored in the PC's memory. This allows for direct retrieval from memory when needed later, eliminating the need to take screenshots of each page again, thus saving processing time. Optionally, along with storing the page screenshots in the PC's memory, the corresponding page numbers can also be stored in memory for later identification of the page numbers.

[0058] Each screenshot of a PowerPoint presentation file corresponds to its own page number, which is determined by the order in which the screenshots are taken. When taking screenshots of a PowerPoint presentation file on a PC, the pages are captured sequentially according to their arrangement in the file. The pages in a PowerPoint presentation file are usually arranged from front to back according to their page numbers. Therefore, when taking screenshots in this order, the first screenshot corresponds to the first page of the PowerPoint presentation file, the second screenshot corresponds to the second page, and so on. Thus, the screenshot order directly reflects the page number order of the PowerPoint presentation files; that is, the Nth page screenshot corresponds to the Nth page of the PowerPoint presentation file. Therefore, if the position of a certain page screenshot is known (for example, it is the 10th page screenshot), then it can be determined that this page screenshot corresponds to the 10th page of the PowerPoint presentation file.

[0059] For example, see Figure 3 , Figure 3 This is a diagram showing screenshots of each page of a PowerPoint presentation. Figure 3 The image shows 13 .png format screenshots taken from top to bottom according to the page arrangement in the slide file. The page numbers of these 13 .png format screenshots are pages 1 to 13 respectively.

[0060] In some embodiments, obtaining the slideshow file includes: detecting whether the target software is currently in full-screen mode; if the target software is detected to be in full-screen mode, then obtaining the slideshow file.

[0061] The target software is the software used to play slideshows, such as the aforementioned applications like WPS, PowerPoint, and Keynote.

[0062] Specifically, the PC can detect whether any of the target software programs, such as WPS, PowerPoint, and Keynote, has entered full-screen mode, i.e., full-screen playback mode. If the PC detects that the target software has entered full-screen playback mode, it retrieves the currently playing slideshow file.

[0063] When the target software enters full-screen playback mode, it means that the target software interface occupies the entire screen, eliminating the interference of elements such as the taskbar and borders, and providing a borderless visual experience, which helps users focus more on the content currently being played.

[0064] Optionally, users can trigger full-screen playback by pressing a key on the PC keyboard. For software used to play slideshows, this key is typically the F5 key. Therefore, if the PC detects the user pressing the F5 key, it can determine that the target software is currently in full-screen mode.

[0065] Optionally, users can also trigger the target software to enter full-screen mode by using the full-screen icon on the target software's interface or by using the corresponding option in the target software's menu. Based on this, if the PC detects that the user has clicked the aforementioned full-screen icon or the user has clicked the target option in the aforementioned menu, it can be determined that the target software has entered full-screen mode.

[0066] In some embodiments, after the PC detects that the target software has entered full-screen mode, it triggers the receiving end of the screen sharing to launch a multi-page annotation application. For example, when the PC detects that the target software has entered full-screen mode, it sends a launch command for the multi-page annotation application to the receiving end of the screen sharing, causing the receiving end to launch the multi-page annotation application. This displays the toolbar of the multi-page annotation application on the display interface of the receiving end of the screen sharing, allowing the user to add annotations to the slides displayed on the receiving end of the screen sharing through the toolbar.

[0067] Figure 4 This is a screenshot of the interface after the screen mirroring receiver starts a multi-page annotation application. For example... Figure 4 As shown, the connection code between the screen sharing receiver and the PC is NZX 6FU. The screen sharing receiver's display interface shows a full-screen slideshow page 401 and a toolbar 402 for multi-page annotation applications. The toolbar 402 includes: a first button 4021 for exiting the multi-page annotation application, a second button 4022 for erasing annotation content, and a third button 4023 for saving annotation content. It should be noted that... Figure 4 This example only uses toolbar 402, which includes three function buttons. In a specific implementation, toolbar 402 may also include buttons for implementing other annotation functions. This embodiment does not make any specific limitations on this.

[0068] When the screen-sharing receiver starts the multi-page annotation application, if a user adds annotations to a page, the receiver will bind and store the added annotations with the page number of that page. This ensures that when returning to that page later, the annotations added earlier can be displayed accordingly. For example, if the user adds annotation 'a' on page 1, 'b' on page 3, and 'c' on page 7, the receiver will bind page number 1 with 'a', page number 3 with 'b', and page number 7 with 'c'. If the receiver receives page number 3 from the PC, it means the PC has detected the user turning to page 3. Therefore, the receiver can display 'b', which is bound to page 3, while playing the slideshow on page 3.

[0069] In this embodiment, considering that the target software will trigger the screen sharing receiver to launch a multi-page annotation application after entering full-screen mode, the screen sharing receiver will save the correspondence between annotation content and page number when the user adds annotations. Therefore, during the user's slide flipping process, in order for the screen sharing receiver to accurately display the annotation content corresponding to the page number, the screen sharing receiver needs to obtain the accurate page number. Therefore, in the above technical solution, after the target software enters full-screen mode, it obtains the slide file and then performs the subsequent page number determination step. This is beneficial for obtaining the slide file at the appropriate time and sending the page number of the currently playing slide to the screen sharing receiver in a timely manner, so that the screen sharing receiver can accurately and timely display the annotation content corresponding to the received page number.

[0070] In some embodiments, the implementation of detecting whether the target software is currently in full-screen mode includes the following steps S11 to S13:

[0071] S11: Detects whether a window enters full-screen mode at preset intervals.

[0072] In this context, a window refers to the visible area in a graphical user interface (GUI), which is the primary interface for interaction between application software and the user. When an application is opened on a PC, one or more windows typically pop up, each representing an independent activity or task. Furthermore, each window corresponds to a specific application.

[0073] Specifically, on a PC, a timer can be set to check at preset intervals whether any windows have entered full-screen mode. Whether a window has entered full-screen mode can be understood as whether a window's size equals the screen's resolution. When the window's size equals the screen's resolution, it means that the window's width and height match the screen's resolution, and the window completely occupies the entire screen, leaving no uncovered desktop space; in other words, the window has entered full-screen mode.

[0074] The aforementioned preset duration can be pre-set, for example, to 1 second, so that it checks once every 1 second whether a window has entered full-screen mode. However, this embodiment does not specifically limit the value of the preset duration.

[0075] S12: If a window is detected to enter full-screen mode, determine whether the window is the one running the target software.

[0076] S13: If the window is the window that runs the target software, then the target software is currently in full-screen mode.

[0077] Specifically, if the PC detects that a window has entered full-screen mode, it will further determine whether the window is the one running the target software.

[0078] For example, determining whether the window is the window running the target software includes the following steps S121 to S123:

[0079] S121: Get the identifier information of the window that has entered full-screen mode.

[0080] The window identifier is used to identify the window, and the form of the window identifier differs across operating systems. For example, in macOS, the window identifier is the Bundle Identifier. In Windows and Linux operating systems, the window identifier can be understood as the name of the process corresponding to the window.

[0081] S122: Compare the identification information of this window with a predefined list; wherein the predefined list includes the identification information of each software used to play the slideshow.

[0082] S123: If the window's identification information exists in the predefined list, then the window is determined to be the window for running the target software.

[0083] Specifically, as mentioned above, the format of window identification information differs across operating systems. Correspondingly, the format of identification information for each software program playing a slideshow also varies across different operating systems. For example, in macOS, the predefined list includes the Bundle Identifier, the identification information for each software program used to play the slideshow; that is, the predefined list is a list of Bundle Identifiers for each software program used to play the slideshow. If a window's Bundle Identifier exists in the Bundle Identifier list, then that window is determined to be the window running the target software. In Windows and Linux operating systems, the predefined list includes the process names of each software program used to play the slideshow; that is, the predefined list is a list of process names for each software program used to play the slideshow. If the process name corresponding to a window exists in the process name list, then that window is determined to be the window running the target software.

[0084] In other words, the method for determining whether a window is the one running the target software varies depending on the PC's operating system. A detailed explanation follows:

[0085] When the operating system on the PC is macOS, the above method for determining whether a window is the window running the target software includes: obtaining the Bundle Identifier of the window that has entered full-screen mode; if the Bundle Identifier is the identifier of the target software, then the window is determined to be the window running the target software.

[0086] In macOS, a window's Bundle Identifier can be understood as the identifier of the application to which that window belongs; different applications have different identifiers. Therefore, different applications can be directly distinguished by their window identifiers. The Bundle Identifier is a unique identifier for each application on macOS.

[0087] For example, as described above, after obtaining the identifier BundleIdentifier of the window that has entered full-screen mode, the PC determines whether the identifier BundleIdentifier is the identifier of one of the software used to play slides, such as WPS, PowerPoint, or Keynote. If so, it means that the window that has entered full-screen mode is the window running the target software, thus determining that the target software has entered full-screen mode, that is, there is currently software used to play slides in full-screen mode.

[0088] For example, if the Bundle Identifier of the window that has entered full-screen mode obtained by the PC is "com.kingsoft.wpsoffice.mac", then it can be determined that the identifier is the identifier of WPS, and thus it can be determined that the window is running WPS, and further determined that there is software used to play slideshows, i.e., WPS, that has entered full-screen mode.

[0089] When the PC's operating system is Windows, the implementation methods for determining whether the window is the window running the target software include the following steps S12a to S12e:

[0090] S12a: Get the PID (Process ID) of the window that has entered full-screen mode.

[0091] Specifically, in the Windows operating system, the PC can use the GetWindowThreadProcessId() API (Application Programming Interface) provided by the Windows operating system to obtain the PID associated with the window that has entered full-screen mode.

[0092] S12b: Open the process corresponding to the PID in this window.

[0093] Specifically, on a PC, you can use the OpenProcess() API provided by the Windows operating system to open the process corresponding to the PID.

[0094] S12c: Get the path to the executable file of this process.

[0095] Specifically, on a PC, the GetModuleFileNameEx() API provided by the Windows operating system can be used to obtain the executable file path of the process.

[0096] S12d: Extract the filename from the executable file path as the process name corresponding to this window.

[0097] S12e: Compare the process name corresponding to the window with the list of process names of the software used to play the slideshow. If the process name corresponding to the window exists in the list of process names, it means that the window is the window that runs the target software.

[0098] When the PC's operating system is Linux, the implementation methods for determining whether the window is the window running the target software include the following steps S12f to S12i:

[0099] S12f: Get the Window ID of the window that has entered full-screen mode.

[0100] Specifically, on a PC, the Window ID of the window can be obtained using the X11 library of the Linux operating system.

[0101] S12g: Get the PID of the window by its Window ID.

[0102] S12h: Based on the PID, obtain the process name corresponding to this window.

[0103] Specifically, the PC can read the ` / proc / [PID] / comm` file in the Linux operating system to obtain the process name. In Linux, ` / proc` is a pseudo-filesystem that provides an interface to access kernel and process information. Each running process has a corresponding directory under ` / proc`, and the directory name is the process's PID. In each process's directory, the `comm` file contains a single line displaying the process name, which is typically used to identify the process.

[0104] S12i: Compare the process name corresponding to this window with the process name list of each software used to play the slideshow. If the process name corresponding to this window exists in the process name list of the target software, it means that this window is the window for running the target software.

[0105] In this embodiment, considering that there is a correspondence between window identification information and application software identification information in different operating systems, that is, window identification information can be used to distinguish different application software, the window identification information is compared with a predefined list. Since the predefined list includes the identification information of various software used to play slideshows, if the window identification information exists in the predefined list, it can be directly determined that the window is the window running the target software. This facilitates quickly determining whether a window entering full-screen mode is the window running the target software. Furthermore, this sampling-based judgment method is compatible with different operating systems, expanding the applicability of this embodiment.

[0106] In some embodiments, the above-described acquisition of the slide file includes the following steps S21 to S23:

[0107] S21: Obtain process information corresponding to the target software for playing the slideshow.

[0108] Specifically, the process information corresponding to the target software can be understood as the process information of the process running the target software on the PC. Each running process on the PC has its own process information, so the PC can obtain the process information of the process running the target software through the operating system's API.

[0109] S22: Based on the above process information, obtain the file information opened by the target software. This file information includes the path to the slideshow file.

[0110] For example, the PC can select the appropriate method for obtaining process and file information based on the operating system type, and obtain the target software's process information based on this method. It can then extract file path information from the process information, filter and identify file paths that conform to the slideshow format, and use these file paths as the path to the slideshow file in S22 above. The following provides specific explanations for different operating systems:

[0111] For example, on a Windows operating system, processes can be enumerated using the CreateToolhelp32Snapshot, Process32First, and Process32Next APIs. Then, the OpenProcess and EnumProcessModules APIs are used to obtain the process's module information. Next, file paths conforming to a slideshow format are identified and extracted from the module information.

[0112] For example, on a Linux operating system, you can first access the ` / proc / [PID] / fd` directory, where `[PID]` is the process ID of the target software. Then, you can traverse the file descriptors in this directory and read the symbolic links of the file descriptors to obtain the actual file paths. Next, based on the actual file paths, you can filter and extract file paths that conform to the slideshow format.

[0113] For example, on macOS, you can obtain the BundleIdentifier of the window that has entered full-screen mode and determine whether that BundleIdentifier belongs to a predefined list of slideshow applications. If it does, you can use system APIs or commands to obtain a list of files opened by that application and filter out file paths that match the slideshow format.

[0114] Specifically, on macOS, the PC can obtain all file handles currently open by the target software using its PID (PID). The PC then examines these file handles, searching for files that match the PowerPoint file format. This format includes, but is not limited to, the following file extensions: ".ppt" and ".pptx" (Microsoft PowerPoint), ".odp" (Open Document Presentation), ".key" (Apple Keynote), ".pptm" (PowerPoint files with macros enabled), and ".ppsx" (PowerPoint Slide Show). The PC identifies these file extensions and determines the corresponding file path as the path to the currently used PowerPoint file.

[0115] In practical implementation, a predefined list of file extensions can be set in advance to flexibly add or modify supported file formats. This approach ensures that the system can adapt to various common PowerPoint file formats, improving the versatility and adaptability of the technical solution.

[0116] S23: Based on the path of the slide file, obtain the slide file corresponding to the slide that is currently playing.

[0117] Specifically, the PC can extract the complete path to the slideshow file from the obtained file handle. Then, based on that path, it locates the slideshow file, opens it using standard file I / O operations (such as fopen or CreateFile), and reads its contents to obtain the slideshow file corresponding to the currently playing slideshow.

[0118] In this embodiment, the file handle currently opened by the target software is obtained through the process identifier corresponding to the target software. Since this file handle includes the path to the slideshow file, and this path indicates the storage location of the slideshow file, obtaining the slideshow file quickly and accurately through the path of the slideshow file in the file handle is beneficial.

[0119] In step 202, the PC takes a screenshot of the slideshow window to obtain a screenshot of the currently playing slideshow page. In practice, to enable timely monitoring of page-turning behavior, the PC can periodically take screenshots of the slideshow window. The duration of this period can be set according to actual needs, such as 1 second, so the PC can take a screenshot of the slideshow window every second to obtain a screenshot of the currently playing slideshow page.

[0120] In step 203, the PC can use an image matching algorithm to determine the target page screenshot that matches the current page screenshot among the screenshots of each page in the PowerPoint file. This target page screenshot is actually the page screenshot among the screenshots of each page in the PowerPoint file that is closest to the current page screenshot. In other words, the target page screenshot is the page screenshot among the screenshots of each page in the PowerPoint file that has the highest similarity to the current page screenshot.

[0121] In one possible implementation, step 203 above can be implemented as follows: the PC can calculate the similarity between the current page screenshot and the screenshots of each page in the slide file in parallel, and then select the page screenshot with the highest similarity to the current page screenshot from the screenshots of each page in the slide file as the target page screenshot based on the calculated similarity.

[0122] In another possible implementation, step 203 above includes steps 2031 to 2033 as follows:

[0123] Step 2031: Obtain the voice information collected within the current preset time period.

[0124] Specifically, a microphone or other audio input device can be used to capture the user's voice information. The current preset time period is the time period during which the current slideshow is played. The voice information collected within this time period is usually closely related to the currently playing slideshow and can reflect some key information of the currently playing slideshow.

[0125] Step 2032: Determine the matching order of each page screenshot based on the degree of correlation between the voice information and the screenshots of each page of the slide file, from highest to lowest.

[0126] Specifically, the content of the audio information can be analyzed to extract keywords or themes. Screenshots of each page in the PowerPoint presentation can be analyzed to extract text or visual features. OCR (Optical Character Recognition) can be used to recognize the text on the page, or image recognition technology can be used to analyze the page content. Then, based on the relevance of keywords or themes to the page content, the degree of association between each page screenshot and the audio information is calculated, and the screenshots are sorted from highest to lowest relevance to form a matching order list. This matching order list reflects the matching order of each page screenshot; the earlier the page screenshot appears on the matching order list, the greater its relevance to the keywords or themes in the audio information.

[0127] Step 2033: Following this matching order, match the current page screenshot with each page screenshot in turn until the target page screenshot that matches the current page screenshot is determined.

[0128] Specifically, on the PC, the similarity between the current page screenshot and each page screenshot in the matching list is compared one by one according to the matching order mentioned above. When a page screenshot with a matching degree higher than a preset threshold is found, that page screenshot is confirmed as the target page screenshot.

[0129] In this embodiment, considering that the voice information collected within the current preset time period is usually highly correlated with the currently playing slideshow page and can reflect some key information of the currently playing slideshow page, the matching order of each page screenshot is determined based on the degree of correlation between the voice information and each page screenshot from highest to lowest. Then, according to this matching order, the current page screenshot is matched with each page screenshot in turn, which is beneficial for quickly obtaining the target page screenshot without relying on the system's parallel processing capabilities.

[0130] Optionally, a timer can be set to execute steps 202 and 203 every 1 second, which helps to detect the user's page-turning behavior in a timely manner. The 1 second interval is merely illustrative; in a specific implementation, steps 202 and 203 can be executed at other intervals, and this embodiment does not impose a specific limitation on this.

[0131] In step 204, as mentioned above, each page screenshot of the PowerPoint file corresponds to its own page number, and the page number corresponding to each page screenshot is actually the actual page number of the PowerPoint page represented by that page screenshot. Therefore, after the PC obtains the target page screenshot, it can directly determine the page number corresponding to the target page screenshot as the page number of the PowerPoint page currently being played in the window running the target software, thereby enabling the PC to monitor the PowerPoint page number.

[0132] After obtaining the page number of the currently playing slideshow, the PC sends that page number to the receiving end. The receiving end then determines whether it has stored corresponding annotations. If so, it displays the annotation on the playing slideshow page immediately.

[0133] In some embodiments, when the PC detects that the target software has entered full-screen mode, the PC sends a command to the screen-sharing receiver to start a multi-page annotation application, thus the screen-sharing receiver begins running the multi-page annotation application. When the user adds annotations to a slideshow page played on the screen-sharing receiver using this multi-page annotation application, the screen-sharing receiver saves the correspondence between the slideshow page number and the annotation content, that is, it binds the page number and the annotation content. When the PC detects the user's page-turning behavior and determines the page number of the currently playing slideshow page, the PC sends that page number to the screen-sharing receiver. The screen-sharing receiver can then determine whether it stores the annotation content corresponding to the page number sent by the PC, based on the aforementioned correspondence between page numbers and annotation content.

[0134] In some embodiments, the above-described method of obtaining a slide file and taking screenshots of each page in the slide file includes: determining whether screenshots of each page in the slide file are stored in memory; if screenshots of each page are not stored in memory, obtaining the slide file and taking screenshots of each page in the slide file.

[0135] In other words, when you need to capture screenshots of each page of a slideshow file, such as when the target software is in full-screen mode, it indicates a need to capture screenshots of each page. At this point, you can first try to retrieve the screenshots of each page from memory. If you cannot retrieve the screenshots from memory, it means that the screenshots are not stored in memory. Then, you can proceed with the steps of retrieving the slideshow file and capturing screenshots of each page. This approach allows you to retrieve the slideshow file and capture screenshots only when necessary, thus saving processing resources to some extent.

[0136] In some embodiments, if screenshots of each page are stored in memory, the screenshots of each page of the PowerPoint file are retrieved from memory. That is, if screenshots of each page are already stored in memory, it means that the step of taking screenshots of each page in the PowerPoint file has already been performed. Therefore, the screenshots of each page in the PowerPoint file can be retrieved directly from memory without performing the screenshot operation again. This facilitates the rapid retrieval of screenshots of each page in the PowerPoint file, allowing for quick initiation of the comparison between the current page screenshot and the screenshots of each page, significantly improving processing speed.

[0137] Figure 5 This is another illustrative flowchart of the page number determination method provided in the embodiments of this application.

[0138] For example, such as Figure 5 As shown, the method includes:

[0139] Step 501: The system detects that the user has entered full-screen playback mode using the slideshow software.

[0140] Here, "slideshow software" refers to the target software used to play slideshows, as mentioned above. Detecting that a user is using slideshow software in full-screen mode can be understood as: determining that the target software is currently in full-screen mode.

[0141] Step 502: Determine if screenshots of each page of the slideshow file currently being played by the user are stored in memory. If yes, proceed to step 508; otherwise, proceed to step 503.

[0142] Step 503: Obtain the slideshow file that the user is currently playing.

[0143] For example, first obtain the PID corresponding to the slideshow software, then use the PID to obtain all file handles currently open by the slideshow software. All file handles include the path of the slideshow file, and then use the path of the slideshow file to obtain the slideshow file that the user is currently playing.

[0144] Step 504: Read the slide file and take screenshots of all pages in the slide file to obtain screenshots of each page of the slide file.

[0145] Step 505: Take a screenshot of the current full-screen window to obtain a screenshot of the current page.

[0146] Step 506: Compare the current page screenshot with the screenshots of each page in the slideshow file to obtain the target page screenshot that matches the current page screenshot.

[0147] Step 507: Determine the page number corresponding to the target page screenshot as the page number of the currently playing slideshow, and send this page number to the screen sharing receiver.

[0148] Step 508: Retrieve screenshots of each page of the slideshow file from memory.

[0149] In this embodiment, the monitoring of slide transitions on a PC is achieved through screenshot comparison. This allows the monitoring of slide page numbers to be unrestricted by officially provided third-party interfaces, even on macOS operating systems where no official third-party interfaces are provided. Furthermore, the implementation of this embodiment has high technical feasibility, mainly reflected in the following aspects:

[0150] Hardware Requirements: The page number determination method provided in this application does not require special hardware resources and can run on a regular personal computer. This means that the method can be widely applied in various office and educational environments without additional hardware investment.

[0151] Software environment: The software environment required to implement the embodiments of this application mainly includes libraries that support image processing (such as OpenCV) and access to operating system APIs. These are common software components that are easy to obtain and integrate.

[0152] Cross-platform adaptability: The embodiments of this application are designed with the characteristics of different operating systems in mind, and can be adapted to mainstream operating systems such as Windows, Mac OS and Linux, and have good cross-platform compatibility.

[0153] Performance considerations: Through optimized algorithm design, the embodiments of this application can achieve real-time page number monitoring and synchronization without significantly increasing the system load.

[0154] Scalability: The design of this application embodiment allows for easy addition of support for new slide file formats or applications, exhibiting good scalability.

[0155] In summary, the embodiments of this application are highly feasible in terms of technical implementation, and can be easily deployed and used in existing computer environments, providing users with efficient and reliable slide page number monitoring and synchronization functions.

[0156] Figure 6 This is a schematic diagram of a page number determination device provided in an embodiment of this application.

[0157] For example, such as Figure 6 As shown, the page number determining device 600 includes:

[0158] The acquisition module 601 is used to acquire the slide file and perform screenshot operations on each page of the slide file to obtain screenshots of each page.

[0159] The screenshot module 602 is used to perform a screenshot operation on the window playing the slideshow, and obtain a screenshot of the current page of the slideshow currently being played in the window.

[0160] The matching module 603 is used to determine the target page screenshot that matches the current page screenshot among the page screenshots of the above-mentioned slide file;

[0161] The determination module 604 is used to determine the page number corresponding to the above target page screenshot as the page number of the currently playing slideshow page, and send the above page number to the screen sharing receiving end.

[0162] In one possible implementation, the acquisition module 601 is specifically used to detect whether the target software is currently in full-screen mode; wherein, the target software is software used to play slideshows; if the target software is detected to be in full-screen mode, the slideshow file is acquired.

[0163] In one possible implementation, the acquisition module 601 includes: a detection unit, a first determination unit, and a second determination unit. The detection unit is used to detect whether a window has entered full-screen mode at preset intervals. The first determination unit is used to determine whether the window is the window running the target software if a window is detected to have entered full-screen mode. The second determination unit is used to determine whether the target software is currently in full-screen mode if the window is the window running the target software.

[0164] In one possible implementation, the above method is applied to the Mac OS operating system. The first determining unit is specifically used to obtain the identifier of the window that has entered full-screen mode; if the identifier is the identifier of the target software, then the window is determined to be the window running the target software.

[0165] In one possible implementation, the acquisition module 601 is specifically used to acquire the process identifier corresponding to the target software playing the slideshow; acquire the file handle opened by the target software based on the process identifier; wherein the file handle includes the path of the slideshow file; and acquire the slideshow file based on the path of the slideshow file.

[0166] In one possible implementation, the acquisition module 601 is specifically used to determine whether the screenshots of each page of the aforementioned slide file are stored in memory; if the screenshots of each page are not stored in memory, the slide file is acquired, and screenshots of each page in the slide file are obtained.

[0167] In one possible implementation, the acquisition module 601 is further configured to acquire the screenshots of each page of the slide file from the memory if the screenshots of each page are stored in the memory.

[0168] In one possible implementation, the determining module 604 is specifically used to: acquire voice information collected within the current preset time period; determine the matching order of the screenshots corresponding to each page according to the degree of correlation between the voice information and the screenshots of each page of the slide file from largest to smallest; and match the current page screenshot with each of the screenshots in sequence according to the matching order until the target page screenshot matching the current page screenshot is determined.

[0169] This application also provides a screen sharing system, the schematic diagram of which can be found in the attached diagram. Figure 1The screen sharing system includes a screen sharing sender 101 and a screen sharing receiver 102, which are communicatively connected. The screen sharing sender 101 can transmit slideshow pages to the screen sharing receiver 102 for display via this communication connection, allowing the screen sharing receiver 102 to receive and display the slideshow pages sent by the screen sharing sender 101 in real time.

[0170] The aforementioned screen sharing sending end 101 is configured to: acquire a slideshow file, and take screenshots of each page in the slideshow file; take screenshots of the window playing the slideshow, obtaining a screenshot of the current page of the slideshow currently being played; identify a target page screenshot that matches the current page screenshot from the screenshots of each page in the slideshow file; determine the page number corresponding to the target page screenshot as the page number of the currently playing slideshow page, and send the page number to the screen sharing receiving end 102. The aforementioned screen sharing receiving end 102 is configured to: bind and store user annotations on each slideshow page with the slideshow page number through a multi-page annotation application; receive the page number sent by the aforementioned screen sharing sending end 101, and determine the annotation content bound and stored with the page number based on the page number.

[0171] In some embodiments, the screen sharing sending end 101 is further configured to: upon detecting that the target software is currently in full-screen mode, send an instruction to the screen sharing receiving end 102 to launch a multi-page annotation application; the target software is software used to play slideshows. Correspondingly, the screen sharing receiving end 102 is further configured to: launch the multi-page annotation application after receiving the instruction to launch the multi-page annotation application sent by the screen sharing sending end 101. That is, after the screen sharing sending end 101 detects that the target software has entered full-screen mode, it will trigger the screen sharing receiving end 102 to launch the multi-page annotation application.

[0172] In some embodiments, the screen sharing sending end 101 is further configured to send the currently playing slideshow page to the screen sharing receiving end 102. Correspondingly, the screen sharing receiving end 102 is further configured to receive the slideshow page sent by the screen sharing sending end 101; and display the received slideshow page and the determined annotation content bound to the page number. That is, the screen sharing receiving end 102 can display the received slideshow page while simultaneously displaying the annotation content bound to the page number of that slideshow page.

[0173] It is not difficult to see that the embodiments of this application are screen sharing system embodiments corresponding to the embodiments of the page number determination method described above. They can be implemented in conjunction with the embodiments of the page number determination method described above. The relevant technical details and technical effects mentioned in the embodiments of the page number determination method described above are also applicable in the screen sharing system embodiments. To avoid repetition, they will not be repeated here.

[0174] Figure 7This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.

[0175] For example, such as Figure 7 As shown, the electronic device 700 includes a memory 701 and a processor 702. The memory 701 stores executable program code 703, and the processor 702 is used to call and execute the executable program code 703 to perform a page number determination method. The electronic device 700 can be the screen transmission terminal described above.

[0176] Furthermore, embodiments of this application also protect an apparatus that may include a memory and a processor, wherein the memory stores executable program code, and the processor is used to call and execute the executable program code to perform a page number determination method provided in embodiments of this application.

[0177] This embodiment can divide the device into functional modules based on the above method example. For example, each module can correspond to a separate function, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware. It should be noted that the module division in this embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0178] When each functional module is divided according to its corresponding function, the device may also include an acquisition module, a screenshot module, a matching module, and a determination module. It should be noted that all relevant content in the above method embodiments can be referenced in the functional descriptions of the corresponding functional modules, and will not be repeated here.

[0179] It should be understood that the apparatus provided in this embodiment is used to execute the page number determination method described above, and therefore can achieve the same effect as the implementation method described above.

[0180] When using integrated units, the device may include a processing module and a storage module. When applied to an electronic device, the processing module can be used to control and manage the operation of the electronic device. The storage module can be used to support the execution of program code by the electronic device.

[0181] The processing module may be a processor or a controller, which can implement or execute various exemplary logic blocks, modules, and circuits shown in conjunction with the disclosure of this application. The processor may also be a combination of functions that implement computing capabilities, such as a combination of one or more microprocessors, a combination of digital signal processing (DSP) and a microprocessor, etc., and the storage module may be a memory.

[0182] In addition, the apparatus provided in the embodiments of this application may specifically be a chip, component or module. The chip may include a connected processor and a memory. The memory is used to store instructions. When the processor calls and executes the instructions, the chip can execute a page number determination method provided in the above embodiments.

[0183] This embodiment also provides a computer-readable storage medium storing computer program code. When the computer program code is run on a computer, the computer executes the aforementioned method steps to implement the page number determination method provided in the above embodiment.

[0184] This embodiment also provides a computer program product that, when run on a computer, causes the computer to perform the aforementioned steps to implement a method for determining page numbers provided in the above embodiment.

[0185] In this embodiment, the device, computer-readable storage medium, computer program product, or chip are all used to execute the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods provided above, and will not be repeated here.

[0186] Through the above description of the embodiments, those skilled in the art will understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0187] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0188] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for determining page numbers, characterized in that, Applied to the screen sharing sending end, the method includes: Obtain the slideshow file and take screenshots of each page in the slideshow file to obtain screenshots of each page; Take a screenshot of the window where the slideshow is playing to obtain a screenshot of the current slideshow page being played in the window; Among the screenshots of each page in the PowerPoint file, a target page screenshot that matches the current page screenshot is identified. The page number corresponding to the screenshot of the target page is determined as the page number of the currently playing slideshow page, and the page number is sent to the screen sharing receiving end.

2. The method according to claim 1, characterized in that, The process of obtaining the slide file includes: Detect whether the target software is currently in full-screen mode; wherein, the target software is software used to play slideshows; If the target software is detected to have entered the full-screen state, the slideshow file is obtained.

3. The method according to claim 2, characterized in that, The detection of whether the target software is currently in full-screen mode includes: At preset intervals, it checks whether any window has entered full-screen mode; If a window is detected to enter full-screen mode, it is determined whether the window is the one running the target software. If the window is the window running the target software, then it is determined that the target software is currently in the full-screen state.

4. The method according to claim 3, characterized in that, Determining whether the window is the window running the target software includes: Obtain the identifier information of the window that has entered full-screen mode; The window's identification information is compared with a predefined list; wherein the predefined list includes identification information of various software programs used to play the slideshow. If the window's identification information exists in the predefined list, then the window is determined to be the window for running the target software.

5. The method according to claim 1, characterized in that, The process of obtaining the slide file includes: Obtain the process information corresponding to the target software playing the slideshow; Based on the process information, obtain the file information opened by the target software; wherein, the file information includes the path of the slideshow file; Obtain the slide file based on its path.

6. The method according to claim 1, characterized in that, The step of obtaining the slideshow file and taking screenshots of each page in the slideshow file includes: Determine whether screenshots of each page of the slideshow file are stored in memory; If the screenshots of each page are not stored in the memory, a slideshow file is obtained, and screenshots of each page in the slideshow file are taken.

7. The method according to claim 6, characterized in that, The method further includes: If the screenshots of each page are stored in the memory, the screenshots of each page of the slideshow file are retrieved from the memory.

8. The method according to any one of claims 1 to 7, characterized in that, The step of determining the target page screenshot that matches the current page screenshot among the screenshots of each page in the slide file includes: Acquire voice information collected within the current preset time period; The matching order of the screenshots is determined based on the degree of correlation between the voice information and the screenshots of each page of the slide file, from highest to lowest. According to the matching order, the current page screenshot is matched with each of the page screenshots in turn until a target page screenshot that matches the current page screenshot is determined.

9. A page number determining device, characterized in that, include: The acquisition module is used to acquire the slide file and perform screenshot operations on each page of the slide file to obtain screenshots of each page; The screenshot module is used to take a screenshot of the window where the slideshow is playing, and obtain a screenshot of the current page of the slideshow currently being played in the window; The matching module is used to determine, among the screenshots of each page in the slide file, a target page screenshot that matches the current page screenshot; The determination module is used to determine the page number corresponding to the screenshot of the target page as the page number of the currently playing slideshow page, and send the page number to the screen sharing receiving end.

10. A screen transmission system, characterized in that, It includes a screen sharing sending end and a screen sharing receiving end, wherein the screen sharing sending end and the screen sharing receiving end are communicatively connected; The screen sharing sending end is configured to: acquire a slideshow file, and take screenshots of each page in the slideshow file to obtain screenshots of each page; take screenshots of the window playing the slideshow to obtain a screenshot of the current page of the slideshow currently being played in the window. Among the screenshots of each page in the PowerPoint file, a target page screenshot that matches the current page screenshot is identified. The page number corresponding to the screenshot of the target page is determined as the page number of the currently playing slideshow page, and the page number is sent to the screen sharing receiving end; The screen sharing receiver is configured to: bind and store the user's annotations on each slide page with the slide page number through a multi-page annotation application; receive the page number sent by the screen sharing sender, and determine the annotation content bound and stored with the page number based on the page number.

11. The screen transmission system according to claim 10, characterized in that, The screen sharing sending end is also configured to: when it detects that the target software is currently in full-screen mode, send an instruction to the screen sharing receiving end to start the multi-page annotation application; the target software is software used to play slideshows; The screen sharing receiver is further configured to launch the multi-page annotation application after receiving an instruction from the screen sharing sender to launch the multi-page annotation application.

12. The screen transmission system according to claim 10, characterized in that, The screen sharing sending end is also configured to send the currently playing slideshow page to the screen sharing receiving end; The screen sharing receiver is further configured to: receive the slideshow page sent by the screen sharing sender; and display the received slideshow page and the annotation content that is bound to the page number and stored.

13. An electronic device, characterized in that, include: Memory, used to store executable program code; A processor for calling and running the executable program code from the memory, causing the electronic device to perform the method as described in any one of claims 1 to 8.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores executable program code that, when executed, implements the method as described in any one of claims 1 to 8.