CN117348778A - Screen recording and sharing method and electronic equipment - Google Patents
Screen recording and sharing method and electronic equipment Download PDFInfo
- Publication number
- CN117348778A CN117348778A CN202210753227.8A CN202210753227A CN117348778A CN 117348778 A CN117348778 A CN 117348778A CN 202210753227 A CN202210753227 A CN 202210753227A CN 117348778 A CN117348778 A CN 117348778A
- Authority
- CN
- China
- Prior art keywords
- window
- application
- android
- operating system
- android operating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000009877 rendering Methods 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 description 73
- 238000004891 communication Methods 0.000 description 42
- 238000013461 design Methods 0.000 description 27
- 238000012545 processing Methods 0.000 description 22
- 238000007726 management method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 8
- 230000005236 sound signal Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
The application provides a screen recording and sharing method and electronic equipment, and relates to the technical field of electronic equipment. In scenarios such as android simulators, multi-screen collaboration, etc., windows other than the window of the An Zhuozhu interface can be recorded and/or shared, such as: one or more of a window of an android application, a window of a non-android application, a window of a main interface of a non-android operating system, and the like. The method may be applied to an electronic device having a display screen, the method comprising: receiving target operation of a user in a first window of electronic equipment, wherein the first window is a window of a first application; recording and/or sharing a target window of the electronic equipment in response to the target operation, wherein the target window is a first window or a second window, and the second window is a window of a second application; the first application runs in the android operating system, and the second application runs in the non-android operating system.
Description
Technical Field
The present disclosure relates to the field of electronic devices, and in particular, to a method for recording and sharing a screen and an electronic device.
Background
Currently, in androidIn the scenes of simulators, multi-screen collaboration and the like, a window of an android application, a window of a main interface of the android operating system, a window of the non-android application, a window of the main interface of the non-android operating system and the like are possibly displayed on electronic equipment (such as a computer) of one non-android operating systemAnd (3) a mouth. The android simulator can simulate an android operating system on a non-android operating system (such as a computer operating system), so that android applications can be installed, operated and uninstalled on a computer, and a user can experience the android applications on the computer. In the multi-screen collaborative scene, after the screen-throwing device (such as a mobile phone) and the screen-throwing device (such as a computer) are connected (such as wired connection or wireless connection), the screen-throwing device can throw an interface image of the screen-throwing device onto the screen-throwing device for display.
Sometimes, a user needs to record (or call screen recording) and/or share a window of an application displayed on an electronic device, but in a scenario such as the above-mentioned android simulator, multi-screen collaboration, etc., only the recording and/or sharing of a window of a main interface of an android operating system displayed on the electronic device can be achieved, and the user cannot record and/or share a window except for a window of a An Zhuozhu interface, for example: a window of an android application, a window of a non-android application, a window of a main interface of a non-android operating system, and the like.
Disclosure of Invention
The application provides a method and electronic equipment for recording and sharing a screen, and the method and the electronic equipment can also record and/or share windows except for a window of a An Zhuozhu interface under the scene such as an android simulator, multi-screen collaboration and the like, for example: one or more of a window of an android application, a window of a non-android application, a window of a main interface of a non-android operating system, and the like.
In order to achieve the above purpose, the present application adopts the following technical scheme:
in a first aspect, the present application provides a method for recording and sharing a screen, applied to an electronic device having a display screen, the method comprising: receiving target operation of a user in a first window of electronic equipment, wherein the first window is a window of a first application; recording and/or sharing a target window of the electronic equipment in response to the target operation, wherein the target window is a first window or a second window, and the second window is a window of a second application; the first application runs in the android operating system, and the second application runs in the non-android operating system.
In the method, run at An ZhuocaoWindows that do android applications within the system may be in a non-android operating system (e.g.,etc.) display. The electronic device may initiate recording and/or sharing of a window of the android application according to an operation of a user on the window of the android application, or initiate recording and/or sharing of one or more of a window of a non-android application, a window of a non-An Zhuozhu interface, and the like.
In one possible design, recording and/or sharing a target window in response to a target operation includes: if the first application is not the preset application, responding to the target operation, and recording and/or sharing the first window; and if the first application is a preset application, responding to the target operation, and recording and/or sharing the second window. Based on the design, the electronic device can determine whether to record and/or share the window of the android application or record and/or share the window of the non-android application and/or the window of the non-An Zhuozhu interface according to whether the android application is the preset application or not.
In one possible design, recording and/or sharing the first window includes: the android operating system acquires an identifier of a logic display device corresponding to the first window from a non-android operating system, wherein the logic display device is used for bearing data of the first window; the android operating system acquires data of a first window according to the identification of the logic display device; and the android operating system records and/or shares the data of the first window. Based on the design, after the electronic equipment obtains the operation of the function of recording and/or sharing the android application started by the user, the electronic equipment can obtain the identification of the logic display equipment corresponding to the android application window, and further obtain the data of the android application window according to the identification of the logic display equipment, so that the recording and/or sharing of the android application window is realized.
In one possible design, the android operating system records and/or shares data of the first window, including: the android operating system renders the data of the first window into a memory of a first surface corresponding to the virtual display device, the virtual display device is created according to the first surface, and the first surface corresponds to the first application; and the android operating system records and/or shares the data in the memory of the first surface corresponding to the virtual display equipment after the rendering. Based on the design, the electronic device can render the data of the window of the android application into the memory of the surface corresponding to the virtual display device, and then acquire the data in the memory of the surface corresponding to the virtual display device for recording and/or sharing, so that the recording and/or sharing of the window of the android application can be completed.
In one possible design, recording and/or sharing the second window includes: the android operating system acquires data of a second window from the non-android operating system; and the android operating system records and/or shares the data of the second window. Based on the design, the electronic device can acquire the data of the window of the non-android application and/or the data of the window of the non-An Zhuozhu interface, and recording and/or sharing of the window of the non-android application and/or the window of the non-An Zhuozhu interface are realized.
In one possible design, the android operating system obtains data of the second window from the non-android operating system, including: the non-android operating system acquires data of a second window; the non-android operating system renders the data of the second window into a memory of a second surface, the memory of the second surface is determined by the android operating system, and the second surface corresponds to the first application; and the non-android operating system sends the data in the internal memory of the rendered second surface to the android operating system. Based on the design, the electronic device can render the acquired data of the window of the non-android application and/or the data of the window of the non-An Zhuozhu interface into a surface provided by the android application, and then acquire the data in the surface for recording and/or sharing, so that the recording and/or sharing of the window of the non-android application and/or the window of the non-An Zhuozhu interface can be completed.
In one possible design, before the non-android operating system renders the data of the second window into the memory of the second surface, the method further includes: the android operating system determines the memory of the second surface; the android operating system sends a target handle to the non-android operating system, wherein the target handle is used for indicating the address of the memory of the second surface; and the non-android operating system determines the memory of the second surface according to the target handle. Based on the design, the electronic device may determine a surface memory according to the surface handle, so as to render data into the surface memory later.
In one possible design, the android operating system records and/or shares data of the second window, including: and the android operating system records and/or shares the data in the internal memory of the rendered second surface.
In one possible design, the window of the second application includes one or more of a window of a main interface of the non-android operating system and a window of an application in the non-android operating system.
In one possible design, the target operation includes a triggering operation of a screen recording button and/or a screen sharing button included in the first window.
In one possible design, recording and/or sharing a target window of an electronic device in response to a target operation includes: in response to the target operation, displaying at least one window option, wherein the at least one window option comprises a first window option and/or a second window option; receiving a target window selection operation in options of at least one window by a user; in response to the selected operation, the target window is recorded and/or shared.
In a second aspect, the present application provides an electronic device having functionality to implement the method as described in the first aspect and any one of the designs. The functions can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the functions described above.
In a third aspect, the present application provides an electronic device, comprising: comprising a processor, a memory and a display screen, the memory and the display screen being coupled to the processor, the memory being for storing computer program code, the computer program code comprising computer instructions, the processor reading the computer instructions from the memory to cause the electronic device to perform the method as described in the first aspect and any one of the designs described above. The memory may be coupled to the processor or may be separate from the processor.
In one possible design, the electronic device further includes a communication interface operable to communicate with other apparatus. By way of example, the communication interface may be a transceiver, an input/output interface, an interface circuit, an output circuit, an input circuit, a pin or related circuit, or the like.
In a fourth aspect, the present application provides a computer readable storage medium comprising a computer program or instructions which, when run on an electronic device, cause the electronic device to perform the method as described in the first aspect and any one of the designs described above.
In a fifth aspect, the present application provides a computer program product enabling a computer to carry out the method of the first aspect and any one of the designs described above, when the computer program product is run on the computer.
In a sixth aspect, the present application provides a chip system comprising at least one processor and at least one interface circuit, the at least one interface circuit being configured to perform a transceiving function and to send instructions to the at least one processor, when executing the instructions, performing the method as described in the first aspect and any one of the designs above.
It should be noted that the technical effects of any of the designs in the second aspect to the sixth aspect may be referred to the technical effects of the corresponding designs in the first aspect, and will not be described herein.
Drawings
Fig. 1 is a schematic diagram of an example of an operation scenario of an android simulator according to an embodiment of the present application;
fig. 2 is a schematic diagram of another example of an operating scenario of an android simulator according to an embodiment of the present application;
fig. 3 is a schematic diagram of an example of a multi-screen collaboration scenario provided in an embodiment of the present application;
fig. 4 is a schematic diagram of another example of a multi-screen collaboration scenario provided in an embodiment of the present application;
fig. 5 is a schematic diagram of another example of a multi-screen collaboration scenario provided in an embodiment of the present application;
fig. 6 is a schematic diagram of another example of a multi-screen collaboration scenario provided in an embodiment of the present application;
FIG. 7 is a schematic diagram of an example of a conventional screen recording method;
Fig. 8 is a schematic hardware structure of an electronic device according to an embodiment of the present application;
fig. 9 is a schematic diagram of a scenario example of a screen recording method according to an embodiment of the present application;
fig. 10 is a schematic view of a scenario example of another screen recording method according to an embodiment of the present application;
fig. 11 is a schematic view of a scenario example of another screen recording method according to an embodiment of the present application;
fig. 12 is a schematic view of a scenario example of a screen sharing method according to an embodiment of the present application;
fig. 13 is a schematic view of a scenario example of a screen sharing method according to another embodiment of the present application;
fig. 14 is a schematic view of a scenario example of a screen sharing method according to another embodiment of the present application;
fig. 15 is a schematic frame diagram of a method for recording and sharing a screen according to an embodiment of the present application;
fig. 16 is a flowchart of a method for recording and sharing a screen according to an embodiment of the present application;
FIG. 17 is a schematic diagram of a screen recording and sharing method according to an embodiment of the present disclosure;
FIG. 18 is a flowchart of another method for recording and sharing a screen according to an embodiment of the present disclosure;
FIG. 19 is a flowchart of another method for recording and sharing a screen according to an embodiment of the present disclosure;
FIG. 20 is a flowchart of another method for recording and sharing a screen according to an embodiment of the present disclosure;
fig. 21 is a flowchart of another method for recording and sharing a screen according to an embodiment of the present application;
fig. 22 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
fig. 23 is a schematic structural diagram of a chip system according to an embodiment of the present application.
Detailed Description
The method for recording and sharing the screen and the electronic device provided by the embodiment of the application are described in detail below with reference to the accompanying drawings.
The terms "comprising" and "having" and any variations thereof, as referred to in the description of the present application, are intended to cover non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed but may optionally include other steps or elements not listed or inherent to such process, method, article, or apparatus.
It should be noted that, in the embodiments of the present application, words such as "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "for example" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
In the description of the present application, unless otherwise indicated, the meaning of "a plurality" means two or more. "and/or" herein is merely an association relationship describing an association object, and means that three relationships may exist, for example, a and/or B may mean: a exists alone, A and B exist together, and B exists alone.
The android simulator can simulate the android operating system on the non-android operating system, so that a user can install, run and uninstall android applications in the non-android operating system. Illustratively, a non-android operating system is carried on the computer, for example: and the like, after the android simulator is installed on the computer, a user can operate the android simulator on the computer, so that android applications can be installed, operated and uninstalled on the computer.
In an android simulator scenario, the computer may display one or more windows, which may include one or more of a window of an android application, a window of a main interface of an android operating system (hereinafter, simply referred to as a window of a An Zhuozhu interface), a window of a main interface of a non-android operating system (hereinafter, simply referred to as a window of a non-An Zhuozhu interface), a window of a non-android application, and the like. It can be understood that the android application can run in the android operating system simulated by the android simulator installed on the computer, and the non-android application can run in the operating system of the computer, namely, in the non-android operating system, the window of the non-An Zhuozhu interface refers to the window of the desktop of the non-android operating system, only one window is included, and other windows on the desktop are not included, and are collectively described herein.
In some possible examples, as shown in (1) in fig. 1, the android simulator 101 is installed on a computer, and a user may start the android simulator 101 through an input device (such as a mouse, a keyboard, etc.) of the computer. Such as: the computer displays the main interface 100, icons of the android simulator 101 are displayed on the main interface 100, the computer detects a click operation such as a user's icon of the android simulator 101, and in response to the operation, the computer starts the android simulator 101. As shown in fig. 1 (2), the computer may display a main interface 110 of the android simulator. Optionally, one or more android applications may be included in the main interface 110 of the android simulator, such as: application 1, application 2, application 3, etc., where a user may launch one or more android applications. Such as: the computer detects a click operation such as the user's icon 111 of the application 1, and in response to the operation, the computer may display the running interface 120 of the application 1 as shown in (3) of fig. 1.
In the example shown in fig. 1 (3), there are 3 windows displayed on the computer, namely, a window of a non-An Zhuozhu interface (i.e., the main interface 100), a window of a An Zhuozhu interface (i.e., the main interface 110), and a window of an android application (i.e., the running interface 120 of the application 1).
Of course, the user may also launch other windows on the computer, such as: windows of non-android applications. As shown in fig. 1 (3), one or more non-android applications are also included on the main interface 100, such as: application 4, application 5, etc. The user may launch a window of application 4 through an icon of application 4, launch a window of application 5 through an icon of application 5, etc. Such as: the computer detects a click operation such as the user's icon 102 on the application 4, and in response to the operation, the computer launches the application 4. As shown in fig. 1 (4), the computer may display the running interface 130 of the application 4. The running interface 130 of the application 4 is a window of the non-android application.
In another possible example, the user may also launch a window of the android application in other ways. As shown in (1) of fig. 2, the computer displays a main interface 200, and icons of android applications (e.g., application 1, application 2, application 3, etc.) and icons of non-android applications (e.g., application 4, application 5, etc.) are displayed on the main interface 200. The computer detects a click operation such as the user's icon 201 of the application 1, and in response to the operation, the computer starts the application 1, and as shown in (2) of fig. 2, the computer displays the running interface 210 of the application 1. Similarly, the user may also directly start the windows of the android applications such as the application 2 and the application 3 through the icon of the application 2 and the icon of the application 3 included in the main interface 200. The user may also respectively launch windows of non-android applications such as application 4 and application 5 through the icons of application 4 and application 5 included in the main interface 200. In this example, the computer may also present an interface such as that shown in (3) of FIG. 1 and/or (4) of FIG. 1.
In a multi-screen collaborative scene, after a screen-throwing device (such as a mobile phone) and a screen-throwing device (such as a computer) are connected (such as wired connection or wireless connection), the screen-throwing device can throw an interface image of the screen-throwing device onto the screen-throwing device for display. Alternatively, the device to be projected may be a device with an android operating system, and the device to be projected may be a device with a non-android operating system (such as Microsoft, windows, linux). Alternatively, the wireless connection may be a bluetooth connection, a near field communication (near field communication, NFC) connection, or a wireless fidelity (wireless fidelity, wiFi) connection, among other ways.
In a multi-screen collaboration scenario, one or more windows may also be displayed on the device being screened, where the one or more windows may be one or more of a window for an android application, a window for a An Zhuozhu interface, a window for a non-An Zhuozhu interface, a window for a non-android application, and the like.
Taking the screen-throwing device as a mobile phone and the screen-throwing device as a computer as an example, the mobile phone can throw the screen of the interface on the mobile phone to the computer for display. Illustratively, as shown in (1) of FIG. 3, the handset displays a main interface 300, wherein the main interface 300 includes icons of one or more android applications (e.g., music, sports health, smart life, video, etc., not described in any more detail herein), the computer displays a main interface 310, and the main interface 310 includes icons of one or more non-android applications (e.g., such as such a computer, mail, browser, etc.). The mobile phone can screen the currently displayed main interface 300 to the computer for display, and correspondingly, the computer receives the main interface 300 sent by the mobile phone, and the computer can display the screen-casting interface 320.
In some examples, the user may update the interface projected onto the computer via the cell phone. If the user updates the interface displayed on the mobile phone (or the user opens a new interface display on the mobile phone), the screen-throwing interface displayed on the computer is updated accordingly. As shown in (1) of fig. 3, the mobile phone detects a click operation such as a user on an icon 301 of a video application included in a main interface 300 on the mobile phone, and in response to the operation, as shown in (2) of fig. 3 or as shown in fig. 4, the mobile phone displays an operation interface 330 of the video application, at which time the interface displayed on the mobile phone is updated. Correspondingly, the mobile phone can display a new interface, namely an operation interface 330 of the video application, on the computer, and correspondingly, the screen-throwing interface displayed on the computer can be updated correspondingly when the new interface delivered by the mobile phone is received on the computer.
Alternatively, the computer may present an interface such as that shown in (2) of fig. 3. In this example, only one screen interface, i.e., screen interface 340, is displayed on the computer, and the screen interface may be the interface currently displayed by the mobile phone, such as the running interface 330 of the video application. Alternatively, the computer may present an interface such as that shown in FIG. 4. In this example, multiple screen interfaces, namely screen interface 320 and screen interface 340, may be displayed on the computer, where the multiple screen interfaces may be screen-projected by the same cell phone. The plurality of screen interfaces may include an interface currently displayed by the mobile phone (e.g., the running interface 330 of the music application), an interface previously displayed by the mobile phone (e.g., the main interface 300 of the mobile phone), and so on.
In the example shown in fig. 4, there are 3 windows displayed on the computer, namely, a window of a non-An Zhuozhu interface (i.e., the main interface 310), a window of a An Zhuozhu interface (i.e., the screen-drop interface 320), and a window of an android application (i.e., the screen-drop interface 340).
In other examples, the user may update the interface projected onto the computer by the computer, such as: the user can directly operate the screen projection interface on the computer through the input equipment (such as a mouse, a keyboard and the like) of the computer, so that the screen projection interface on the computer can be updated. As shown in fig. 5, the computer detects a click operation such as a user's icon 311 of a video application included in a screen-drop interface 320 displayed on the computer, and in response to the operation, the computer may present an interface such as the computer shown in fig. 3 (2) or fig. 4. Optionally, in this example, after the screen interface on the computer is updated, the interface displayed on the mobile phone may be updated, for example: the handset may display a running interface 330 for a video application as in fig. 3 (2) or as shown in fig. 4. Alternatively, the interface displayed on the mobile phone may not be updated, for example: the handset still displays a main interface 300 as in fig. 3 (1) or as described in fig. 5.
In some examples, as shown in fig. 6, before the computer displays the interface shown in fig. 4, the computer may first display the drop interface 340, i.e., first display an interface such as that shown in fig. 3 (2), including a button 341 in the drop interface 340, the button 341 being operable to display a newly opened interface (e.g., the drop interface 340) in a new window. Such as: the computer detects a click operation such as the user on the button 341, and in response to the operation, the computer re-presents the interface as shown in fig. 4.
Alternatively, in the above two examples, when the computer determines that a new interface (such as the screen-drop interface corresponding to the running interface 330 of the video application) is to be displayed, the computer may be default to the computer system, or may be set by the user through the computer and/or the mobile phone, by displaying in the manner shown in (2) in fig. 3 or displaying in the manner shown in fig. 4.
Alternatively, in other possible examples, when the computer determines that a new interface (such as the screen-drop interface corresponding to the running interface 330 of the video application) is to be displayed, before displaying the interface, a reminder message may be popped up to remind the user whether to display the new interface in the original window or to newly create a window, that is, remind the user whether to display the new interface in the manner shown in (2) in fig. 3 or in the manner shown in fig. 4, and in response to the user selecting the manner, the computer displays the interface in a corresponding manner according to the manner selected by the user.
Also, in this scenario, the user may also launch other windows on the computer, such as: a window of applications on a non-android operating system. Illustratively, the computer detects a click operation such as a user on an icon of a non-android application included in the main interface 310 of the computer such as that shown in fig. 3 (1), and in response to the operation, the computer may display one or more windows (not shown in the figure) of the non-android application. In this scenario, the computer may also present an interface such as that shown in (3) of FIG. 1 and/or (4) of FIG. 1.
Currently, users sometimes have a need to record and/or share windows other than the window of the An Zhuozhu interface. Recording, i.e., recording the application window content (image, audio, etc.) as a screen file (e.g., image file, audio file, video file, etc.). Sharing, i.e., sharing window content of an application on one device to another device. However, in a scenario such as the android simulator and the multi-screen collaboration described above, when a user starts a screen recording and/or sharing function through a window of an android application displayed on an electronic device, the electronic device renders data of a window of a An Zhuozhu interface into a surface (surface) provided by the android application by default, and then records and/or shares the data in the surface, so that only the window of the An Zhuozhu interface can be recorded and/or shared, and windows other than the window of the An Zhuozhu interface (such as a window of an android application, a window of a non-An Zhuozhu interface, and the like) cannot be recorded and/or shared. For a detailed description of the surface, reference is made to the following.
Illustratively, as shown in (1) in fig. 7, 4 windows are displayed on the computer, namely, a window 700 of the android application 1, a window 710 of the An Zhuozhu interface, a window 720 of the non-An Zhuozhu interface, and a window 740 of the non-android application. The manner in which these windows are opened is described above. The android application 1 may be any android application supporting a screen recording function. If the user wants to record the android application 1 window 700, the user clicks the android application 1 record button 701 to attempt to initiate recording of the android application 1 window 700. Alternatively, the record button 701 of the android application 1 may be directly displayed in the window 700 of the android application 1 (fig. 7 (1) is taken as an example), or the user may call up the record button 701 through other function buttons or menu bars included in the window 700 of the android application 1, which is not limited in this application.
However, in response to a click operation of the record button 701 of the android application 1 by a user, the computer renders the data of the window 710 of the interface An Zhuozhu to the surface provided by the android application 1, and then records the data in the surface, that is, as shown in (2) in fig. 7, the computer records the window 710 of the interface An Zhuozhu instead of the window 700 of the android application 1. Similarly, in a scenario where a user shares a window of an android application, a computer responds to an operation such as a user's operation for starting a sharing function of the window of the android application, and the computer shares a window of a An Zhuozhu interface instead of the window of the android application. That is, the device side shared by the computers displays a window of the An Zhuozhu interface instead of a window of the android application. Therefore, the existing scheme cannot realize the function of recording and/or sharing the windows of the android application. Likewise, windows of non-android applications, windows of non-An Zhuozhu interfaces, etc. cannot be recorded and/or shared. That is, in the existing solution, when the recording and/or sharing function is started through the android application, only the window of the An Zhuozhu interface can be recorded and/or shared.
Based on this, the embodiment of the application provides a method for recording and sharing a screen, and in a scene such as an android simulator, multi-screen collaboration, etc., windows except for a An Zhuozhu interface can also be recorded and/or shared, for example: one or more of a window of an android application, a window of a non-android application, a window of a main interface of a non-android operating system, and the like.
The technical scheme provided by the embodiment of the application can be applied to the electronic equipment provided with the android simulator or the electronic equipment serving as the screen equipment or a system comprising the electronic equipment. Such as: the electronic device may include a personal computer (personal computer, PC), a notebook computer, a tablet computer, a netbook, a handheld computer, an intelligent home device (e.g., an intelligent television, an intelligent screen, a large screen, an intelligent speaker, etc.), a vehicle-mounted computer, etc., which is not limited in any way by the embodiments of the present application. Optionally, the operating system carried by the electronic device includes, but is not limited toOr various non-android operating systems such as other operating systems.
In one example, the electronic device described above may include the structure of electronic device 800 as shown in fig. 8.
The electronic device 800 includes a processor 810, an external memory interface 820, an internal memory 821, a universal serial bus (universal serial bus, USB) interface 830, a charge management module 840, a power management module 841, a battery 842, a display 850, an antenna, a wireless communication module 860, an audio module 870, a speaker 870A, a receiver 870B, a microphone 870C, an ear-headphone interface 870D, an input device 880, and the like.
The processor 810 may include one or more processing units, such as: the processor 810 may include an application processor (Application processor, AP), a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a memory, a video codec, a digital signal processor (digital signal processor, DSP), and/or a neural network processor (neural-network processing unit, NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors.
The controller can generate operation control signals according to the instruction operation codes and the time sequence signals to finish the control of instruction fetching and instruction execution.
A memory may also be provided in the processor 810 for storing instructions and data. In some embodiments, the memory in processor 810 is a cache memory. The memory may hold instructions or data that the processor 810 has just used or recycled. If the processor 810 needs to reuse the instruction or data, it may be called directly from the memory. Repeated accesses are avoided and the latency of the processor 810 is reduced, thereby improving the efficiency of the system.
In some embodiments, the processor 810 may include one or more interfaces. The interfaces may include an integrated circuit (inter-integrated circuit, I2C) interface, an integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver transmitter (universal asynchronous receiver/transmitter, UART) interface, a mobile industry processor interface (mobile industry processor interface, MIPI), a general-purpose input/output (GPIO) interface, a subscriber identity module (subscriber identity module, SIM) interface, and/or a universal serial bus (universal serial bus, USB) interface, among others.
The charge management module 840 is for receiving charge input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charge management module 840 may receive a charging input of a wired charger through the USB interface 830. In some wireless charging embodiments, the charge management module 840 may receive wireless charging input through a wireless charging coil of the electronic device 800. The charging management module 840 may also provide power to the electronic device 800 through the power management module 841 while charging the battery 842.
The power management module 841 is configured to connect the battery 842, the charge management module 840 and the processor 810. The power management module 841 receives input from the battery 842 and/or the charge management module 840, and provides power to the processor 810, the internal memory 821, the external memory, the display 850, the wireless communication module 860, and the like. The power management module 841 may also be used to monitor battery capacity, battery cycle number, battery health (leakage, impedance) and other parameters. In other embodiments, the power management module 841 may also be disposed in the processor 810. In other embodiments, the power management module 841 and the charging management module 840 may also be provided in the same device.
The electronic device 800 implements display functions through a GPU, a display screen 850, and an application processor, etc. The GPU is a microprocessor for image processing, and is connected to the display 850 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 810 may include one or more GPUs that execute program instructions to generate or change display information.
The display 850 is for displaying images, videos, and the like. The display 850 includes a display panel. The display panel may employ a liquid crystal display (liquid crystal display, LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED) or an active-matrix organic light-emitting diode (matrix organic light emitting diode), a flexible light-emitting diode (flex), a mini, a Micro led, a Micro-OLED, a quantum dot light-emitting diode (quantum dot light emitting diodes, QLED), or the like. In the present embodiment, the display screen 850 is also referred to as a screen.
The wireless communication function of the electronic device 800 may be implemented by an antenna, a wireless communication module 860, and the like.
The antenna is used for transmitting and receiving electromagnetic wave signals. Each antenna in the electronic device 800 may be used to cover a single or multiple communication bands. Different antennas may also be multiplexed to improve the utilization of the antennas.
The wireless communication module 860 may provide solutions for wireless communication including wireless local area network (wireless local area networks, WLAN) (e.g., wireless fidelity (wireless fidelity, wi-Fi) network), bluetooth (BT), global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field wireless communication technology (near field communication, NFC), infrared technology (IR), etc., as applied to the electronic device 800. The wireless communication module 860 may be one or more devices that integrate at least one communication processing module. The wireless communication module 860 receives electromagnetic waves via an antenna, modulates the electromagnetic wave signals, filters the electromagnetic wave signals, and transmits the processed signals to the processor 810. The wireless communication module 860 may also receive signals to be transmitted from the processor 810, frequency modulate them, amplify them, and convert them to electromagnetic waves for radiation via an antenna.
In some embodiments, the antenna of the electronic device 800 and the wireless communication module 860 are coupled such that the electronic device 800 may communicate with a network and other devices through wireless communication techniques.
The digital signal processor is used for processing digital signals, and can process other digital signals besides digital image signals. For example, when the electronic device 800 is selecting a bin, the digital signal processor is used to fourier transform the bin energy, or the like.
Video codecs are used to compress or decompress digital video. The electronic device 800 may support one or more video codecs. Thus, the electronic device 800 may play or record video in a variety of encoding formats, such as: dynamic picture experts group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
The NPU is a neural-network (NN) computing processor, and can rapidly process input information by referencing a biological neural network structure, for example, referencing a transmission mode between human brain neurons, and can also continuously perform self-learning. Applications such as intelligent awareness of the electronic device 800 may be implemented through the NPU, for example: image recognition, face recognition, speech recognition, text understanding, etc.
The external memory interface 820 may be used to connect an external memory card, such as a Micro SD card, to enable expansion of the memory capabilities of the electronic device 800. The external memory card communicates with the processor 810 through an external memory interface 820 to implement data storage functions. For example, files such as music, video, etc. are stored in an external memory card.
The internal memory 821 may be used to store computer-executable program code that includes instructions. The processor 810 executes various functional applications of the electronic device 800 and data processing by executing instructions stored in the internal memory 821. The internal memory 821 may include a stored program area and a stored data area. The storage program area may store an application program (such as a sound playing function, an image playing function, etc.) required for at least one function of the operating system, etc. The storage data area may store data created during use of the electronic device 800 (e.g., audio data, phonebook, etc.), and so on. In addition, the internal memory 821 may include a high-speed random access memory, and may further include a nonvolatile memory such as at least one magnetic disk storage device, a flash memory device, a universal flash memory (universal flash storage, UFS), and the like.
Electronic device 800 may implement audio functionality through audio module 870, speaker 870A, receiver 870B, microphone 870C, ear speaker interface 870D, and an application processor. Such as music playing, recording, etc.
The audio module 870 is used to convert digital audio information into an analog audio signal output and also to convert an analog audio input into a digital audio signal. The audio module 870 may also be used to encode and decode audio signals. In some embodiments, the audio module 870 may be disposed in the processor 810 or some functional modules of the audio module 870 may be disposed in the processor 810.
Speaker 870A, also known as a "horn," is used to convert audio electrical signals into sound signals. The electronic device 800 may listen to music or the like through the speaker 870A.
Receiver 870B, also referred to as a "receiver," is configured to convert the audio electrical signal into a sound signal.
Microphone 870C, also referred to as a "microphone" or "microphone," is used to convert sound signals into electrical signals.
The earphone interface 870D is used to connect a wired earphone. Earphone interface 870D may be a USB interface 830 or a 3.5mm open mobile electronic device 800 platform (open mobile terminal platform, OMTP) standard interface, a american cellular telecommunications industry association (cellular telecommunications industry association of the USA, CTIA) standard interface.
The input device 880 may include a keyboard, a mouse, and the like. The keyboard is used to input english alphabets, numerals, punctuation marks, etc. into the electronic device 800, thereby giving commands, inputting data, etc. to the electronic device 800. The mouse is a pointer for the electronic device 800 to display the system aspect coordinate positioning, and is used for inputting instructions and the like to the electronic device 800. The input device 880 may be connected to the electronic device 800 through a wired connection, for example, the input device 880 is connected to the electronic device 800 through a GPIO interface, a USB interface, or the like. The input device 880 may also be connected to the electronic device 800 by wireless means, for example, the input device 880 may be connected to the electronic device 800 by bluetooth, infrared, etc.
It is to be understood that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the electronic device. In other embodiments of the present application, the electronic device may include more or less components than illustrated, or certain components may be combined, or certain components may be split, or different arrangements of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
The screen recording and sharing method provided by the embodiment of the application not only can record and share the window of the android application, but also can record and share the window of the non-android application and/or the window of the non-An Zhuozhu interface. The following describes in detail a method for recording and sharing a screen provided in an embodiment of the present application by taking an electronic device as an example of a computer, and referring to the accompanying drawings.
Fig. 9 illustrates an example of a scenario of a screen recording method according to an embodiment of the present application, where recording of a window of an android application may be implemented. As shown in fig. 9 (1), 4 windows are displayed on the computer, namely, a window 900 of the android application 1, a window 910 of the An Zhuozhu interface, a window 920 of the non-An Zhuozhu interface, and a window 930 of the non-android application. The android application 1 may be any android application supporting a screen recording function. The screen recording button 901 is included in the window 900 of the android application 1, and a user can start recording of the window 900 of the android application 1 through the screen recording button 901.
The computer detects an operation of the user for starting the recording function of the window 900 of the android application 1, for example: the user clicks the screen recording button 901, and in response to the operation, the data of the window 900 of the android application 1 is rendered into a surface provided by the android application 1, and then the data in the surface is acquired for recording (or called storing), and for this specific process, please refer to the following description. That is, as shown in (2) of fig. 9, the computer starts recording the window 900 of the android application 1. Illustratively, a "video recording" toolbar 902 may be displayed in the window 900 of the android application 1, and one or more of a recording duration, a pause continue button, an end button, etc. may be included in the "video recording" toolbar 902, and a user may implement pause recording or continue recording of the window 900 of the android application 1 through the pause continue button, implement stop recording of the window 900 of the android application 1 through the end button, etc.
Fig. 10 illustrates an example of a scenario of a further screen recording method according to an embodiment of the present application, where recording of a window of a non-android application and/or a window of a non-An Zhuozhu interface may be implemented. As shown in fig. 10 (1), 4 windows, namely, window 1000 of android application 2, window 1010 of An Zhuozhu interface, window 1020 of non-An Zhuozhu interface, and window 1030 of non-android application are displayed on the computer.
The window 1000 of the android application 2 comprises a screen recording button 1001, and a user can record a window of a non-android application or a window of a non-An Zhuozhu interface through the screen recording button 1001.
In some embodiments, the computer detects a click operation, such as a user clicking on a screen recording button 1001 included in a window 1000 of the android application 2, and in response to the operation, determines whether the android application 2 is a preset android application, if so, renders data of a window of a non-android application (i.e., a window 1030 of the non-android application) and/or data of a window of a non-An Zhuozhu interface (i.e., a window 1020 of a non-An Zhuozhu interface) into a surface provided by the android application 2, and then acquires the data in the surface for recording, and for this specific process, reference is also made to the following description. That is, as shown in (2) of fig. 10, the computer starts recording the window 1030 of the non-android application and the window 1020 of the non-An Zhuozhu interface. Alternatively, the "video recording" toolbar 1002 may also be displayed in window 1020 of the non-An Zhuozhu interface, and reference to the "video recording" toolbar 902 shown in fig. 9 (2) may be made to the description of the "video recording" toolbar 1002.
In some examples, the computer records both the window of the non-android application and the window of the non-An Zhuozhu interface by default (fig. 10 (2) exemplifies this). It will be appreciated that there may be multiple non-android application windows displayed on the computer at the same time, in this example, the multiple non-android application windows and the window of the non-An Zhuozhu interface may all be recorded. In other examples, the computer defaults to recording one of the window of the non-android application and the window of the non-An Zhuozhu interface. Optionally, in this example, the computer defaults to recording all non-android application windows, or to recording non-An Zhuozhu interface windows, or to selecting one of all non-android application windows and non-An Zhuozhu interface windows.
Of course, in the case where the android application 2 is not a preset android application, the computer may record a window of the non-android application and/or a window of the non-An Zhuozhu interface, which is not particularly limited in this application. In still other examples, a window may be selected by the user for recording. Illustratively, as shown in fig. 11, in response to a click operation by a user on a screen recording button 1001 included in a window 1000 of an android application 2 shown in fig. 10 (1), the computer displays a reminder message 1100, and the reminder message 1100 can be used to remind the user to select a window to be recorded. Illustratively, one or more options for the non-android application window displayed on the computer are included in the alert message 1100, such as: the window of application 4 (i.e., the non-android application window 1030 depicted in fig. 10 (1)), and a window of the non-android Zhuo Zhu interface (or the computer host interface window, i.e., the non-An Zhuozhu interface window 1020 depicted in fig. 10 (1)).
The user may desire to select a window that is desired to be recorded, such as: if the user wants to record the window of the application 4, the user selects the window of the application 4, the computer detects the operation of the user for selecting the window of the application 4, and in response to the operation, the computer starts recording the window of the application 4 (not shown in the figure).
In still other examples, the user may also preset a window to be recorded, such as: and setting a window for preferentially recording the android application. Or, the priority order of the android application window, the non-android application window and the window of the non-An Zhuozhu interface is set to be from high to low, recording is carried out according to the priority order, and when the window with high priority does not exist, the window with low priority is recorded again. It will be appreciated that the foregoing order of priority is by way of example only, and that the order of priority may be other orders. Alternatively, the user may set to record only a certain window, such as: only windows of the android application are recorded, or only windows of the non-android application are recorded, etc.
It should be noted that the methods described in the examples above may also be used in combination, and the implementation of which window is specifically recorded is not limited in this application.
It will be appreciated that the display positions of the screen recording buttons, the "video recording" toolbar, etc. shown in fig. 9 and 10 are only one possible example, and the screen recording buttons may be displayed in other positions, such as a menu bar, a function button, the "video recording" toolbar may be located at other interfaces or positions, and the "video recording" toolbar may also include other information or buttons, which is not limited in this application.
Fig. 12 illustrates an example of a screen sharing method according to an embodiment of the present application. In this scenario, sharing of the windows of the android application can be achieved, as shown in (1) in fig. 12, 4 windows are displayed on the computer, which are windows 1200 and An Zhuozhu of the android application 3, a window 1220 of a non-An Zhuozhu interface, and a window 1230 of the non-android application. The android application 3 may be any android application supporting a screen sharing function. Alternatively, the android application 3 and the android application 1 described in fig. 9 may be the same application or different applications. That is, the same application may support both screen recording and sharing functions, or may support only one of them. Wherein a shared screen button 1201 is included in the window 1200 of the android application 3, and a user can start sharing of the window 1200 of the android application 3 through the shared screen button 1201.
The computer detects an operation by the user for starting the sharing function of the window 1200 of the android application 3, such as: the user clicks the share screen button 1201, and in response to this operation, the data of the window 1200 of the android application 3 is rendered into a surface provided by the android application 3, and then the data in the surface is acquired for sharing (or forwarding), and for this specific process, please refer to the following. That is, as shown in (2) of fig. 12, the computer starts sharing the window 1200 of the android application 3. Optionally, a stop sharing button 1202 may also be displayed in the window 1200 of the android application 3, and the user may implement stop sharing of the window 1200 of the android application 3 through the stop sharing button 1202, and so on. Illustratively, as shown in (3) in fig. 12, the sharing interface displayed on the side of the device (such as a tablet computer) shared by the computers is a window 1200 of the android application 3.
Fig. 13 illustrates an example of a scenario of a further screen sharing method according to an embodiment of the present application, where recording of a window of a non-android application and/or a window of a non-An Zhuozhu interface may be implemented. As shown in fig. 13 (1), 4 windows, namely, a window 1300 of the android application 3, a window 1310 of the An Zhuozhu interface, a window 1320 of the non-An Zhuozhu interface, and a window 1330 of the non-android application are displayed on the computer.
The window 1300 of the android application 3 includes a shared screen button 1301, and a user can share a window of a non-android application or a window of a non-An Zhuozhu interface through the shared screen button 1301.
In some embodiments, the computer detects a click operation, such as a user clicking on a shared screen button 1301 included in a window 1300 of the android application 3, and in response to the operation, determines whether the android application 3 is a preset android application, if so, renders data of a window of a non-android application (i.e., a window 1330 of the non-android application) and/or data of a window of a non-An Zhuozhu interface (i.e., a window 1320 of the non-An Zhuozhu interface) into a surface provided by the android application 3, and then acquires the data in the surface for sharing, and for this specific process, reference is also made to the following description. That is, as shown in fig. 13 (2), the computer starts sharing the window 1330 of the non-android application and the window 1320 of the non-An Zhuozhu interface. Optionally, a stop sharing button 1302 may also be displayed in the window 1320 of the non-An Zhuozhu interface, and the user may implement a stop sharing of the window 1330 of the non-android application and/or the window 1320 of the non-An Zhuozhu interface through the stop sharing button 1302, etc. Illustratively, as shown in fig. 13 (3), the shared interface displayed on the side of the device shared by computers (such as tablet computer) is a window 1330 of non-android application and a window 1320 of non-An Zhuozhu interface.
In some examples, the computer defaults to sharing both the window of the non-android application and the window of the non-An Zhuozhu interface (fig. 13 exemplifies this). It will be appreciated that there may be multiple non-android application windows displayed on the computer at the same time, and that this example may share all of the multiple non-android application windows. In other examples, the computer defaults to sharing one of the window of the non-android application and the window of the non-An Zhuozhu interface. Optionally, in this example, the computer defaults to share all the non-android application windows, or to share the non-An Zhuozhu interface windows, or to select one of all the non-android application windows and the non-An Zhuozhu interface windows.
Of course, in the case where the android application 2 is not a preset android application, the computer may also share a window of the non-android application and/or a window of the non-An Zhuozhu interface, which is not particularly limited in this application. In still other examples, a window that needs to be shared may also be selected by the user. Illustratively, as shown in fig. 14, in response to a click operation by a user on a shared screen button 1301 included in a window 1300 of the android application 3 shown in fig. 13 (1), the computer may display a selection interface 1400, wherein one or more windows of non-android applications are included in the selection interface 1400, such as: a window for application 4 (i.e., window 1330 for non-android applications as shown in fig. 13 (1)), and a window for a non-android Zhuo Zhu interface, such as a window for a computer host interface (i.e., window 1320 for a non-An Zhuozhu interface as shown in fig. 13 (1)).
The user can select the window to be shared according to the requirement, for example: if the user wants to share the window of the application 4 at this time, the user selects the window of the application 4 and clicks the confirm sharing button 1401, and the computer starts sharing the window of the application 4 in response to the user's operation. Illustratively, the sharing interface displayed on the side of the computer-shared device (such as a tablet computer) is a window (not shown) of the application 4.
In still other examples, the user may also preset a window that needs to be shared, such as: and setting a window which preferentially shares the android application, or preferentially shares a window of the non-android application and/or a window of the non-An Zhuozhu interface. Or, the priority order of the android application window, the non-android application window and the window of the non-An Zhuozhu interface is set to be from high to low, sharing is carried out according to the priority order, and when the window with high priority does not exist, the window with low priority is shared again. It will be appreciated that the foregoing order of priority is by way of example only, and that the order of priority may be other orders. Alternatively, the user may set to share only a certain window, such as: only windows of android applications are shared, or only windows of non-android applications are shared, etc.
It should be noted that the methods described in the examples above may also be used in combination, and the present application is not limited in any way to the implementation of which window is specifically shared.
Optionally, the shared time (not shown) may also be included in the screen sharing interface shown in fig. 12 and/or 13.
Similarly, the display positions of the shared screen button, the stop shared button, and the like shown in fig. 12 and 13 are just one possible example, and the shared screen button, the stop shared button, and the like may be displayed at other positions or brought up for display by other function buttons, menu bars, and the like, which are not limited in this application.
The above scenario is described by the user starting only one function of screen recording and screen sharing, but the user may also start the functions of screen recording and screen sharing at the same time, for example: a screen recording button and a screen sharing button can be included in a window of the android application, and a user can start functions of screen recording and screen sharing through the screen recording button and the screen sharing button respectively. Alternatively, the functions of the screen recording button and the screen sharing button may be implemented by one button or may be implemented by a plurality of buttons, which is not limited in this application.
It can be understood that the example of the screen recording and sharing method shown in fig. 9 to 14 is described by using a non-android application window and an android application window displayed on a computer, and the screen recording and sharing method provided in the embodiment of the present application is applicable to the case of displaying multiple non-android application windows and multiple android application windows. The opening manners of each window in fig. 9 to 14 may refer to the opening manners of each window in the above-mentioned scenes such as the android simulator, the multi-screen collaboration, and the like, and will not be described herein. It should be noted that, the windows of the android applications and the windows of the An Zhuozhu interface shown in fig. 9 to 14 may be opened and displayed on the computer in the android simulator scene, or may be displayed on the computer by being projected by other devices in the multi-screen scene.
In some embodiments, when the screen recording and/or sharing function is started through a preset android application (such as an on-line application), the recording and/or sharing function of a window of a non-android application or a window of a non-An Zhuozhu interface can be realized. When the screen recording and/or sharing function is started through the non-preset android application, the function of recording and/or sharing the window of the android application can be realized, and the preset android application can be set by a developer according to actual requirements.
In other embodiments, without presetting android applications, when a screen recording and/or sharing function is started through one android application, prompt information (such as voice broadcast prompt information, display screen display prompt information, etc.) can be output first, and the user is reminded to select a window that is desired to be recorded and/or shared through the prompt information, such as: one or more window options are included in the prompt, such as: one or more android application windows, one or more non-android application windows, non-An Zhuozhu interface windows, and the like. Alternatively, the android application included in the prompt information may include only the android application for initiating the screen recording and/or sharing function, and may also include android applications other than the android application for initiating the screen recording and/or sharing function, which is not particularly limited in this application.
In the embodiment of the present application, each interface is only a schematic diagram, and does not constitute a limitation of the present application. In practical applications, more or less content may be included in each interface, and more or less interfaces may be included, which are collectively described herein.
The principles of recording and/or sharing windows of an android application by an electronic device are described below in connection with fig. 15 and 16.
In some embodiments, the android application runs under the android operating system, and the android operating system may run in a non-android operating system installed with an android simulator, and in fig. 15 and 16, the non-android operating system is taken as a Windows system as an example.
The android operating system may adopt a layered architecture, an event driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture. As shown in FIG. 15, embodiments of the present application are configured in a hierarchical architectureThe system is exemplified by an electronic systemPrinciple of recording and/or sharing windows of android applications by devices.
The layered architecture divides the software into several layers, each with distinct roles and branches. The layers communicate with each other through a software interface. In some embodiments, as shown in fig. 15, the android operating system includes at least three layers, from top to bottom, an application layer, a framework layer, and a native service layer.
The application layer may include a series of android application packages. These android application packages may include one or more android applications of applications supporting a screen recording function (abbreviated as screen recording applications), applications supporting a screen sharing function (abbreviated as screen sharing applications), applications not supporting a screen recording function (abbreviated as non-screen recording applications), applications not supporting a screen sharing function (abbreviated as non-screen sharing applications), and the like. Only the screen recording application, screen sharing application are shown in fig. 15.
It will be appreciated that an android application may support both the screen recording function and the screen sharing function, or may support only one of them, or may not support both functions. In addition, the application layer comprises the application which is correspondingly provided with the icon, and the icon can be displayed to a user through the display screen, so that the user can click the icon of the application to open the application or perform other operations.
After the application layer is started, a window corresponding to the application is generated in the android operating system. Such as: as shown in (2) in fig. 1, the electronic device detects a click operation such as a user on the icon 111 of the application 1, and starts the application 1. Thus, after an android application is started, a window corresponding to the application is generated in the android operating system.
The framework layer of the android system includes a window management service (window manager service, WMS), a display management service (display manager service, DMS), a multimedia project (media project) module, and the like.
WMSs may be used for window management (e.g., adding windows, deleting windows, modifying windows, etc.). One window corresponds to one surface. The surface corresponds to a data buffer area, on one hand, the surface can be used for an application of an application layer to draw data in the data buffer area, and the drawn data is put into a buffer queue (buffer queue) so as to realize display of a window of the application. On the other hand, it can also be used for surface synthesis (SurfaceFlinger) services to draw data (or rendering data) into it to enable recording and/or sharing of windows of applications.
The DMS may be used to manage the lifecycle of the display (display). The DMS may create a corresponding Display for each Window, and establish a one-to-one correspondence between windows and displays, that is, establish a one-to-one correspondence between Window identifiers (Window IDs) and Display identifiers (Display IDs). The display is a display area on the screen of the electronic device, and the display area may be called as a logic display (or logic display device (logical display device)), where data of a window is carried in the logic display.
The multimedia item module may be used to intercept current screen and record screen video, etc.
The local service layer comprises a surface synthesis (surface eFlinger) service, and on one hand, the surface eFlinger service is used for acquiring the surface (surface) drawn by the android application from the buffer queue and synthesizing the surface to realize the display of the window of the application. On the other hand, the SurfaceFlinger service is used for rendering data in a surface provided by an application of an application layer so as to record and/or share windows of the application. It will be appreciated that the surface eFinger service renders a surface, i.e., renders the memory to which the surface corresponds.
The android simulator comprises an android application window information module, wherein the android application window information module can be used for storing the corresponding relation between a window and a Display ID, such as: window ID and Display ID. It should be noted that, in fig. 15, the function of the android application window information module is implemented by an android simulator; in other embodiments, the function of the android application window information module may also be implemented by a Windows system.
In some embodiments, a user may initiate recording and/or functionality of an android application at an application layer such that after recording and/or sharing functionality of an android application is turned on, the android application provides a surface to a framework layer.
The framework layer then invokes the DMS through a mediaproject module, WMS, etc. The DMS creates a virtual display device (virtual display device) (or virtual display) corresponding to a surface provided by the android application through a createvirtualdbisplay function. It will be appreciated that the virtual display device may be used to mirror data in a logical display to enable recording and/or sharing of data in the logical display.
And, the DMS obtains the Display ID corresponding to the window of the android application from the android application window information module, for example: the DMS can determine the corresponding Display ID according to the corresponding relation between the Window ID and the Display ID stored in the android application Window information and the Window ID of the Window of the android application. Then, the DMS binds the created virtual Display device corresponding to the android application with the obtained logical Display corresponding to the Display ID.
Subsequently, the surface eFlink service renders the data in the logic Display corresponding to the Display ID to the surface corresponding to the virtual Display device, namely the surface provided by the android application of the application layer. Finally, the android application can complete recording and/or sharing by acquiring the surface corresponding to the rendered virtual display device.
By way of example, in connection with the architecture shown in fig. 15, fig. 16 shows a flowchart of a method for recording and/or sharing a window of an android application according to an embodiment of the present application, as shown in fig. 16, where the method includes the following steps:
s1601, the electronic device receives a user operation.
Wherein the user operates a function for starting screen recording and/or sharing of the android application. Illustratively, the user operation may be a click operation such as a screen recording button 1001 included in a window 1000 of the application 2 as shown in (1) in fig. 9, or a click operation such as a shared screen button 1201 included in a window 1200 of the application 3 as shown in (1) in fig. 12.
Alternatively, in a scenario such as an android simulator, the user operation may be an operation of the electronic device by the user. In a scenario such as multi-screen collaboration, the user operation may be an operation of the electronic device (or referred to as a screen-throwing device) by the user, or an operation of the screen-throwing device by the user. Optionally, the screen projection device may also send the operation of the user to the screen projection device. The present application does not impose any limitation on the user operation.
S1602, android applications of the application layer provide surface to the framework layer.
The android application is an android application for the function of the user start screen recording and/or sharing in step S1601. The description of the application layer and framework layer is described with reference to fig. 15.
S1603, the framework layer acquires a Display (Display) ID from the Windows system.
The Display ID is a Display ID corresponding to the logical Display corresponding to the window of the android application. Such as: the framework layer may obtain the Display ID according to the corresponding relationship between the Window ID and the Display ID, and the Window ID corresponding to the Window of the android application. The Window ID corresponding to the Window of the android application may be determined according to a surface provided by the android application.
S1604, window system returns Display ID to the frame layer.
S1605, the framework layer creates a virtual display device corresponding to the surface.
The surface is provided for android application of the application layer. Illustratively, the framework layer may create the virtual display device through a createvirtualdlisplay function.
The execution order of the steps S1603, S1604, and S1605 is not limited in the present application.
S1606, the framework layer binds the virtual display device with the logical display.
The framework layer may determine a corresponding logical Display according to the acquired Display ID, and bind the logical Display with the virtual Display device. It can be appreciated that the purpose of binding the virtual display device with the logical display is to render the data in the logical display into the surface corresponding to the virtual display device, that is, the memory of the surface corresponding to the virtual display device.
Illustratively, the framework layer may bind the virtual display device to the logical display through one or more functions in addLogicalDisplayLocked, newLogicalDisplay, configureDisplayLocked, etc.
S1607, rendering the data in the logic display to a surface by the framework layer.
The framework layer renders the data in the logic display to the surface corresponding to the bound virtual display device, and in step S1602, the surface is provided by the android application of the application layer, and the android application obtains the surface corresponding to the virtual display device after rendering, so that recording and/or sharing can be completed.
Illustratively, the framework layer may render the surface provided by the android application through a setSurfaceLocked function.
The principles of recording or sharing a window of a non-android application and/or a window of a non-An Zhuozhu interface by an electronic device are described below in connection with fig. 17 and 18.
In some embodiments, the android operating system may run in a non-android operating system with an android simulator installed, and the non-android operating system is also exemplified as a Windows system in FIGS. 17 and 18.
In a layered architectureThe system is an example, and the layered architecture divides the software into several layers, each with distinct roles and branches. The layers communicate with each other through a software interface. In some embodiments, as shown in fig. 17, the android operating system includes at least three layers, namely, an application layer, a framework layer, and a local service layer from top to bottom. The description of the application layer may be described with reference to fig. 15.
The framework layer comprises a multimedia item module and a communication module. The description of the multimedia item module may be described with reference to fig. 15. The communication module may be used for communication between the android system and the android simulator, and/or communication between the framework layer and the local service layer.
The local service layer comprises a newly added rendering module and a SurfaceFlinger service. The relevant description of the surfacefliger service may be referred to the relevant description of the surfacefliger service described in fig. 15. The newly added rendering module is used for matching with the surface eFlinger service to complete the rendering of the surface.
The android simulator comprises a communication module, a Windows window grabbing module and a rendering control (render control) module. The communication module is used for communication between the android system and the android simulator, and an exemplary technology adopted by the communication module may be qemu pipe technology, which is not described in detail herein in view of the fact that qemu pipe technology is the prior art. The Windows window grabbing module is used for acquiring data of a window of the non-android application and/or data of a window of the non-An Zhuozhu interface. In some embodiments, the Windows window grabbing module may use a graphics device interface (graphics device interface, GDI) technology to obtain data of a window of a non-android application and/or data of a window of a non-An Zhuozhu interface, and in view of the GDI technology being the prior art, which is not described in detail herein, although the Windows window grabbing module may also use other technologies to obtain data of a window of a non-android application and/or data of a window of a non-An Zhuozhu interface, which is not limited in this application. The rendering control module is used for rendering the surface, namely filling data into the memory corresponding to the surface.
It should be noted that, in fig. 17, the functions of the communication module, the Windows capturing module, and the rendering control module are implemented by an android simulator; in other embodiments, the functionality of one or more of the communication module, the Windows window grabbing module, the rendering control module, etc. may also be implemented by a Windows system.
In some embodiments, the user initiates recording or sharing functions of the android application of the application layer, such as: as shown in (1) of fig. 9, the user can start the screen recording function of application 2 through a screen recording button 1001 included in the window 1000 of application 2; alternatively, as shown in (1) in fig. 12, the user can start the screen sharing function of the application 3 through the sharing screen button 1201 included in the window 1200 of the application 3. Thus, after the recording or sharing functionality of an android application is turned on, the android application provides a surface to the framework layer.
Then, the framework layer receives a surface provided by the android application through the multimedia item module, and the multimedia item module transmits the surface to the newly added rendering module.
The newly added rendering module can apply for a memory corresponding to the surface from a buffer queue (buffer) through a dequeue function, and the memory is called color buffer. It will be appreciated that in the producer-consumer model, data transfer between producer and consumer is accomplished through a buffer queue, such as: the producer can apply color buffer from the buffer queue through the dequeue function, write data into the color buffer, after the writing is finished, the color buffer can be put back to the buffer queue through the queue function, and then the consumer can read data from the buffer queue.
Then, the newly added rendering module locks the color buffer through a lock function so as to prevent other threads from occupying the color buffer. Subsequently, a handle (handle) of the color is acquired, and the handle is passed to the communication module of the framework layer. It can be understood that the handle is an address index of a color, and the color can be found by the handle.
The communication module of the framework layer transmits the acquired handle to the communication module of the android simulator, and the communication module of the android simulator can transmit the handle to the rendering control module. The android simulator searches for the corresponding color buffer through the handle, wherein the color buffer is the color buffer corresponding to the surface provided by the android application of the application layer. After the color is found, a communication module in the android simulator informs a newly added rendering module to update the color.
Correspondingly, after the newly added rendering module receives the notification of updating the color buffer, the color buffer can be unlocked by adopting an unlock function, the color buffer is updated, and after the updating is completed, the android simulator is notified to render the color buffer through the communication module of the framework layer.
Correspondingly, after receiving a notification of rendering color, a communication module in the android simulator acquires data in a window of a non-android application and/or data in a window of a non-An Zhuozhu interface through a Windows window grabbing module, and sends the acquired data to a rendering control module, wherein the rendering control module renders the acquired data to the color corresponding to a handle, namely renders the acquired data to a surface provided by the android application. And then, the communication module of the android simulator informs the newly added rendering module to execute the operation of the queue buffer, namely, the rendered color buffer is put into a buffer queue.
In some examples, if the electronic device records or shares both the non-android application window and the non-An Zhuozhu interface window by default, the Windows window grabbing module obtains data in all the non-android application Windows and data in the non-An Zhuozhu interface Windows on the current electronic device. In other examples, if the electronic device records or shares only a part of the Window of the non-android application and a part of the Window of the non-An Zhuozhu interface, the electronic device may determine the Window to be recorded or shared according to the information (such as Window ID) of the Window to be recorded, so as to acquire the data in the corresponding Window.
Correspondingly, after the newly added rendering module receives the notification of executing the queue buffer operation, the operation of the queue buffer is executed, for example: the newly added rendering module can put color into a buffer queue through a queue function. Finally, the SurfaceFlinger service performs rendering synthesis on the data in the buffer queue, so that the data in the window of the non-android application and/or the window of the non-An Zhuozhu interface can be recorded.
It will be appreciated that the modules or services included in the layers of the layered architecture shown in fig. 15 and 17 are for illustrative purposes only and that other divisions are possible, such as: the surface synthesis (surfeflinger) module may also be located at the application layer, which is not limited in this application.
By way of example, with reference to the structure shown in fig. 17, fig. 18 shows a flowchart of a method for recording or sharing a window of a non-android application and/or a window of a non-An Zhuozhu interface, where, as shown in fig. 18, the method includes the following steps:
s1801, the electronic device receives a user operation.
The description of this step may be referred to the related description of step S1601 in fig. 16.
S1802, android applications of the application layer provide surfaces to the framework layer.
The android application is an android application with the function of screen recording or sharing started by the user in step S1801. The description of the application layer and framework layer is described with reference to fig. 17.
S1803, the framework layer applies for color according to the surface and locks the color.
For example: the framework layer can apply for a color buffer corresponding to the surface from the buffer queue, and then lock the color buffer through a lock function.
S1804, the framework layer sends a handle corresponding to the color buffer to the Windows system. Correspondingly, the Windows system receives the handle corresponding to the color.
S1805, setting a handle in the Windows system.
The Windows system may find the corresponding color buffer according to the handle.
S1806, the Windows system sends a first message to the framework layer. Accordingly, the framework layer receives the first message.
The first message is used for indicating the frame layer to update the color.
S1807, unlocking a framework layer and updating a color.
S1808, the framework layer sends a second message to the Windows system. Correspondingly, the Windows system receives the second message.
The second message may be used to instruct the Windows system to render the color.
S1809, rendering color by the Windows system.
The Windows system acquires data in a window of the non-android application and/or data in a window of a main interface of the non-android application, and renders the acquired data into a color buffer, namely fills the data into the color buffer.
S1810, the Windows system sends a third message to the framework layer.
The third message is used for indicating the framework layer to put the color buffer back to the buffer queue.
S1811, the framework layer puts the color buffer back into the buffer queue.
That is, the framework layer performs the operation of the queue buffer operation.
S1812, the framework layer processes the data in the buffer queue.
And the frame layer performs operations such as rendering synthesis and the like on the data in the buffer queue, so that the window of the non-android application and/or the window of the non-An Zhuozhu interface can be recorded.
It will be appreciated that in the embodiments of the present application, the method flows shown in fig. 16 and fig. 18 are only used as an example, and the electronic device may perform some or all of the steps in fig. 16 or fig. 18, these steps or operations are only examples, and the electronic device may also perform other operations or variations of the various operations. Furthermore, the various steps may be performed in a different order presented in accordance with embodiments of the present application, and it is possible that not all of the operations in the embodiments of the present application may be performed.
In some embodiments, after the user starts the recording and/or sharing function of the android application, the electronic device may determine whether the android application is a preset android application according to one or more of a package name of an application package of the android application, an identifier (such as a display name) of a virtual reality device corresponding to a surface provided by the android application, and the like, and in a case that the android application is determined to be the preset android application, the electronic device may record and/or share a window of a non-android application and/or a window of a non-An Zhuozhu interface, that is, the electronic device may perform a process or a method described in fig. 17 and fig. 18. In the case where the android application is determined to be a non-preset application, the electronic device may record and/or share the window of the android application, i.e., the electronic device may perform the processes or methods described in fig. 15 and 16.
It should be noted that, fig. 15 to fig. 18 are described in terms of an android operating system and a Windows operating system both running in an electronic device (such as an android simulator scene), and the android operating system and the Windows operating system may also run in different electronic devices, such as a multi-screen collaboration scene, where the method provided in the embodiments of the present application is also applicable.
Fig. 19 is a schematic flow chart of a method for recording and sharing a screen according to an embodiment of the present application, where the method includes the following steps:
s1901, the electronic device receives a target operation of a user within a first window of the electronic device.
The first window is a window of the first application. The first application runs in the android operating system, namely the first application is an android application.
The target operation may be used to initiate screen recording and/or sharing functions. By way of example, the target operation may be a trigger operation of a screen-recording button, a shared screen button, or the like included in the first window.
And S1902, responding to the target operation, and recording and/or sharing the target window of the electronic device by the electronic device.
The target window is a first window or a second window, the second window is a window of a second application, and the second application is operated in the non-android operating system. It is to be appreciated that the second application can include one or more non-android applications and the target window can include one or more windows. In embodiments of the present application, the non-An Zhuozhu interface may also be referred to as a second application.
Optionally, the window of the second application includes one or more of a window of a main interface of the non-android operating system and a window of an application in the non-android operating system.
Based on the scheme, after receiving the operation of starting the recording and/or sharing function of the android application by the user, the electronic device can acquire the data of the window of the android application, or acquire the data of the window of the non-android application and/or the window of the non-An Zhuozhu interface, so as to record and/or share one or more of the window of the android application, the window of the non-An Zhuozhu interface and the like.
Optionally, the android operating system and the non-android operating system may be both installed in the electronic device, or some of the systems may be installed in devices other than the electronic device, for example: the non-android operating system is mounted in the electronic equipment, and the android operating system is mounted in other equipment in the system.
In some embodiments, the electronic device may implement recording and/or sharing the first window by a method shown in fig. 20, and illustratively, as shown in fig. 20, the method includes the following steps:
s2001, the android operating system acquires the identification of the first display device corresponding to the first window from the non-android operating system.
The first display device is used for bearing data of the first window. Illustratively, the first Display device may be a logical Display device, and the identification of the first Display device may be the Display ID described above. Such as: and storing a corresponding relation between the identification of the first window and the identification of the first display device in the non-android operating system, wherein the android operating system can acquire the identification of the corresponding first display device according to the identification of the first window.
S2002, the android operating system acquires data of the first window according to the identification of the first display device.
The android operating system can acquire data carried by the first display device, namely data of the first window, according to the identification of the first display device.
And S2003, recording and/or sharing the data of the first window by the android operating system.
The android operating system may render the data of the first window to the memory of the first surface corresponding to the second display device, and the description of the surface may be referred to above. The second display device is created from the first surface, illustratively the second display device is the logical display device described above. The first surface corresponds to the first application, that is, the surface provided by the first surface for the first application. And the android operating system records and/or shares the data in the memory of the first surface corresponding to the rendered second display device, so that the data of the first window can be recorded and/or shared.
In the prior art, when the electronic device starts the screen recording and/or sharing function of the android application, the electronic device defaults to record a window corresponding to the Display ID of 0 (i.e., a window of the An Zhuozhu interface). According to the method and the device, based on the scheme, the android operating system can obtain the Display ID corresponding to the window of the android application from the non-android operating system, and the data of the window of the android application can be obtained according to the Display ID, so that the window of the android application can be recorded.
In other embodiments, the electronic device may record and/or share the second window by using the method shown in fig. 21, and as shown in fig. 21, the method includes the following steps:
s2101, the android operating system acquires data of a second window from the non-android operating system.
Specifically, the non-android operating system may acquire data of the second window, and then render the data of the second window to the memory of the second surface. The memory of the second surface is determined by the android operating system, for example: the android operating system can apply for the memory of the second surface from the buffer queue. The second surface corresponds to the first application, i.e. the second surface is provided by the first application. And finally, the non-android operating system sends the data in the internal memory of the rendered second surface to the android operating system, and correspondingly, the android operating system receives the data in the internal memory of the rendered second surface, namely the data of the second window.
Optionally, before this step, the android operating system may determine the memory of the second surface, and then send a target handle to the non-android operating system, where the target handle is used to indicate the address of the memory of the second surface. Thus, the non-android operating system can determine the memory of the second surface according to the target handle.
And S2102, recording and/or sharing the data of the second window by the android operating system.
The android operating system records and/or shares the data in the internal memory of the rendered second surface, and then the data of the second window can be recorded and/or shared.
Based on the technical scheme, when the electronic device starts the screen recording and/or sharing function of the android application, the android operating system can acquire data of a window of the non-android application and/or data of a window of a non-An Zhuozhu interface from the non-android operating system, for example: the android operating system can intercept surface provided by the android application, and does not execute the native rendering logic any more, wherein the native rendering logic is as follows: the android operating system renders the data of the window with the Display ID of 0 into the surface by default, but the surface application memory provided for the android application is re-provided, then the memory address of the surface is transmitted to the non-android operating system, the non-android operating system can render the data of the window of the non-android application and/or the data of the window of the non-An Zhuozhu interface into the surface, and then the rendered surface is sent to the android operating system, so that the recording and/or sharing of the data in the surface can be realized, namely the recording and/or sharing of the window of the non-android application and/or the window of the non-An Zhuozhu interface can be realized.
The foregoing description of the solution provided in the embodiments of the present application has been mainly presented in terms of a method. It will be appreciated that the electronic device, in order to achieve the above-described functions, includes corresponding hardware structures and/or software modules that perform the respective functions. The various example units and algorithm steps described in connection with the embodiments disclosed herein may be embodied as hardware or a combination of hardware and computer software. Whether a function is implemented as hardware or computer-driven hardware depends upon the particular application and design constraints imposed on the solution. Those skilled in the art may implement the described functionality using different approaches for each particular application, but such implementation is not to be considered as beyond the scope of the embodiments of the present application.
In the embodiment, the electronic device may be divided into functional modules according to the above method examples, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing unit. The integrated units may be implemented in hardware or in software functional modules. It should be noted that, in the embodiment of the present application, the division of the units is schematic, which is merely a logic function division, and other division manners may be implemented in actual practice.
As shown in fig. 22, a schematic structural diagram of an electronic device provided in an embodiment of the present application, where the electronic device 2200 may be used to implement the methods described in the above method embodiments. By way of example, the electronic device 2200 may include: a processing unit 2201, a display unit 2202.
Wherein the processing unit 2201 is configured to execute the support electronic device 2200 to execute steps S1601 to S1607 in fig. 16. And/or the processing unit 2201 is configured to execute the support electronic device 2200 to execute steps S1801 to S1812 in fig. 18. And/or the processing unit 2201 is configured to execute the supporting electronic device 2200 to execute steps S1901 to S1902 in fig. 19. And/or the processing unit 2201 is configured to execute the support electronic device 2200 to execute steps S2001 to S2003 in fig. 20. And/or the processing unit 2201 is configured to execute the supporting electronic device 2200 to execute steps S2101 to S2102 in fig. 21. And/or the processing unit 2201 is further configured to enable the electronic device 2200 to perform other steps performed by the electronic device in embodiments of the present application.
The display unit 2202 is used to support the electronic device 2200 to display one or more windows displayed by the computer in fig. 9 to 14. And/or the display unit 2202 is further configured to support the electronic device 2200 to perform other display operations performed by the electronic device in embodiments of the present application.
Optionally, the electronic device 2200 shown in fig. 22 may further include a communication unit 2203, where the communication unit 2203 is configured to support the electronic device 2200 to perform a step of communicating between the electronic device and other electronic devices in the embodiment of the present application.
Optionally, the electronic device 2200 shown in fig. 22 may further include a storage unit (not shown in fig. 22) storing programs or instructions. The processing unit 2201, when executing the program or instructions, enables the electronic device 2200 shown in fig. 22 to perform the method shown in any of fig. 16, 18-21.
The technical effects of the electronic device 2200 shown in fig. 22 may refer to the technical effects of the methods shown in fig. 16, 18 to 21, and will not be described here again. The processing unit 2201 involved in the electronic device 2200 shown in fig. 22 may be implemented by a processor or processor-related circuit components, which may be a processor or a processing module. The communication unit 2203 may be implemented by a transceiver or a transceiver related circuit component, and may be a transceiver or a transceiver module. The display unit 2202 may be implemented by a display screen related component.
Embodiments of the present application also provide a chip system, as shown in fig. 23, comprising at least one processor 2301 and at least one interface circuit 2302. The processor 2301 and the interface circuit 2302 may be interconnected by wires. For example, the interface circuit 2302 may be used to receive signals from other devices. For another example, the interface circuit 2302 may be used to send signals to other devices (e.g., the processor 2301). The interface circuit 2302 may read instructions stored in memory and send the instructions to the processor 2301, for example. The instructions, when executed by the processor 2301, may cause the electronic device to perform the various steps performed by the electronic device in the embodiments described above. Of course, the chip system may also include other discrete devices, which are not specifically limited in this embodiment of the present application.
Alternatively, the processor in the system-on-chip may be one or more. The processor may be implemented in hardware or in software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, or the like. When implemented in software, the processor may be a general purpose processor, implemented by reading software code stored in a memory.
Alternatively, the memory in the system-on-chip may be one or more. The memory may be integral with the processor or separate from the processor, and is not limited in this application. For example, the memory may be a non-transitory processor, such as a ROM, which may be integrated on the same chip as the processor, or may be separately provided on different chips, and the type of memory and the manner of providing the memory and the processor are not specifically limited in this application.
The system-on-chip may be, for example, a field programmable gate array (field programmable gate array, FPGA), an application specific integrated chip (application specific integrated circuit, ASIC), a system on chip (SoC), a central processing unit (central processor unit, CPU), a network processor (network processor, NP), a digital signal processing circuit (digital signal processor, DSP), a microcontroller (micro controller unit, MCU), a programmable controller (programmable logic device, PLD) or other integrated chip.
It should be understood that the steps in the above-described method embodiments may be accomplished by integrated logic circuitry in hardware in a processor or instructions in the form of software. The steps of a method disclosed in connection with the embodiments of the present application may be embodied directly in a hardware processor or in a combination of hardware and software modules in a processor.
The embodiment of the application also provides a computer storage medium, in which computer instructions are stored, which when executed on an electronic device, cause the electronic device to perform the method described in the above method embodiment.
Embodiments of the present application provide a computer program product comprising: computer program or instructions which, when run on a computer, cause the computer to perform the method described in the method embodiments described above.
In addition, the embodiment of the application also provides a device, which can be a chip, a component or a module, and the device can comprise a processor and a memory which are connected; the memory is configured to store computer-executable instructions, and when the apparatus is running, the processor may execute the computer-executable instructions stored in the memory, so that the apparatus performs the methods in the method embodiments described above.
The electronic device, the computer storage medium, the computer program product, or the chip provided in this embodiment are used to execute the corresponding methods provided above, so that the beneficial effects thereof can be referred to the beneficial effects in the corresponding methods provided above, and will not be described herein.
It will be appreciated by those skilled in the art that, for convenience and brevity of description, only the above-described division of the functional modules is illustrated, and in practical application, the above-described functional allocation may be performed by different functional modules according to needs, i.e. the internal structure of the apparatus is divided into different functional modules to perform all or part of the functions described above.
In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The embodiments may be combined or referenced to each other without conflict. The above-described apparatus embodiments are merely illustrative, e.g., the division of modules or units is merely a logical functional division, and there may be additional divisions in actual implementation, e.g., multiple units or components may be combined or integrated into another apparatus, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and the parts shown as units may be one physical unit or a plurality of physical units, may be located in one place, or may be distributed in a plurality of different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a readable storage medium. Based on such understanding, the technical solution of the embodiments of the present application may be essentially or a part contributing to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium, including several instructions to cause a device (may be a single-chip microcomputer, a chip or the like) or a processor (processor) to perform all or part of the steps of the methods of the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read Only Memory (ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes and substitutions are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims (14)
1. A method of screen recording and sharing, for application to an electronic device having a display screen, the method comprising:
receiving target operation of a user in a first window of the electronic equipment, wherein the first window is a window of a first application;
recording and/or sharing a target window of the electronic equipment in response to the target operation, wherein the target window is the first window or a second window, and the second window is a window of a second application;
the first application runs in an android operating system, and the second application runs in a non-android operating system.
2. The method of claim 1, wherein the recording and/or sharing of the target window in response to the target operation comprises:
If the first application is not the preset application, responding to the target operation, and recording and/or sharing the first window;
and if the first application is the preset application, responding to the target operation, and recording and/or sharing the second window.
3. The method of claim 2, wherein the recording and/or sharing the first window comprises:
the android operating system acquires an identifier of a logic display device corresponding to the first window from the non-android operating system, wherein the logic display device is used for bearing data of the first window;
the android operating system acquires the data of the first window according to the identification of the logic display device;
and the android operating system records and/or shares the data of the first window.
4. A method according to claim 3, wherein the android operating system records and/or shares data of the first window, comprising:
the android operating system renders the data of the first window into a memory of a first surface corresponding to virtual display equipment, the virtual display equipment is created according to the first surface, and the first surface corresponds to the first application;
And the android operating system records and/or shares the data in the memory of the first surface corresponding to the virtual display device after the rendering is completed.
5. The method of claim 2, wherein the recording and/or sharing the second window comprises:
the android operating system acquires data of the second window from the non-android operating system;
and the android operating system records and/or shares the data of the second window.
6. The method of claim 5, wherein the android operating system obtaining data for the second window from the non-android operating system comprises:
the non-android operating system acquires data of the second window;
the non-android operating system renders the data of the second window into a memory of a second surface, the memory of the second surface is determined by the android operating system, and the second surface corresponds to the first application;
and the non-android operating system sends the data in the memory of the second surface after the rendering is completed to the android operating system.
7. The method of claim 6, wherein before the non-android operating system renders the data for the second window into the memory of the second surface, the method further comprises:
The android operating system determines the memory of the second surface;
the android operating system sends a target handle to the non-android operating system, wherein the target handle is used for indicating the address of the memory of the second surface;
and the non-android operating system determines the memory of the second surface according to the target handle.
8. The method according to claim 6 or 7, wherein the android operating system records and/or shares data of the second window, comprising:
and the android operating system records and/or shares the data in the internal memory of the second surface after the rendering is completed.
9. The method of any of claims 1-8, wherein the window of the second application comprises one or more of a window of a main interface of a non-android operating system, a window of an application in a non-android operating system.
10. The method of any of claims 1-9, wherein the target operation comprises a trigger operation of a screen recording button and/or a screen sharing button included within the first window.
11. The method of any of claims 1-10, wherein the recording and/or sharing a target window of the electronic device in response to the target operation comprises:
Responding to the target operation, displaying at least one window option, wherein the at least one window option comprises the first window option and/or the second window option;
receiving a target window selection operation in options of the at least one window by a user;
and recording and/or sharing the target window in response to the selected operation.
12. An electronic device, comprising: comprising a processor, a memory, and a display screen, the memory, the display screen being coupled to the processor, the memory for storing computer program code, the computer program code comprising computer instructions, the processor reading the computer instructions from the memory to cause the electronic device to perform the method of any of claims 1-11.
13. A computer readable storage medium, characterized in that the computer readable storage medium comprises a computer program or instructions which, when run on an electronic device, cause the electronic device to perform the method of any one of claims 1-11.
14. A computer program product, characterized in that the computer program product, when run on a computer, is enabled to carry out the method according to any of claims 1-11.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210753227.8A CN117348778A (en) | 2022-06-29 | 2022-06-29 | Screen recording and sharing method and electronic equipment |
PCT/CN2023/100032 WO2024001766A1 (en) | 2022-06-29 | 2023-06-13 | Screen recording and sharing method and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210753227.8A CN117348778A (en) | 2022-06-29 | 2022-06-29 | Screen recording and sharing method and electronic equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117348778A true CN117348778A (en) | 2024-01-05 |
Family
ID=89358157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210753227.8A Pending CN117348778A (en) | 2022-06-29 | 2022-06-29 | Screen recording and sharing method and electronic equipment |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117348778A (en) |
WO (1) | WO2024001766A1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI604375B (en) * | 2014-06-23 | 2017-11-01 | 緯創資通股份有限公司 | Methods for screen sharing and apparatuses using the same |
CN114237779A (en) * | 2020-09-09 | 2022-03-25 | 华为技术有限公司 | Method for displaying window, method for switching window, electronic equipment and system |
CN114253491A (en) * | 2020-09-10 | 2022-03-29 | 华为技术有限公司 | Display method and electronic equipment |
CN114442970B (en) * | 2020-10-31 | 2024-07-16 | 华为技术有限公司 | Screen projection method of application window and electronic equipment |
CN118915939A (en) * | 2020-12-18 | 2024-11-08 | 华为技术有限公司 | Application sharing method, electronic device and storage medium |
-
2022
- 2022-06-29 CN CN202210753227.8A patent/CN117348778A/en active Pending
-
2023
- 2023-06-13 WO PCT/CN2023/100032 patent/WO2024001766A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024001766A1 (en) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020238774A1 (en) | Notification message preview method and electronic device | |
CN112291764B (en) | Content connection system | |
CN111724775B (en) | Voice interaction method and electronic equipment | |
WO2021115194A1 (en) | Application icon display method and electronic device | |
CN112995727A (en) | Multi-screen coordination method and system and electronic equipment | |
CN114647350B (en) | Application sharing method, electronic device and storage medium | |
CN111371849A (en) | Data processing method and electronic equipment | |
CN114741213B (en) | Notification processing method, chip, electronic device and computer-readable storage medium | |
CN112130788A (en) | Content sharing method and device | |
CN112527174A (en) | Information processing method and electronic equipment | |
CN114756359A (en) | Image processing method and electronic equipment | |
CN115480834A (en) | Display method and electronic equipment | |
WO2024037032A1 (en) | Account login method and electronic device | |
WO2023005711A1 (en) | Service recommendation method and electronic device | |
WO2023088459A1 (en) | Device collaboration method and related apparatus | |
WO2023029985A1 (en) | Method for displaying dock bar in launcher and electronic device | |
CN113835802A (en) | Device interaction method, system, device and computer readable storage medium | |
CN117130808B (en) | Log acquisition method and electronic equipment | |
WO2023273845A1 (en) | Multi-application screen recording method and apparatus | |
CN117348778A (en) | Screen recording and sharing method and electronic equipment | |
CN114327317B (en) | Mirror image screen projection method, device and system | |
CN116795197A (en) | Layer processing method and electronic equipment | |
CN116795435A (en) | Compatibility management and control method and related equipment | |
CN115734021A (en) | Screen recording method, electronic equipment and computer readable storage medium | |
CN116700660B (en) | Audio playing method and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |