WO2023045712A1 - 投屏异常处理方法及电子设备 - Google Patents
投屏异常处理方法及电子设备 Download PDFInfo
- Publication number
- WO2023045712A1 WO2023045712A1 PCT/CN2022/115530 CN2022115530W WO2023045712A1 WO 2023045712 A1 WO2023045712 A1 WO 2023045712A1 CN 2022115530 W CN2022115530 W CN 2022115530W WO 2023045712 A1 WO2023045712 A1 WO 2023045712A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- screen projection
- screen
- source device
- application
- virtual display
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 7
- 230000005856 abnormality Effects 0.000 title abstract 2
- 230000006870 function Effects 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims description 120
- 238000005266 casting Methods 0.000 claims description 86
- 230000015654 memory Effects 0.000 claims description 57
- 238000004590 computer program Methods 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 abstract description 39
- 238000012545 processing Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 33
- 230000002159 abnormal effect Effects 0.000 description 18
- 238000007726 management method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000003993 interaction Effects 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 230000001960 triggered effect Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 5
- 229920001621 AMOLED Polymers 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000001133 acceleration Effects 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
- 230000001788 irregular Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000010009 beating Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- 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/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- 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
-
- 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/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/02—Details of power systems and of start or stop of display operation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/02—Details of power systems and of start or stop of display operation
- G09G2330/026—Arrangements or methods related to booting a display
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/16—Use of wireless transmission of display information
Definitions
- the present application relates to the technical field of communications, and in particular to a method for handling abnormal screen projection and electronic equipment.
- screen projection applications between electronic devices are becoming more and more popular.
- a screen projection connection is established between an electronic device (referred to as a screen projection source device) and another electronic device (referred to as a screen projection target device)
- the screen projection source device performs wireless screen projection to the screen projection target device.
- the screen projection source device shuts down abnormally (for example, triggered by the user's irregular shutdown operation, or triggered by the cause of the device's power failure), it will cause screen projection between the screen projection source device and the screen projection target device.
- the screen projection source device shuts down abnormally (for example, triggered by the user's irregular shutdown operation, or triggered by the cause of the device's power failure)
- it will cause screen projection between the screen projection source device and the screen projection target device.
- Business failure for example, triggered by the user's irregular shutdown operation, or triggered by the cause of the device's power failure
- the source device for screen projection after the source device for screen projection is restarted, if the user presses the Windows+P key of the source device for screen projection, the source device for screen projection will be triggered to display multiple screen projection options, such as "Only local screen display” option, “Copy” option , “Extended” option, "Second screen display only” option. If the user selects the "Only the second screen display” option, the screen of the screen projection source device will appear black in the non-screen projection scene, and the above problem cannot be solved by restarting the screen projection source device. Usually, in non-screen projection scenarios, when the user selects the "Only the second screen display” option in the screen projection function of the local machine, the display screen of the local machine will not appear black screen.
- the present application provides a screen projection abnormal processing method and electronic equipment, which solves the problem that a black screen will appear in a non-screen projection scene after the screen projection source device restarts due to an abnormal shutdown of the screen projection source device during the screen projection process.
- the present application provides a method for handling abnormal screen projection, the method including:
- the screen projection source device casts the screen to the screen projection target device through the screen projection application; when the screen projection application is closed abnormally, the screen projection source device restarts the screen projection application; the screen projection source device detects that the virtual display driver is enabled, and the projection The screen source device sets the state of the virtual display driver to a disabled state.
- the screen projection application is an application installed in the screen projection source device for triggering screen projection between devices;
- the virtual display driver is a driver used in the screen projection source device to realize the screen projection function;
- the screen projection source device projects the screen to the screen projection target device through the screen projection application
- the state of the virtual display driver is set to the disabled state, In this way, the virtual display driver will no longer create a virtual display. Therefore, if the virtual display does not exist, the screen projection source device cannot capture the image for screen projection. Therefore, in the non-screen projection scene after the screen projection application is restarted,
- the display screen of the screen projection source device will display normally without black screen phenomenon.
- the above method may further include: the source device for screen projection detects that there are display parameters in the registry in the source device for screen projection; the source device for screen projection deletes the display parameters in the registry.
- the registry is a storage area for storing display parameters of the target device for screen projection.
- the above method may further include: when the screen projection application is abnormally closed, the screen projection source device disconnects the screen projection connection with the screen projection target device.
- the above method may further include: when the virtual display driver is in the disabled state, the screen projection source device prohibits the virtual display driver from creating a virtual display driver.
- a display wherein, the image displayed on the virtual display is used to be displayed by the screen-casting target device during screen-casting.
- the above method may further include: screen projection The source device receives the user's first input, and the first input is only used to trigger the screen display of the screen projection target device; the screen projection source device does not respond to the first input.
- the screen projection source device when the screen projection application is closed abnormally, restarts the screen projection application, which specifically includes: when the screen projection application is abnormally closed, the screen projection source device automatically starts the screen projection application ; or, in the case that the screen-casting application is closed abnormally, in response to a user-triggered operation, the screen-casting source device restarts the screen-casting application.
- the screen projection source device when the screen projection application is closed abnormally, restarts the screen projection application, which specifically includes: when the screen projection source device is abnormally shut down, the screen projection application is closed abnormally; responding to the user's second Enter, the screen mirroring source device restarts and opens the screen mirroring application.
- the screen projection source device is installed with a screen projection application, a Windows interface corresponding to the screen projection application, and a virtual display driver, and the screen projection source device is set with a registry;
- the above-mentioned screen projection source device casts a screen to the screen projection target device through the screen projection application, including:
- the screen projection source device establishes a screen projection connection with the screen projection target device through the screen projection application;
- the screen projection source device is connected through the screen projection to obtain the display parameters of the screen projection target device;
- the screen projection source device writes the display parameters of the screen projection target device into the registry of the preset path through the screen projection application;
- the screen projection source device calls the Windows interface through the screen projection application, and sets the virtual display driver to an enabled state; wherein, the Windows interface is an application program interface installed on the screen projection source device and corresponding to the screen projection application;
- the screen projection source device reads the display parameters of the screen projection target device from the registry through the virtual display driver;
- the screen projection source device creates a virtual display according to the display parameters of the screen projection target device through the virtual display driver;
- the virtual display driver feeds back the successful creation of the virtual display to the projection application through the Windows interface
- the screen projection source device obtains the image displayed on the virtual display through the screen projection application as the projection image; wherein, the image displayed on the virtual display is the image displayed on the screen projection source device;
- the screen-casting source device sends the screen-casting image to the screen-casting target device through the screen-casting application.
- the screen projection source device detects that the virtual display driver is in the enabled state, including: the screen projection source device calls the Windows interface through the screen projection application, and detects that the virtual display driver is in the enabled state;
- the screen projection source device sets the state of the virtual display driver to a disabled state, including: the screen projection source device calls the Windows interface through the screen projection application, and sets the state of the virtual display driver to a disabled state.
- the screen projection source device detects that there are display parameters in the registry in the screen projection source device, including: the screen projection source device invokes the Windows interface through the screen projection application, and detects that the registration in the screen projection source device There are display parameters in the table;
- the screen projection source device deletes the display parameters in the registry, including: the screen projection source device invokes the Windows interface through the screen projection application to delete the display parameters in the registry.
- the screen projection source device establishes a screen projection connection with the screen projection target device through a screen projection application, including:
- the screen projection source device receives a third input from the user on the application icon of the screen projection application, and the third input is used to trigger the screen projection source device to establish a screen projection connection with the screen projection target device;
- the screen projection source device searches for the screen projection target device, and displays the identity of the screen projection target device;
- the screen projection source device receives a fourth input from the user, and the fourth input is used to select the identification of the screen projection target device;
- the screen projection source device establishes a screen projection connection with the screen projection target device.
- the display parameters of the screen projection target device include at least one of the following: display size, resolution and refresh rate of the display screen.
- the present application provides a device for handling abnormal screen projection, which includes a unit for executing the method in the first aspect above.
- the device may correspond to executing the method described in the first aspect above.
- the relevant description of the units in the device please refer to the description in the first aspect above, and details are not repeated here for brevity.
- Hardware or software includes one or more modules or units corresponding to the functions described above. For example, a processing module or unit, a display module or unit, etc.
- the present application provides an electronic device, the electronic device includes a processor, the processor is coupled with a memory, the memory is used to store computer programs or instructions, and the processor is used to execute the computer programs or instructions stored in the memory, so that the first aspect The method in is executed.
- the processor is used to execute the computer programs or instructions stored in the memory, so that the apparatus performs the method in the first aspect.
- the present application provides a computer-readable storage medium on which is stored a computer program (also referred to as an instruction or code) for implementing the method in the first aspect.
- a computer program also referred to as an instruction or code
- the computer when the computer program is executed by a computer, the computer can execute the method in the first aspect.
- the present application provides a chip, including a processor.
- the processor is used to read and execute the computer program stored in the memory, so as to execute the method in the first aspect and any possible implementation manners thereof.
- the chip further includes a memory, and the memory is connected to the processor through a circuit or wires.
- the present application provides a chip system, including a processor.
- the processor is used to read and execute the computer program stored in the memory, so as to execute the method in the first aspect and any possible implementation manners thereof.
- the chip system further includes a memory, and the memory is connected to the processor through a circuit or wires.
- the present application provides a computer program product, which includes a computer program (also referred to as an instruction or code), and when the computer program is executed by a computer, the computer implements the method in the first aspect.
- a computer program also referred to as an instruction or code
- FIG. 1 is a schematic diagram of an application scenario of a screen projection exception handling method provided by an embodiment of the present application
- FIG. 2 is a schematic flowchart of a method for handling screen projection exceptions provided by an embodiment of the present application
- FIG. 3A to FIG. 3E are respectively schematic diagrams of screen projection scenarios in a screen projection exception processing method provided by the embodiment of the present application;
- FIG. 4 is a schematic flowchart of the interaction between modules in a screen projection exception handling method provided by an embodiment of the present application
- FIG. 5 is another schematic diagram of the interaction between modules in a screen projection exception handling method provided by an embodiment of the present application.
- FIG. 6 is another schematic flowchart of a screen projection exception handling method provided by an embodiment of the present application.
- FIG. 7 is another schematic flowchart of a screen projection exception handling method provided by an embodiment of the present application.
- FIG. 8 is another schematic flowchart of a screen projection exception handling method provided by an embodiment of the present application.
- FIG. 9 is a schematic diagram of a system architecture for an application of a screen projection exception handling method provided by an embodiment of the present application.
- FIG. 10 is a schematic flow diagram of the interaction between modules in a screen projection exception handling method provided by an embodiment of the present application.
- FIG. 11 is a schematic diagram of another system architecture for the application of a screen projection exception handling method provided by the embodiment of the present application.
- FIG. 12 is another schematic flowchart of a screen projection exception handling method provided by an embodiment of the present application.
- Fig. 13 is a schematic structural diagram of a device for processing abnormal screen projection provided by an embodiment of the present application.
- FIG. 14 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
- first and second and the like in the specification and claims herein are used to distinguish different objects, not to describe a specific order of objects.
- first input, the second input, etc. are used to distinguish different inputs, rather than to describe a specific sequence of inputs.
- words such as “exemplary” or “for example” are used as examples, illustrations or illustrations. Any embodiment or design scheme described as “exemplary” or “for example” in the embodiments of the present application shall not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. Rather, the use of words such as “exemplary” or “such as” is intended to present related concepts in a concrete manner.
- multiple means two or more, for example, multiple processing units refer to two or more processing units, etc.; multiple A component refers to two or more components or the like.
- Fig. 1 shows a schematic diagram of system architecture involved in various exemplary embodiments of the present application.
- the system architecture includes a screen-casting source device 10 and a screen-casting target device 20 .
- a wireless connection can be established and maintained between the screen projection source device 10 and the screen projection target device 20 through wireless communication technology.
- the screen projection source device 10 may initiate screen projection to the screen projection target device 20 .
- the screen-casting source device 10 After the screen-casting source device 10 turns on the screen-casting function, the screen-casting source device 10 You can search for all devices that support screen projection. After the screen projection source device 10 finds the screen projection target device 20, the screen projection source device 10 can negotiate with the screen projection target device 20 based on the screen projection protocol to perform screen projection. After the negotiation is completed, the projection The screen source device 10 can project the screen display content of the screen projection source device 10 to the screen of the screen projection target device 20 for display.
- the screen projection source device 10 can negotiate with the screen projection target device 20 based on the screen projection protocol to perform screen projection. After the negotiation is completed, the projection The screen source device 10 can project the screen display content of the screen projection source device 10 to the screen of the screen projection target device 20 for display.
- the above-mentioned screen projection source device 10 can be an electronic device with a display screen such as a notebook computer, a tablet computer, and a personal computer (PC), and the screen projection target device 20 can be an electronic device with a display screen such as a smart TV or a tablet computer.
- the embodiment of the present application does not specifically limit the device type of the electronic device in the communication system.
- a computer housekeeper application may be installed in the screen projection source device 10, and the computer housekeeper APP may include computer screen projection function options, and the screen projection source device 10 may extend the desktop of the Windows system through the computer housekeeper APP. It is displayed on the screen projection target device 20 such as a tablet computer or a large-screen device.
- the screen projection source device 10 establishes a wireless screen projection connection with the screen projection target device 20 , and the screen projection source device 10 performs wireless screen projection to the screen projection target device 20 .
- the computer housekeeper APP When the screen projection source device 10 is shut down abnormally (for example, triggered by the user's irregular shutdown operation, or triggered by the cause of the power failure of the device), the computer housekeeper APP will be shut down abnormally.
- the wireless screen projection connection between the screen projection source device 10 and the screen projection target device 20 is disconnected due to abnormal shutdown of the computer. In this case, the screen projection source device 10 no longer performs screen projection to the screen projection target device 20 .
- the scenario in which no wireless screen projection connection is established between multiple devices may be referred to as a non-screen projection scenario.
- the solution of this application believes that the cause of the above problems is that in some non-screen projection scenarios or scenarios where the wireless projection connection is abnormally disconnected, the virtual display driver for wireless projection is still enabled, and the enabled virtual The display driver will create a virtual display for screen projection, and the existence of the virtual display will cause the black screen of the machine to appear when the user selects the second screen display option in the screen projection function of the machine.
- this application proposes a screen projection exception handling method, adding an exception judgment mechanism: when the computer housekeeper APP is abnormally closed and restarted, check whether the virtual display driver is enabled, if the virtual display driver is enabled, Then disable the virtual display driver; and/or, check whether there are display parameters in the registry, and if there are display parameters in the registry, clear the display parameters in the registry. In this way, the virtual display driver will not create a virtual display for screen projection in the disabled state. In this case, when the user selects the "Only the second screen display" option in the screen projection function of the local machine, the local display The screen does not appear black.
- the execution subject of the screen projection exception handling method provided in the embodiment of the present application may be an electronic device (such as a screen projection source device), or a functional module and/or a functional entity in the electronic device that can implement the screen projection exception handling method, Moreover, the solution of the present application can be realized by means of hardware and/or software, which can be specifically determined according to actual usage requirements, and is not limited in the embodiment of the present application.
- the screen projection source device is taken as an example below to illustrate the screen projection exception processing method provided by the embodiment of the present application with reference to the accompanying drawings.
- FIG. 2 is a schematic flowchart of a method for handling abnormal screen projection provided by an embodiment of the present application. Referring to Fig. 2, the method includes the following steps S101-S103.
- a screen projection source device projects a screen to a screen projection target device through a screen projection application.
- the screen projection application is an application installed in the screen projection source device for triggering screen projection between devices.
- the computer housekeeper APP is installed in the screen projection source device 10, and the computer housekeeper APP can support the screen projection function.
- FIG. 3B in the user interface (user interface, UI) of the computer housekeeper APP It shows that there is a computer screen projection option, and the user can select the computer screen projection option in the UI interface of the computer housekeeper APP to trigger the computer housekeeper APP to call the screen projection application.
- 3A to 3E respectively show schematic diagrams of man-machine interaction interfaces in which a user triggers screen projection through the computer housekeeper APP.
- 3A to FIG. 3E taking a screen projection source device as a notebook computer and a screen projection target device as an example for an exemplary description.
- the notebook computer 10 receives the user's input on the computer manager APP, for example, the user clicks the icon of the computer manager APP.
- the notebook computer 10 displays the UI interface of the computer housekeeper APP, and the UI interface of the computer housekeeper APP includes a user operation window corresponding to computer screen projection.
- a screen projection mode option is displayed in the user operation window corresponding to the computer screen projection.
- Screen projection mode options include mirroring mode options and extension mode options. Among them, in the mirroring mode, the contents of the computer screen can be mirrored and displayed on the connected device, and in the extended mode, the contents of the computer screen can be extended and displayed on the connected device.
- a control for triggering establishment of a wireless screen projection connection is also displayed in the user operation window, such as a "connect immediately" control.
- the immediate connection control is used to trigger the laptop computer to establish a screen projection connection with the smart TV.
- the notebook computer 10 in response to the user's input (such as a click operation) on the "Connect Now" control, the notebook computer 10 searches for all nearby devices that support screen projection, and uses the identifiers of the found one or more devices (such as device name) is displayed for the user to select. As shown in FIG. 3C , the notebook computer 10 finds the smart TV 20 and displays the logo of the smart TV 20 .
- the screen projection operation can also be input through other entrances.
- the screen projection operation can also be input through other entrances.
- the Windows setting interface there is a function button to enable screen mirroring.
- the above-mentioned screen casting operation can be input through the "wireless screen projection” or “mirror screen projection” switch in the mobile phone.
- the notebook computer 10 receives an operation in which the user selects (for example, clicks) the identifier of the device 20 (that is, the smart TV).
- the user can also select the smart TV through voice input.
- the user voice inputs "device 2" through the microphone of the PC. After the microphone receives the sound signal, it can be converted into an electrical signal and sent to the computer. Butler APP.
- the notebook computer 10 establishes a screen projection connection with the smart TV 20 .
- the notebook computer 10 acquires the data to be projected (referred to as a projected image), and sends the data to be projected to the smart TV, so that the smart TV displays the projected image.
- the notebook computer 10 can project the screen to the smart TV 20 according to the mirroring mode or the extending mode selected by the user.
- the screen content of the notebook computer 10 can be mirrored and displayed on the smart TV 20 , and at this time, the content displayed on the screens of the two devices remains consistent.
- the screen content of the notebook computer 10 can be expanded and displayed on the smart TV 20 , and the content displayed on the screens of the two devices can be different at this time.
- the screen projection source device first establishes a screen projection connection with the screen projection target device through the screen projection application, and then the screen projection source device projects the screen to the screen projection target device through the screen projection application.
- the screen projection source device After the screen projection source device first establishes a screen projection connection with the screen projection target device through the screen projection application, the screen projection source device can project the screen to the screen projection target device through the screen projection application.
- the screen projection process between the screen projection source device and the screen projection target device and the process of exiting the screen projection are exemplarily described below with reference to FIG. 4 and FIG. 5 .
- the screen projection source device 10 includes a screen projection application 201 , a registry 202 , a virtual display driver 203 (also called a virtual display driver), and a Windows interface 205 for realizing the screen projection function.
- the screen-casting source device casts the screen to the screen-casting target device through the screen-casting application (step S101 above)
- the interaction process may include the following steps A1-A10.
- step A1 the screen-casting source device 10 establishes a screen-casting connection with the screen-casting target device 20 through a screen-casting application 201 (such as a computer manager).
- a screen-casting application 201 such as a computer manager
- the screen projection target device 20 sends the display parameters (also referred to as display parameters) of the screen projection target device 20 to the screen projection source device 10 .
- the display parameters of the screen projection target device 20 may include display size, resolution, refresh rate, etc. of the display screen.
- step A2 the screen projection source device 10 acquires display parameters of the screen projection target device 20 through the screen projection connection.
- step A3 the screen projection application 201 writes the display parameters of the screen projection target device 20 into the registry 202 of the preset path.
- the registry 202 is a storage area for storing data.
- the registry can be in the form of a database.
- Step A4 the screen projection application 201 invokes the Windows interface 205, and sets the virtual display driver 203 to an enabled state.
- step A5 the virtual display driver 203 reads the display parameters of the screen projection target device 20 from the registry 202 of the preset path.
- step A6 the virtual display driver 203 creates a virtual display 204 according to the display parameters of the screen projection target device 20 .
- the display parameters of the virtual display 204 are consistent with the display parameters of the screen projection target device 20 .
- the computer housekeeper APP sets the virtual display driver to an enabled state through the screen projection interface.
- the virtual display driver can read the display parameters in the registry and create a virtual display according to the display parameters. Therefore, the display parameters of the virtual display are consistent with the display parameters of the screen projection target device. This can ensure that the screen projection target device displays the screen projection data with the adapted display parameters, which can improve the screen projection display effect.
- Step A7 the virtual display driver 203 feeds back to the Windows interface 205 that the driver has been enabled and the virtual display has been created successfully.
- step A8 the Windows interface 205 feeds back to the screen projection application 201 that the virtual display is created successfully.
- step A9 the screen projection application 201 obtains the image displayed on the virtual display 204 .
- the image displayed on the virtual display 204 may be the image being displayed on the screen of the screen projection source device 10 .
- the frequency of capturing the virtual display image by the screen casting application may be consistent with the refresh rate of the display of the screen casting target device. This can ensure that the screen-casting target device has a good display effect when the screen-casting is displayed. For example, if the display refresh rate of the screen-casting target device is 60Hz, the screen-casting application can capture 60 frames of images per second on the virtual display.
- Step A10 the screen casting application 201 sends the image displayed on the virtual display 204 to the screen casting target device 20 through the screen casting connection.
- the screen projection application 201 may periodically acquire the image displayed on the virtual display 204, and send the image displayed on the virtual display 204 to the screen projection target device 20 through a wireless screen projection connection channel. In this way, after the screen projection target device 20 receives the display image of the virtual display 204 , the screen projection target device 20 displays the image, thereby realizing the screen projection display between the screen projection source device 10 and the screen projection target device 20 .
- the screen projection target device will display the display parameters such as resolution and refresh rate of the screen projection target device Send it to the screencasting source device.
- the computer manager APP of the screen-casting source device can write the display parameters of the screen-casting target device into the registry according to the preset path.
- the computer housekeeper APP switches the state of the virtual display driver from a disabled state to an enabled state.
- the virtual display driver reads the display parameters of the screen projection target device from the registry, and further, the virtual display driver can create a virtual display according to the display parameters of the screen projection target device.
- the computer housekeeper APP captures the image displayed on the virtual display, and sends the image to the screen projection target device for display.
- FIG. 5 shows a schematic diagram of the screen casting process and the process of exiting the screen casting involved in the embodiment of the present application.
- the process of steps B1 to B15 has described in detail the implementation process of steps A1 to A10 in FIG. 4 , and will not be repeated here.
- Steps B16 to B22 in FIG. 5 describe the process of exiting screen projection normally, and step B23 in FIG. 5 describes the process of exiting screen projection abnormally. In practical applications, steps B16 to B22 may be performed, or step B23 may be performed.
- Step B16 in response to the user operation, the screen casting application is closed normally.
- the user can click the "disconnect" control displayed in the screen projection UI interface of the computer manager to trigger a normal exit from the screen projection. Then, the screen projection connection between the screen projection source device and the screen projection target device is disconnected.
- Step B17 the screen projection application instructs to disable the virtual display driver.
- the screen projection application can disable the virtual display driver by calling the Windows interface.
- step B18 the virtual display driver is switched from an enabled state to a disabled state.
- Step B19 the virtual display driver instructs to delete the virtual display.
- Step B20 delete the virtual display.
- step B21 the screen projection application instructs to delete the display parameters stored in the registry.
- Step B22 delete the monitor parameters stored in the registry.
- the embodiment of the present application does not limit the execution order of the screen projection application instructing to disable the virtual display driver in B17, and the screen projection application in B22 instructing to delete the display parameters stored in the registry.
- Step B23 the screen projection application is closed abnormally.
- the screen casting application may be closed abnormally for some reason, which causes the screen casting service to exit abnormally.
- the above steps B17-B22 will not be executed, that is to say, the virtual display driver may still be enabled, so the virtual display still exists, and the display parameters still stored in the registry, these Both will lead to abnormal screen projection, such as the above-mentioned black screen phenomenon.
- the screen projection application in the screen projection source device may be closed abnormally for some reason. In this case, the screen projection source device can restart the screen projection application.
- the screen-casting source device may restart the screen-casting application in response to a user's trigger operation.
- the screen casting source device detects that the screen casting application is closed abnormally, the screen casting source device automatically restarts the screen projection application without triggering by the user.
- it may be determined according to actual usage requirements, and is not limited in this embodiment of the application.
- the screen projection source device disconnects the screen projection connection with the screen projection target device. Therefore, the scene after the screen projection application is abnormally closed is a non-screen projection scene.
- the screen projection application is restarted, because the screen projection connection between the screen projection source device and the screen projection target device The current scene after restarting is also a non-screen projection scene.
- the screen projection source device sets the state of the virtual display driver to a disabled state through the screen projection application.
- the virtual display driver may be preloaded in the electronic device, and the virtual display driver is usually set to a disabled state.
- the electronic device will switch the virtual display driver to an enabled state, and create a virtual display through the virtual display driver to realize wireless screen projection.
- the screen-casting application After the screen-casting application is closed abnormally, the state of the virtual display driver may still be enabled. Therefore, after the screen-casting application is restarted, the screen-casting application can detect the state of the virtual display driver.
- the driver status detection can be realized through the following Windows application programming interface (application programming interface, API): SetupDiGetClassDevsEx; SetupDiEnumDeviceInfo; and CM_Get_DevNode_Status.
- Windows application programming interface application programming interface, API
- the screen projection application of the screen projection source device can call the Windows interface to change the status of the virtual display driver to the enabled state.
- the specific operation is: make DwDevStatus not exist in the DN_HAS_PROBLEM state, or dwProblem is not is CM_PROB_DIABLED.
- the screen projection application of the screen projection source device will not change the status of the virtual display driver to the disabled state according to the above conventional operations. That is to say, the virtual display driver may still be enabled.
- DwDevStatus does not have DN_HAS_PROBLEM status, or dwProblem is not CM_PROB_DISABLED.
- this application proposes: after the screen projection application is started, it is necessary to query Status, when it is detected that the virtual display driver is enabled, it can be determined that the screen mirroring application has been closed abnormally before. At this time, the status of the virtual display driver needs to be set to disabled to avoid the virtual display driver being enabled from affecting the screen projection normal use of the source device.
- the screen projection source device sets the status of the virtual display driver to the disabled state through the screen projection application, when the virtual display driver is in the disabled state, the screen projection source device prohibits the virtual display driver from creating a virtual display. In other words, the virtual display driver is turned off and virtual displays can no longer be created.
- the screen casting application Since the screen casting application has set the status of the virtual display driver to disabled after the screen casting application is abnormally closed and restarted, the virtual display driver will no longer create a virtual display. Therefore, if the virtual display does not exist, the screen projection The source device cannot capture the image used for screen projection from the virtual display, which can avoid black screen events caused by the existence of the virtual display to the screen projection source device.
- the above-mentioned method may further include the following steps S104 and step S105.
- the screen projection source device receives a first input from the user, and the first input is only used to trigger a screen display of the screen projection target device.
- the first input may include a first sub-input and a second sub-input.
- the first sub-input can be: the user triggers the screen projection source device to display multiple screen projection options by pressing the Windows+P key, such as the "Only the local screen display” option, the "Copy” option, the “Extended” option, and the “Only the second On-Screen Display” option.
- the second sub-input may select the "second screen display only” option for the user. This will only trigger the display of the screen of the target device.
- the screen projection source device does not respond to the first input, wherein the display screen of the screen projection source device displays normally.
- the screen casting application Since the screen casting application has set the status of the virtual display driver to disabled after the screen casting application is abnormally closed and restarted, the virtual display driver will no longer create a virtual display. Therefore, if the virtual display does not exist, the screen projection The source device cannot grab the image from the virtual display for mirroring, so even if the user operates on the mirroring source device to only trigger the screen display of the mirroring target device, the mirroring source device will not respond to user actions.
- the screen of the screen-casting source device can be displayed normally without appearing Black screen phenomenon.
- the registration table may be used to store display parameters for wireless screen projection.
- the screen projection source device can store the display parameters of the screen projection target device in the registry, and accordingly the virtual display driver of the screen projection source device can be read from the registry, and according to the read display Parameters to create a virtual display, so that the display parameters of the virtual display can be consistent with the display parameters of the target device, so when the display image of the virtual display is sent to the target device for display, a better display effect can be guaranteed .
- the display parameters stored in the registry may include the following:
- HDisplaySize the data format is dword, indicating the screen width, such as 300mm;
- VDisplaySize the data format is dword, indicating the height of the screen, for example, 200mm;
- the registry may be preset with a corresponding storage path.
- it also supports custom setting path for storage.
- the registry path can be represented by the following path information:
- the registry also stores the display parameters of the latest wireless projection after the screen projection application is abnormally closed and restarted, in the current non-screen projection scenario, the display parameters in the registry can be deleted to avoid The display parameters in the registry affect the normal use of the screen projection source device.
- the above method may further include the following step S106.
- the screen projection source device deletes the display parameters in the registry.
- the computer housekeeper APP can check whether there is a virtual display in the screen projection source device, and if there is a virtual display in the screen projection source device, clear the Display parameters in the registry and close the virtual display driver.
- the screen casting source device restarts the screen casting application (the above step S102 ) may specifically include the following steps S102A and S102B.
- the abnormal shutdown of the screen-casting application may be triggered by an irregular shutdown operation by the user, or may be triggered by a shutdown of the device due to a power failure, or may be caused by the shutdown of the screen-casting application due to a program crash, or by any other possibility Triggered by factors, this embodiment of the application does not make a limitation.
- the second input is used to trigger the restart of the screen projection source device, and when the screen projection source device restarts, the screen projection source device triggers the screen projection application to automatically start.
- the screen mirroring application After the screen mirroring application is automatically started, you can disable the virtual display driver and clear the relevant registry data items in the non-screen mirroring scene to prevent the user from using the Windows+P key to select only the second screen display in the non-screen mirroring scene. black screen issue.
- FIG. 9 and FIG. 10 are schematic diagrams of the interaction between modules of various layers in the screen projection source device. Combining Figure 9 and Figure 10, the following describes how the source device for screen projection handles the abnormal situation of screen projection after restarting the screen projection application, so as to avoid the black screen that appears when the user uses the Windows+P key to select only the second screen display in the non-screen projection scenario question.
- the screen projection source device includes an application layer, a system layer, and a driver layer, wherein the application layer includes a screen projection application (such as a computer housekeeper APP), the system layer includes a Windows interface and a registry, and the driver layer includes a virtual display driver and a driver layer. virtual display.
- the interaction process of modules at each layer may include the following steps C1-C7.
- step C1 after the screen-casting application is restarted, a query command is sent to the Windows interface.
- the screen-casting application (such as the computer manager APP) of the screen-casting source device is abnormally closed during screen-casting
- the screen-casting application can be restarted, and after restarting, send a query command to the Windows interface of the screen-casting source device.
- the query command is used to instruct to query the state of the registry, and to query the state of the virtual display driver.
- step C2 the Windows interface sends a query command to the registry to query the state of the registry.
- the state of the registry includes the following two states: there is a display parameter in the registry, or there is no display parameter in the registry.
- step C3 the Windows interface queries the driving state of the virtual display driver.
- the driving state of the virtual display driver may include the following two states: a disabled state or an enabled state.
- step C2 can be executed first, and then step C3 can be executed; step C3 can also be executed first, and then step C2 can be executed; or steps can be executed simultaneously C2 and step A3.
- step C2 can be executed first, and then step C3 can be executed; step C3 can also be executed first, and then step C2 can be executed; or steps can be executed simultaneously C2 and step A3.
- steps can be executed simultaneously C2 and step A3.
- Step C4 the registry feeds back the state of the registry to the Windows interface according to the query command.
- the registry status fed back to the Windows interface is: there are monitor parameters in the registry.
- step C5 the Windows interface inquires about the driving state of the virtual display driver.
- the driver state of the virtual display driver found by the Windows interface is: enabled state.
- step C6 the Windows interface reports the queried registry status and virtual display driver status to the screen projection application.
- step C7 the screen projection application receives the registry status and the virtual display driver status. If there are display parameters in the registry and the virtual display is enabled, the screen projection application clears the registry and disables the virtual display driver.
- the interaction process of each module of the screen projection source device may include the following steps D1-D11.
- step D1 the screen-casting application (such as computer housekeeper) is closed abnormally during screen-casting.
- the abnormal shutdown of the screen projection application during screen projection may be caused by a system crash, or may be caused by an abnormal shutdown of the screen projection source device.
- step D2 the screen casting application is restarted.
- the screen projection source device is automatically started after being shut down, and may also be restarted in response to a user-triggered operation.
- step D3 the screen projection application sends a query command to the Windows interface to query the status of the registry and the driving status of the virtual display driver.
- step D4 the Windows interface receives the query command to query the status of the registry.
- step D5 the registry feeds back the state of the registry to the Windows interface.
- the Windows interface since the Windows interface records the driving state of the virtual display driver, the Windows interface can directly query the driving state of the virtual display driver according to the recorded information.
- step D6 the Windows interface feeds back the status of the registry and the driving status of the virtual display driver to the screen projection application.
- Step D7 the screen projection application performs the following processing according to the state of the registry and the driving state of the virtual display driver: if the state of the registry is that there are display parameters in the registry, and the driving state of the virtual display driver is enabled, then the screen projection application determines to clear display parameters in the registry and disable the virtual display driver.
- step D8 the screen projection application instructs the Windows interface to switch the virtual display driver to a disabled state and clear the registry.
- step D9 the Windows interface sets the virtual display driver to a disabled state.
- step D10 the virtual display driver is switched from an enabled state to a disabled state.
- Step D11 the screen projection application instructs to clear the display parameters in the registry.
- Step D12 the display parameters in the registry are cleared.
- step D9 and step D11 the embodiment of the present application does not limit the execution order of step D9 and step D11.
- the computer housekeeper APP can check the status of the virtual display. For example, the computer housekeeper APP notifies the Windows API (application programming interface) to obtain the virtual display driver status In the non-screen projection scenario, disable the virtual display driver and clear the relevant registry data items to remove the virtual display, so as to avoid the black screen problem of the screen projection source device in the non-screen projection scenario.
- Windows API application programming interface
- FIG. 11 is a schematic diagram of the system architecture of the PC and the smart TV
- FIG. 12 is a schematic diagram of the process of establishing a connection between the PC and the smart TV, and the process of data interaction between the modules in the PC and the modules in the smart TV.
- PC comprises at least: the computer steward APP of application program layer;
- the smart TV at least includes: a collaborative service (service) module at the system layer, a second discovery connection module, a second communication module, a decoding thread and a display driver, a decoder at the hardware layer, a second Bluetooth chip, a second Wi-Fi chip and display screen.
- service collaborative service
- the display driver is a driver program for driving the graphics card, and is software corresponding to the hardware graphics card.
- the driver is a small piece of code added to the operating system that contains information about the graphics card device.
- the computer housekeeper APP in the PC receives the "connect immediately" projection operation input by the user, the computer housekeeper APP sends an inter-process communication (IPC) message to the first discovery connection module , optionally, the IPC message may carry a scan instruction instruction, which is used to instruct the first discovery connection module to invoke the capability scan of the first Bluetooth chip to discover available screen projection target devices nearby.
- IPC inter-process communication
- the first discovery connection module After the first discovery connection module receives the IPC message, it calls the capability of the first bluetooth chip to scan and discover nearby available screen projection target devices; at this time, the available bluetooth chip of the screen projection target device can receive the scan signal of the PC, and the The discovery and connection module of the screen projection target device (such as a smart TV) feeds back its own basic information to the first discovery connection module of the PC, such as the Internet protocol address (internet protocol address, IP address) and media access control of the screen projection target device. Address (media access control address, MAC address), universally unique identifier (universally unique identifier, UUID), device identification and device name, etc.
- the first discovery and connection module of the PC After the first discovery and connection module of the PC scans for an available screen projection target device, the first discovery and connection module can obtain basic information of the screen projection target device. Furthermore, the first discovery connection module sends the found basic information (such as device name, MAC address) of the available screen-casting target devices to the computer housekeeper APP, and then makes the computer housekeeper APP display the basic information of these available screen-casting target devices In the list of available devices, it can be displayed to the user.
- the found basic information such as device name, MAC address
- the Computer Manager APP may not be able to display all the above information of the available screen-casting target devices on the list of available devices. Therefore, only the device names of the available screencasting target devices may be displayed on the available device list. If the user wants to view other information of a screencasting target device, he can long-press or double-click the device name. After receiving the long-press or double-clicking operation, the Computer Manager APP can display the screencasting target device. other information.
- the list of available devices displayed by the computer housekeeper APP includes all devices that have turned on the Bluetooth function near the PC, such as smart TVs, mobile phones or wearable devices.
- the computer housekeeper APP can screen out devices that support screen projection for display. For example, if a wearable device does not support PC screen projection, the computer housekeeper APP will Wearables no longer appear in the list of available devices.
- the computer manager APP can receive the user's click operation, and send an IPC message to the first discovery connection module to instruct the first discovery connection module to call the first Bluetooth chip and
- the Smart TV establishes a Bluetooth connection (BLE connection).
- the IPC message may carry basic information of the smart TV.
- the first discovery and connection module After the first discovery and connection module receives the IPC message, it can call the capability of the first Bluetooth chip to connect with the second Bluetooth chip of the smart TV, so as to realize the communication connection between the PC and the smart TV, that is, the BLE connection.
- the first discovery connection module of the PC invokes the first Wi-Fi chip to establish an analog hotspot (soft access point, SoftAP), which has a service set identifier (SSID) and password, and then the first discovery connection module sends the SSID and password to the second discovery connection module of the smart TV through the established BLE connection channel, so that the second discovery connection module calls the second Wi-Fi chip according to the received SSID and password Establish a Wi-Fi P2P connection with the PC.
- SoftAP soft access point
- SSID service set identifier
- the second discovery connection module calls the second Wi-Fi chip according to the received SSID and password
- a socket data channel is established between the PC and the smart TV for subsequent data transmission between the PC and the smart TV.
- connection established between the above-mentioned PC and the smart TV is not limited to Bluetooth connection and Wi-Fi P2P connection, and may also be other types of connection methods, as long as data transmission between the two can be realized.
- the PC and smart TV have successfully established a screen mirroring connection.
- the first Wi-Fi module of the PC feeds back a message that the connection between the PC and the smart TV is successfully established to the first connection discovery module.
- the second Wi-Fi module of the smart TV notifies the collaborative service module that the smart TV has successfully established a connection with the PC.
- the PC needs to send the image data on the display screen to the smart TV for display.
- the image data that needs to be projected is referred to as data to be projected.
- the smart TV can actively send its own display parameters to the first discovery connection module of the PC through the second discovery connection module.
- the first discovery connection module of the PC can feed back a message that the connection is successfully established to the computer housekeeper APP.
- APP establishes a screen capture coding thread.
- the encoder can be initialized at the same time, that is, the resolution of the image to be encoded is set to 2520x1680 and the default H264 encoding format.
- the computer housekeeper APP After the computer housekeeper APP receives the above-mentioned successful connection establishment message, it can also obtain the resolution of the current PC graphics card through the interface, and create a virtual display according to the resolution carried in the message received by the computer housekeeper APP.
- the resolution is 2520x1680.
- the second discovery connection module of the smart TV also feeds back the message of successful connection establishment to the collaborative service module, and then the collaborative service module creates a decoding thread , and initialize the decoder.
- the screen capture coding thread obtains the data to be projected (such as a frame of image data) from the graphics card (GPU) through the Windows API interface, and the resolution of the obtained image data at this time is 2520x1680.
- the image on the PC display is rendered by the GPU after rendering the image data.
- the GPU can store the image data in an image queue.
- an image queue can be stored in the graphics card (GPU), and the image queue includes image data that needs to be displayed on the PC display screen, and these image data can be drawn by the GPU to the data that needs to be displayed on the PC display screen Image data sent to display after rendering.
- a preset amount (such as 6 frames) of image data can be stored in the image queue, and after the screen capture coding thread obtains a frame of image data from it, the image data can be removed from the image queue, and the new image Data is stored to the image queue.
- the screen capture encoding thread encodes the first frame of image data, it can then acquire the second frame of image data and the third frame of image data for encoding, thereby continuously performing the process of acquiring data and encoding.
- the data to be projected may be red, green and blue RGB image data, and after the screen capture coding thread obtains the RGB image data, it may convert it into NV12 format. Then, the screen capture encoding thread calls the encoder to compress and encode the data to be projected after the format conversion, that is, to encode the image data in the H264 format.
- the screen capture encoding thread of the PC sends the encoded image data to the second communication module of the smart TV along the above-mentioned socket data channel through the first communication module, and after the second communication module of the smart TV receives the encoded image data, Call the decoder through the decoding thread to decode the image data, for example, decode it into NV12 format image data, and then call the display driver to be displayed on the display screen.
- the screen capture encoding thread can obtain a frame of image data from the image queue, then call the encoder to encode the frame of image data, and send the encoded data to the smart TV by the first communication module, and the first communication module of the smart TV After the second communication module receives the coded data, it calls the decoder to decode, and then the display screen of the smart TV displays the image corresponding to the data to be projected.
- the PC when the PC obtains the data to be projected and encodes the data to be projected, it can start a screen capture programming thread, and after the screen capture coding thread obtains a frame of image data, it immediately calls the encoder to the image data Encode and send to smart TV for decoding and display.
- the embodiment of the present application does not limit the encoding format of the encoder and the decoding format of the decoder, as long as the process of encoding, decoding and displaying can be realized.
- the electronic device implementing the method includes hardware structures and/or software modules corresponding to each function.
- the present application can be implemented in the form of hardware or a combination of hardware and computer software in combination with the units and algorithm steps of each example described in the embodiments disclosed herein. Whether a certain function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Professionals may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the protection scope of the present application.
- the embodiment of the present application may divide the electronic device into functional modules according to the above method examples.
- each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
- the above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules. It should be noted that the division of modules in the embodiment of the present application is schematic, and is only a logical function division, and there may be other feasible division methods in actual implementation. In the following, description will be made by taking the division of each functional module corresponding to each function as an example.
- FIG. 13 is a schematic block diagram of an apparatus 800 for handling screen projection exceptions according to an embodiment of the present application.
- the apparatus 800 may be used to perform the actions performed by the screen projection source device in the above method embodiments.
- the device 800 includes a screen projection unit 810 and a processing unit 820 .
- the screen projection unit 810 is configured to realize the screen projection from the screen projection source device to the screen projection target device through the screen projection application; wherein, the screen projection application is an application installed in the screen projection source device for triggering screen projection between devices;
- a processing unit 820 configured to restart the screen projection application when the screen projection application is closed abnormally;
- the processing unit 820 is further configured to set the state of the virtual display driver to a disabled state when it is detected that the virtual display driver is in an enabled state;
- the virtual display driver is a driver program used in the screen projection source device to realize the screen projection function
- the driver program is software corresponding to the hardware and used to drive the graphics card.
- the driver is a small piece of code added to the operating system that contains information about a hardware device.
- the screen projection source device projects the screen to the screen projection target device through the screen projection application
- the state of the virtual display driver is set to the disabled state, In this way, the virtual display driver will no longer create a virtual display. Therefore, if the virtual display does not exist, the screen projection source device cannot capture the image for screen projection. Therefore, in the non-screen projection scene after the screen projection application is restarted,
- the display screen of the screen projection source device will display normally without black screen phenomenon.
- the device 800 may further include a receiving unit, configured to receive the user's first An input, the first input is only used to trigger the screen display of the screen projection target device. In this case, the processing unit 820 does not respond to the first input.
- processing unit 820 is further configured to:
- the processing unit 820 is further configured to: after the screen projection source device sets the state of the virtual display driver to a disabled state through the screen projection application, when the virtual display driver is disabled state, the screen projection source device prohibits the virtual display driver from creating a virtual display.
- the image displayed on the virtual display is used to be displayed by the screen-casting target device during screen-casting.
- processing unit 820 is further configured to:
- the processing unit 820 is configured to restart the screen projection application when the screen projection application is closed abnormally, including:
- the processing unit 820 restarts and starts the screen-casting application.
- the screen projection unit 810 is further configured to establish a screen projection connection with the screen projection target device through the screen projection application.
- the screen projection unit 810 may include a screen projection application, a registry, a virtual display driver, and a virtual display, and the screen projection unit 810 is specifically used for:
- the screen projection application writes the display parameters of the screen projection target device into the registry of the preset path
- the screen projection application sets the virtual display driver to an enabled state
- the virtual display driver reads the display parameters of the screen projection target device from the registry of the preset path;
- the virtual display driver creates a virtual display according to the display parameters of the screen projection target device, and the display parameters of the virtual display are consistent with the display parameters of the screen projection target device;
- the screen projection application acquires the display image of the virtual display
- the screen projection application sends the display image of the virtual display to the screen projection target device through the screen projection connection.
- the screen projection unit 810 is further configured to establish a screen projection connection with the screen projection target device through the screen projection application, specifically including:
- the screen projection unit 810 receives a third input from the user on the application icon of the screen projection application, and the third input is used to trigger the screen projection source device to establish a screen projection connection with the screen projection target device;
- the screen projection unit 810 searches for the screen projection target device, and displays an identifier of the screen projection target device;
- the screen projection unit 810 receives a fourth input from the user, and the fourth input is used to select the identifier of the screen projection target device;
- the screen projection unit 810 triggers the screen projection source device to establish a screen projection connection with the screen projection target device.
- the display parameters of the screen projection target device include display size, resolution and refresh rate of the display screen.
- the device 800 may correspond to the implementation of the method described in the embodiment of the present application, and the above-mentioned and other operations and/or functions of the units in the device 800 are for realizing the corresponding flow of the method, and for the sake of brevity, are not described here Let me repeat.
- FIG. 14 is a schematic structural diagram of an electronic device 900 provided by an embodiment of the present application.
- the electronic device 900 may include a processor 910, an external memory interface 920, an internal memory 921, a universal serial bus (universal serial bus, USB) interface 930, a charge management module 940, a power management unit 941, a battery 942, an antenna 1, and an antenna 2.
- SIM subscriber identification module
- the sensor module 980 may include a pressure sensor 980A, a gyroscope sensor 980B, an air pressure sensor 980C, a magnetic sensor 980D, an acceleration sensor 980E, a distance sensor 980F, a proximity light sensor 980G, a fingerprint sensor 980H, a temperature sensor 980I, a touch sensor 980J, and ambient light sensor 980K and bone conduction sensor 980L and the like.
- the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 900 .
- the electronic device 900 may include more or fewer components than shown in the figure, or combine certain components, or separate certain components, or arrange different components.
- the illustrated components can be realized in hardware, software or a combination of software and hardware.
- the processor 910 may include one or more processing units, for example: the processor 910 may include an application processor (application processor, AP), a modem processor, a graphics processing unit (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), controller, memory, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural network processor (neural-network processing unit, NPU) wait. Wherein, different processing units may be independent devices, or may be integrated in one or more processors. Wherein, the controller may be the nerve center and command center of the electronic device 900 . The controller can generate an operation control signal according to the instruction opcode and timing signal, and complete the control of fetching and executing the instruction.
- a memory may also be provided in the processor 910 for storing instructions and data.
- the memory in processor 910 is a cache memory.
- the memory may hold instructions or data that the processor 910 has just used or recycled. If the processor 910 needs to use the instruction or data again, it can be directly recalled from the memory. Repeated access is avoided, and the waiting time of the processor 910 is reduced, thereby improving the efficiency of the system.
- processor 910 may include one or more interfaces.
- the interface 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 transceiver (universal asynchronous receiver/transmitter, UART) interface, mobile industry processor interface (mobile industry processor interface, MIPI), general-purpose input and output (general-purpose input/output, GPIO) interface, subscriber identity module (subscriber identity module, SIM) interface, And/or a universal serial bus (universal serial bus, USB) interface, etc.
- I2C integrated circuit
- I2S integrated circuit built-in audio
- PCM pulse code modulation
- PCM pulse code modulation
- UART universal asynchronous transceiver
- mobile industry processor interface mobile industry processor interface
- MIPI mobile industry processor interface
- general-purpose input and output general-purpose input/output
- GPIO general
- the interface connection relationship between the modules shown in the embodiment of the present application is only a schematic illustration, and does not constitute a structural limitation of the electronic device 900 .
- the electronic device 900 may also adopt different interface connection manners in the foregoing embodiments, or a combination of multiple interface connection manners.
- the charging management module 940 is configured to receive charging input from the charger.
- the charger may be a wireless charger or a wired charger.
- the charging management module 940 can receive the charging input of the wired charger through the USB interface 930 .
- the charging management module 940 may receive wireless charging input through a wireless charging coil of the electronic device 900 . While the charging management module 940 is charging the battery 942 , it can also provide power for electronic devices through the power management unit 941 .
- the power management unit 941 is used to connect the battery 942 , the charging management module 940 and the processor 910 .
- the power management unit 941 receives the input of the battery 942 and/or the charging management module 940, and supplies power for the processor 910, the internal memory 921, the external memory, the display screen 994, the camera 993 and the wireless communication module 960, etc.
- the power management unit 941 can also be used to monitor parameters such as battery capacity, battery cycle times, and battery health status (leakage, impedance).
- the power management unit 941 may also be set in the processor 910 .
- the power management unit 941 and the charging management module 940 can also be set in the same device.
- the wireless communication function of the electronic device 900 may be realized by the antenna 1, the antenna 2, the mobile communication module 950, the wireless communication module 960, a modem processor, a baseband processor, and the like.
- Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals.
- Each antenna in electronic device 900 may be used to cover single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization of the antennas.
- Antenna 1 can be multiplexed as a diversity antenna of a wireless local area network.
- the antenna may be used in conjunction with a tuning switch.
- the mobile communication module 950 can provide wireless communication solutions including 2G/3G/4G/5G applied on the electronic device 900 .
- the mobile communication module 950 may include at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA) and the like.
- the mobile communication module 950 can receive electromagnetic waves through the antenna 1, filter and amplify the received electromagnetic waves, and send them to the modem processor for demodulation.
- the mobile communication module 950 can also amplify the signals modulated by the modem processor, and convert them into electromagnetic waves through the antenna 1 for radiation.
- at least part of the functional modules of the mobile communication module 950 may be set in the processor 910 .
- at least part of the functional modules of the mobile communication module 950 and at least part of the modules of the processor 910 may be set in the same device.
- a modem processor may include a modulator and a demodulator.
- the modulator is used for modulating the low-frequency baseband signal to be transmitted into a medium-high frequency signal.
- the demodulator is used to demodulate the received electromagnetic wave signal into a low frequency baseband signal. Then the demodulator sends the demodulated low-frequency baseband signal to the baseband processor for processing.
- the low-frequency baseband signal is passed to the application processor after being processed by the baseband processor.
- the application processor outputs a sound signal through an audio device (not limited to a speaker 970A, a receiver 970B, etc.), or displays an image or video through a display screen 994 .
- the modem processor may be a stand-alone device. In some other embodiments, the modem processor may be independent from the processor 910, and be set in the same device as the mobile communication module 950 or other functional modules.
- the wireless communication module 960 can provide wireless communication including WLAN (such as Wi-Fi), BT, global navigation satellite system (global navigation satellite system, GNSS), FM, NFC, IR or general 2.4G/5G applied on the electronic device 900. technology and other wireless communication solutions.
- the wireless communication module 960 may be one or more devices integrating at least one communication processing module.
- the wireless communication module 960 receives electromagnetic waves via the antenna 2 , frequency-modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 910 .
- the wireless communication module 960 can also receive the signal to be transmitted from the processor 910 , frequency-modulate and amplify it, and convert it into electromagnetic waves through the antenna 2 for radiation.
- the wireless communication module 960 may be a Wi-Fi and/or Bluetooth chip.
- the electronic device 900 can establish a connection with chips of electronic devices such as wireless earphones through the chip, so as to implement wireless communication and business processing between the electronic device 900 and other electronic devices through the connection.
- the Bluetooth chip can usually support BR/EDR Bluetooth and BLE.
- the antenna 1 of the electronic device 900 is coupled to the mobile communication module 950, and the antenna 2 is coupled to the wireless communication module 960, so that the electronic device 900 can communicate with the network and other devices through wireless communication technology.
- Wireless communication technologies may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), broadband code division Multiple access (wideband code division multiple access, WCDMA), time-division code division multiple access (TDSCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology etc.
- GNSS can include global positioning system (global positioning system, GPS), global navigation satellite system (global navigation satellite system, GLONASS), Beidou satellite navigation system (beidou navigation satellite system, BDS), quasi-zenith satellite system (quasi-zenith) satellite system (QZSS) and/or satellite based augmentation systems (SBAS).
- GPS global positioning system
- GLONASS global navigation satellite system
- Beidou satellite navigation system beidou navigation satellite system, BDS
- quasi-zenith satellite system quasi-zenith satellite system
- QZSS quasi-zenith satellite system
- SBAS satellite based augmentation systems
- the electronic device 900 implements a display function through a GPU, a display screen 994, an application processor, and the like.
- the GPU is a microprocessor for image processing, connected to the display screen 994 and the application processor. GPUs are used to perform mathematical and geometric calculations for graphics rendering.
- Processor 910 may include one or more GPUs that execute program instructions to generate or alter display information.
- the display screen 994 is used to display images, videos and the like.
- Display 994 includes a display panel.
- the display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active matrix organic light emitting diode or an active matrix organic light emitting diode (active-matrix organic light emitting diode, AMOLED), flexible light-emitting diode (flex light-emitting diode, FLED), Miniled, MicroLed, Micro-oLed, quantum dot light emitting diodes (quantum dot light emitting diodes, QLED), etc.
- the electronic device 900 may include 1 or N display screens 994, where N is a positive integer greater than 1.
- the electronic device 900 can realize the shooting function through an ISP, a camera 993 , a video codec, a GPU, a display screen 994 , an application processor, and the like.
- the ISP is used to process the data fed back by the camera 993. For example, when taking a picture, open the shutter, the light is transmitted to the photosensitive element of the camera through the lens, and the optical signal is converted into an electrical signal, and the photosensitive element of the camera transmits the electrical signal to the ISP for processing, and converts it into an image visible to the naked eye.
- ISP can also perform algorithm optimization on image noise, brightness, and skin tone. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene.
- the ISP may be located in the camera 993 .
- Camera 993 is used to capture still images or video.
- the object generates an optical image through the lens and projects it to the photosensitive element.
- the photosensitive element may be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor.
- CMOS complementary metal-oxide-semiconductor
- the photosensitive element converts the light signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal.
- the ISP outputs the digital image signal to the DSP for processing.
- DSP converts digital image signals into standard RGB, YUV and other image signals.
- the electronic device 900 may include 1 or N cameras 993, where N is a positive integer greater than 1.
- Digital signal processors are used to process digital signals. In addition to digital image signals, they can also process other digital signals. For example, when the electronic device 900 selects a frequency point, the digital signal processor is used to perform Fourier transform on the energy of the frequency point.
- Video codecs are used to compress or decompress digital video.
- the electronic device 900 may support one or more video codecs.
- the electronic device 900 can play or record videos in various encoding formats, for example: moving picture experts group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, MPEG4 and so on.
- MPEG moving picture experts group
- the NPU is a neural-network (NN) computing processor.
- NN neural-network
- Applications such as intelligent cognition of the electronic device 900 can be implemented through the NPU, such as image recognition, face recognition, speech recognition, text understanding, and the like.
- the external memory interface 920 may be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 900.
- the external memory card communicates with the processor 910 through the external memory interface 920 to implement a data storage function. Such as saving music, video and other files in the external memory card.
- the internal memory 921 may be used to store computer-executable program codes including instructions.
- the processor 910 executes various functional applications and data processing of the electronic device 900 by executing instructions stored in the internal memory 921 .
- the internal memory 921 may include an area for storing programs and an area for storing data.
- the storage program area can store an operating system, at least one application program required by a function (such as a sound playing function, an image playing function, etc.) and the like.
- the storage data area can store data (such as audio data, phone book, etc.) created during the use of the electronic device 900 .
- the internal memory 921 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash storage (universal flash storage, UFS) and the like.
- the processor 910 may be configured to execute the above program codes, and call related modules to realize the functions of the electronic device in the embodiment of the present application. For example, multiple communication links are established with another electronic device; when there is a preset service (such as a file transfer service, etc.), the data of the preset service is transmitted with another electronic device through multiple communication links.
- a preset service such as a file transfer service, etc.
- the electronic device 900 can realize the audio function through the speaker 970A, the receiver 970B, the microphone 970C, the earphone interface 970D, and the application processor in the audio module 970 . Such as music playback, recording, etc.
- the audio module 970 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signal.
- the audio module 970 may also be used to encode and decode audio signals.
- the audio module 970 may be set in the processor 910 , or some functional modules of the audio module 970 may be set in the processor 910 .
- Loudspeaker 970A also called “horn” is used to convert audio electrical signals into sound signals.
- Electronic device 900 can listen to music through speaker 970A, or listen to hands-free calls.
- Receiver 970B also called “earpiece” is used to convert audio electrical signals into sound signals.
- the receiver 970B can be placed close to the human ear to receive the voice.
- Microphone 970C also called “microphone” is used to convert sound signal into electrical signal. When making a call or sending a voice message, the user can approach the microphone 970C to make a sound through the mouth, and input the sound signal to the microphone 970C.
- the electronic device 900 may be provided with at least one microphone 970C. In other embodiments, the electronic device 900 may be provided with two microphones 970C, which may also implement a noise reduction function in addition to collecting sound signals. In some other embodiments, the electronic device 900 can also be provided with three, four or more microphones 970C, so as to collect sound signals, reduce noise, identify sound sources, and realize directional recording functions, etc.
- the earphone interface 970D is used to connect wired earphones.
- the earphone interface 970D may be a USB interface 930, or a 3.5mm open mobile terminal platform (OMTP) standard interface, or a cellular telecommunications industry association of the USA (CTIA) standard interface.
- OMTP open mobile terminal platform
- CTIA cellular telecommunications industry association of the USA
- the pressure sensor 980A is used to sense the pressure signal and convert the pressure signal into an electrical signal.
- pressure sensor 980A may be located on display screen 994 .
- pressure sensors 980A such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors.
- a capacitive pressure sensor may be comprised of at least two parallel plates with conductive material.
- the electronic device 900 may also calculate the touched position according to the detection signal of the pressure sensor 980A.
- touch operations acting on the same touch position but with different touch operation intensities may correspond to different operation instructions. For example: when a touch operation with a touch operation intensity less than the first pressure threshold acts on the short message application icon, an instruction to view short messages is executed. When a touch operation whose intensity is greater than or equal to the first pressure threshold acts on the icon of the short message application, the instruction of creating a new short message is executed.
- the gyro sensor 980B can be used to determine the motion posture of the electronic device 900 .
- the angular velocity of the electronic device 900 about three axes can be determined by the gyro sensor 980B.
- the gyro sensor 980B can be used for image stabilization. Exemplarily, when the shutter is pressed, the gyro sensor 980B detects the shaking angle of the electronic device 900, calculates the distance that the lens module needs to compensate according to the angle, and allows the lens to counteract the shaking of the electronic device 900 through reverse movement to achieve anti-shake.
- the gyroscope sensor 980B can also be used for navigation and somatosensory game scenes.
- the acceleration sensor 980E can detect the acceleration of the electronic device 900 in various directions (generally three axes). When the electronic device 900 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the posture of electronic devices, and can be used in applications such as horizontal and vertical screen switching, pedometers, etc.
- the distance sensor 980F is used to measure distance.
- the electronic device 900 can measure the distance by infrared or laser. In some embodiments, when shooting a scene, the electronic device 900 can use the distance sensor 980F to measure distance to achieve fast focusing.
- the proximity light sensor 980G may include, for example, a light-emitting diode (LED) and a light detector, such as a photodiode.
- the light emitting diodes may be infrared light emitting diodes.
- the electronic device 900 emits infrared light through the light emitting diode.
- Electronic device 900 uses photodiodes to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it may be determined that there is an object near the electronic device 900 . When insufficient reflected light is detected, the electronic device 900 may determine that there is no object near the electronic device 900 .
- the electronic device 900 can use the proximity light sensor 980G to detect that the user holds the electronic device 900 close to the ear to make a call, so as to automatically turn off the screen to save power.
- the proximity light sensor 980G can also be used in leather case mode, automatic unlock and lock screen in pocket mode.
- the ambient light sensor 980K is used for sensing ambient light brightness.
- the electronic device 900 can adaptively adjust the brightness of the display screen 994 according to the perceived ambient light brightness.
- the ambient light sensor 980K can also be used to automatically adjust the white balance when taking pictures.
- the ambient light sensor 980K can also cooperate with the proximity light sensor 980G to detect whether the electronic device 900 is in the pocket, so as to prevent accidental touch.
- the air pressure sensor 980C is used to measure air pressure.
- the electronic device 900 calculates the altitude based on the air pressure value measured by the air pressure sensor 980C to assist positioning and navigation.
- the magnetic sensor 980D includes a Hall sensor.
- the electronic device 900 may detect displacement of the electronic device 900 using the magnetic sensor 980D.
- the Hall sensor can use a magnet to form a linear trapezoidal magnetic field (or called a ramp magnetic field).
- the displacement change of the Hall sheet in the linear magnetic field is consistent with the change of the magnetic field intensity, and the formed Hall potential is also consistent with The displacement is proportional, and the electronic device 900 can measure the displacement by obtaining the Hall potential.
- the fingerprint sensor 980H is used to collect fingerprints.
- the electronic device 900 can use the collected fingerprint features to unlock fingerprints, access application locks, take photos with fingerprints, answer incoming calls with fingerprints, and the like.
- the temperature sensor 980I is used to detect temperature.
- the electronic device 900 uses the temperature detected by the temperature sensor 980I to implement a temperature processing strategy. For example, when the temperature reported by the temperature sensor 980I exceeds the threshold, the electronic device 900 may reduce the performance of a processor located near the temperature sensor 980I, so as to reduce power consumption and implement thermal protection.
- the electronic device 900 heats the battery 942 to avoid abnormal shutdown of the electronic device 900 caused by the low temperature.
- the electronic device 900 boosts the output voltage of the battery 942 to avoid abnormal shutdown caused by low temperature.
- Touch sensor 980J also known as "touch panel”.
- the touch sensor 980J can be arranged on the display screen 994, and the touch sensor 980J and the display screen 994 form a touch screen, also called “touch screen”.
- the touch sensor 980J is used to detect a touch operation on or near it.
- the touch sensor can pass the detected touch operation to the application processor to determine the type of touch event.
- Visual output related to touch operations can be provided through the display screen 994 .
- the touch sensor 980J may also be disposed on the surface of the electronic device 900 , which is different from the position of the display screen 994 .
- the bone conduction sensor 980L can acquire vibration signals.
- the bone conduction sensor 980L can acquire the vibration signal of the vibrating bone mass of the human voice.
- the bone conduction sensor 980L can also touch the human pulse and receive the blood pressure beating signal.
- the bone conduction sensor 980L can also be disposed in the earphone, combined into a bone conduction earphone.
- the audio module 970 can analyze the voice signal based on the vibration signal of the vibrating bone mass of the vocal part acquired by the bone conduction sensor 980L, so as to realize the voice function.
- the application processor can analyze the heart rate information based on the blood pressure beating signal acquired by the bone conduction sensor 980L, so as to realize the heart rate detection function.
- the keys 990 include a power key, a volume key, and the like.
- the key 990 may be a mechanical key. It can also be a touch button.
- the electronic device 900 may receive key input and generate key signal input related to user settings and function control of the electronic device 900 .
- the motor 991 can generate vibration prompts.
- the motor 991 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback.
- touch operations applied to different applications may correspond to different vibration feedback effects.
- the motor 991 can also correspond to different vibration feedback effects for touch operations on different areas of the display screen 994 .
- Different application scenarios for example: time reminder, receiving information, alarm clock, games, etc.
- the touch vibration feedback effect can also support customization.
- the indicator 992 can be an indicator light, and can be used to indicate charging status, power change, and can also be used to indicate messages, missed calls, notifications, and the like.
- the SIM card interface 995 is used for connecting a SIM card.
- the SIM card can be connected and separated from the electronic device 900 by inserting it into the SIM card interface 995 or pulling it out from the SIM card interface 995 .
- the electronic device 900 may support 1 or N SIM card interfaces, where N is a positive integer greater than 1.
- SIM card interface 995 can support Nano SIM card, Micro SIM card, SIM card, etc.
- the same SIM card interface 995 can insert multiple cards at the same time. The types of multiple cards may be the same or different.
- the SIM card interface 995 is also compatible with different types of SIM cards.
- the SIM card interface 995 is also compatible with external memory cards.
- the electronic device 900 interacts with the network through the SIM card to implement functions such as calling and data communication.
- the electronic device 900 adopts an eSIM, that is, an embedded SIM card.
- the eSIM card can be embedded in the electronic device 900 and cannot be separated from the electronic device 900 .
- the electronic device 900 may be a mobile terminal or a non-mobile terminal.
- the electronic device 900 may be a mobile phone, a tablet computer, a notebook computer, a handheld computer, a vehicle terminal, a wearable device, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a netbook or a personal digital assistant (personal digital assistant) , PDA), wireless headsets, wireless bracelets, wireless smart glasses, wireless watches, augmented reality (augmented reality, AR) / virtual reality (virtual reality, VR) equipment, desktop computers, smart home appliances (such as TVs, speakers, refrigerators, air purifiers, air conditioners, rice cookers), etc.
- the electronic device 900 may also be collectively referred to as an Internet of Things (Internet of Things, IoT) device.
- IoT Internet of Things
- the electronic device 900 shown in FIG. 14 may correspond to the device 800 shown in FIG. 13 .
- the processor 910 and the wireless communication module 960 in the electronic device 900 shown in FIG. 14 may respectively correspond to the processing unit 820 and the screen projection unit 810 in the apparatus 800 in FIG. 13 .
- the processor 910 executes computer-executable instructions in the memory 921 to execute the operation steps of the above-mentioned method through the electronic device 900 .
- the present application provides a chip, the chip is coupled with a memory, and the chip is used to read and execute computer programs or instructions stored in the memory, so as to execute the methods in the foregoing embodiments.
- the present application provides an electronic device, which includes a chip, and the chip is used to read and execute computer programs or instructions stored in a memory, so that the methods in each embodiment are executed.
- the embodiment of the present application also provides a computer-readable storage medium, the computer-readable storage medium stores program codes, and when the computer program codes run on the computer, the computer executes the above-mentioned Methods in the Examples.
- the embodiments of the present application further provide a computer program product, the computer program product includes computer program code, and when the computer program code runs on the computer, the computer executes the Methods.
- the electronic device includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer.
- the hardware layer may include hardware such as a central processing unit (central processing unit, CPU), a memory management unit (memory management unit, MMU), and memory (also called main memory).
- the operating system of the operating system layer can be any one or more computer operating systems that realize business processing through processes, for example, Linux operating system, Unix operating system, Android operating system, iOS operating system, or windows operating system.
- the application layer may include applications such as browsers, address books, word processing software, and instant messaging software.
- the embodiment of the present application does not specifically limit the specific structure of the execution subject of the method provided in the embodiment of the present application, as long as the program that records the code of the method provided in the embodiment of the present application can be executed according to the method provided in the embodiment of the present application Just communicate.
- the subject of execution of the method provided by the embodiment of the present application may be an electronic device, or a functional module in the electronic device capable of invoking a program and executing the program.
- Computer-readable media may include, but are not limited to, magnetic storage devices (such as hard disks, floppy disks, or tapes, etc.), optical disks (such as compact discs (compact disc, CD), digital versatile discs (digital versatile disc, DVD), etc. ), smart cards and flash memory devices (for example, erasable programmable read-only memory (EPROM), card, stick or key drive, etc.).
- magnetic storage devices such as hard disks, floppy disks, or tapes, etc.
- optical disks such as compact discs (compact disc, CD), digital versatile discs (digital versatile disc, DVD), etc.
- smart cards and flash memory devices for example, erasable programmable read-only memory (EPROM), card, stick or key drive, etc.
- Various storage media described herein can represent one or more devices and/or other machine-readable media for storing information.
- the term "machine-readable medium” may include, but is not limited to, wireless channels and various other media capable of storing, containing and/or carrying instructions and/or data.
- processors mentioned in the embodiment of the present application may be a central processing unit (central processing unit, CPU), and may also be other general processors, digital signal processors (digital signal processor, DSP), application specific integrated circuits ( application specific integrated circuit (ASIC), off-the-shelf programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
- a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
- the memory mentioned in the embodiments of the present application may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories.
- the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically programmable Erases programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
- the volatile memory may be random access memory (RAM).
- RAM can be used as an external cache.
- RAM may include the following forms: static random access memory (static RAM, SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM) , double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous connection dynamic random access memory (synchlink DRAM, SLDRAM) and Direct memory bus random access memory (direct rambus RAM, DR RAM).
- static random access memory static random access memory
- dynamic RAM dynamic random access memory
- DRAM synchronous dynamic random access memory
- SDRAM synchronous DRAM
- double data rate SDRAM double data rate SDRAM
- DDR SDRAM double data rate SDRAM
- ESDRAM enhanced synchronous dynamic random access memory
- SLDRAM synchronous connection dynamic random access memory
- Direct memory bus random access memory direct rambus RAM, DR RAM
- the processor is a general-purpose processor, DSP, ASIC, FPGA or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components
- the memory storage module may be integrated in the processor.
- memories described herein are intended to include, but are not limited to, these and any other suitable types of memories.
- the disclosed systems, devices and methods may be implemented in other ways.
- the device embodiments described above are only illustrative.
- the division of the units is only a logical function division. In actual implementation, there may be other division methods.
- multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
- the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- each functional unit in each embodiment of the present application may be integrated into one unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
- the functions described above are realized in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium.
- the essence of the technical solution of this application, or the part that contributes to the prior art, or the part of the technical solution can be embodied in the form of computer software products, which are stored in a storage
- the computer software product includes several instructions, which are used to make a computer device (which may be a personal computer, server, or network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
- the aforementioned storage medium may include, but is not limited to: various media capable of storing program codes such as U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请提供了一种投屏异常处理方法及电子设备,涉及通信技术领域。通过本申请方案,在投屏源设备通过投屏应用向投屏目标设备投屏时,若投屏应用异常关闭,则在投屏应用重新开启之后,将虚拟显示驱动的状态设置为禁用状态,这样虚拟显示驱动不会再创建虚拟显示器,因此在虚拟显示器不存在的情况下,投屏源设备就无法抓取用于投屏的图像,因此在投屏应用重启后的非投屏场景中,当用户选择投屏源设备本机投屏功能中的仅第二屏幕显示选项时,投屏源设备显示屏正常显示,而不会出现黑屏现象。
Description
本申请要求于2021年9月26日提交国家知识产权局、申请号为202111130333.2、申请名称为“投屏异常处理方法及电子设备”的中国专利申请的优先权,以及2021年10月15日提交国家知识产权局、申请号为202111205897.8、申请名称为“投屏异常处理方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信技术领域,尤其涉及一种投屏异常处理方法及电子设备。
随着终端技术及通信技术的发展,电子设备之间的投屏应用越来越普及。电子设备(称为投屏源设备)与另一电子设备(称为投屏目标设备)之间在建立投屏连接之后,投屏源设备向投屏目标设备进行无线投屏。
在投屏过程中,如果投屏源设备异常关机(例如由用户的非正规关机操作触发,或者由设备断电原因触发),那么会导致投屏源设备与投屏目标设备之间的投屏业务失效。
然而,在投屏源设备重新启动之后,若用户按压投屏源设备的Windows+P键可触发投屏源设备显示多个投屏选项,例如“仅本机屏幕显示”选项、“复制”选项、“扩展”选项、“仅第二屏幕显示”选项。若用户选择“仅第二屏幕显示”选项,则投屏源设备的显示屏在非投屏场景中会出现黑屏现象,并且通过重新启动投屏源设备也无法解决上述问题。而通常在非投屏场景中,当用户选择本机投屏功能中的“仅第二屏幕显示”选项时,本机显示屏并不会出现黑屏现象。
发明内容
本申请提供一种投屏异常处理方法及电子设备,解决了由于投屏过程中投屏源设备异常关机,导致投屏源设备重启后在非投屏场景中会出现黑屏现象的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种投屏异常处理方法,该方法包括:
投屏源设备通过投屏应用向投屏目标设备投屏;在投屏应用异常关闭的情况下,投屏源设备重新开启投屏应用;投屏源设备检测到虚拟显示驱动处于启用状态,投屏源设备将虚拟显示驱动的状态设置为禁用状态。
其中,投屏应用为投屏源设备中安装的用于触发设备间投屏的应用程序;虚拟显示驱动是投屏源设备中用于实现投屏功能的驱动程序;
通过本申请方案,在投屏源设备通过投屏应用向投屏目标设备投屏时,若投屏应用异常关闭,则在投屏应用重新开启之后,将虚拟显示驱动的状态设置为禁用状态,这样虚拟显示驱动不会再创建虚拟显示器,因此在虚拟显示器不存在的情况下,投屏源设备就无法抓取用于投屏的图像,因此在投屏应用重启后的非投屏场景中,当用户选择投屏源设备本机投屏功能中的“仅第二屏幕显示”选项时,投屏源设备显示屏正常显示,而不会出现黑屏 现象。
在一种可能实现方式中,上述方法还可以包括:投屏源设备检测到投屏源设备中的注册表中有显示器参数;投屏源设备删除注册表中的显示器参数。其中,注册表为存储投屏目标设备的显示器参数的存储区域。
在一种可能实现方式中,上述方法还可以包括:当投屏应用异常关闭时,投屏源设备断开与投屏目标设备之间的投屏连接。
在一种可能实现方式中,在投屏源设备将虚拟显示驱动的状态设置为禁用状态之后,上述方法还可以包括:当虚拟显示驱动处于禁用状态时,投屏源设备禁止虚拟显示驱动创建虚拟显示器;其中,虚拟显示器所显示的图像用于在投屏时由投屏目标设备显示。
在一种可能实现方式中,在投屏源设备将虚拟显示驱动的状态设置为禁用状态之后,和/或在投屏源设备删除注册表中的显示器参数之后,上述方法还可以包括:投屏源设备接收到用户的第一输入,第一输入仅用于触发投屏目标设备的屏幕显示;投屏源设备不响应第一输入。
在一种可能实现方式中,在投屏应用异常关闭的情况下,投屏源设备重新开启投屏应用,具体包括:在投屏应用异常关闭的情况下,投屏源设备自动开启投屏应用;或者,在投屏应用异常关闭的情况下,响应于用户触发操作,投屏源设备重新开启投屏应用。
在一种可能实现方式中,当投屏应用异常关闭时,投屏源设备重新开启投屏应用,具体包括:当投屏源设备异常关机时,投屏应用异常关闭;响应于用户的第二输入,投屏源设备重新启动并开启投屏应用。
在一种可能实现方式中,应用于投屏源设备,投屏源设备安装有投屏应用,与投屏应用对应的Windows接口,以及虚拟显示驱动,并且投屏源设备设置有注册表;
其中,上述投屏源设备通过投屏应用向投屏目标设备投屏,包括:
投屏源设备通过投屏应用,建立与投屏目标设备之间的投屏连接;
投屏源设备通过投屏连接,获取投屏目标设备的显示器参数;
投屏源设备通过投屏应用,将投屏目标设备的显示器参数写入预设路径的注册表;
投屏源设备通过投屏应用调用Windows接口,将虚拟显示驱动设置为启用状态;其中,Windows接口为投屏源设备安装的与投屏应用对应的应用程序接口;
投屏源设备通过虚拟显示驱动,从注册表中读取投屏目标设备的显示器参数;
投屏源设备通过虚拟显示驱动,根据投屏目标设备的显示器参数创建虚拟显示器;
虚拟显示驱动通过Windows接口,向投屏应用反馈虚拟显示器创建成功;
投屏源设备通过投屏应用,获取虚拟显示器显示的图像,作为投屏图像;其中,虚拟显示器显示的图像为投屏源设备中显示的图像;
投屏源设备通过投屏应用,向投屏目标设备发送投屏图像。
在一种可能实现方式中,投屏源设备检测到虚拟显示驱动处于启用状态,包括:投屏源设备通过投屏应用调用Windows接口,检测到虚拟显示驱动处于启用状态;
投屏源设备将虚拟显示驱动的状态设置为禁用状态,包括:投屏源设备通过投屏应用调用Windows接口,将虚拟显示驱动的状态设置为禁用状态。
在一种可能实现方式中,投屏源设备检测到投屏源设备中的注册表中有显示器参数,包括:投屏源设备通过投屏应用调用Windows接口,检测到投屏源设备中的注册表中有显 示器参数;
投屏源设备删除注册表中的显示器参数,包括:投屏源设备通过投屏应用调用Windows接口,删除注册表中的显示器参数。
在一种可能实现方式中,投屏源设备通过投屏应用,建立与投屏目标设备之间的投屏连接,包括:
投屏源设备接收到用户在投屏应用的应用图标上的第三输入,该第三输入用于触发投屏源设备与投屏目标设备建立投屏连接;
响应于第三输入,投屏源设备搜索到投屏目标设备,并显示投屏目标设备的标识;
投屏源设备接收到用户的第四输入,第四输入用于选择投屏目标设备的标识;
响应于第四输入,投屏源设备与投屏目标设备建立投屏连接。
在一种可能实现方式中,投屏目标设备的显示器参数包括以下至少一项:显示屏的显示尺寸、分辨率和刷新率。
第二方面,本申请提供一种投屏异常处理装置,该装置包括用于执行上述第一方面中的方法的单元。该装置可对应于执行上述第一方面中描述的方法,该装置中的单元的相关描述请参照上述第一方面的描述,为了简洁,在此不再赘述。
其中,上述第一方面描述的方法可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,处理模块或单元、显示模块或单元等。
第三方面,本申请提供一种电子设备,该电子设备包括处理器,处理器与存储器耦合,存储器用于存储计算机程序或指令,处理器用于执行存储器存储的计算机程序或指令,使得第一方面中的方法被执行。
例如,处理器用于执行存储器存储的计算机程序或指令,使得该装置执行第一方面中的方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有用于实现第一方面中的方法的计算机程序(也可称为指令或代码)。
例如,该计算机程序被计算机执行时,使得该计算机可以执行第一方面中的方法。
第五方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选地,该芯片还包括存储器,存储器与处理器通过电路或电线连接。
第六方面,本申请提供一种芯片系统,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选地,该芯片系统还包括存储器,存储器与处理器通过电路或电线连接。
第七方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序(也可称为指令或代码),该计算机程序被计算机执行时使得该计算机实现第一方面中的方法。
可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
图1为本申请实施例提供的一种投屏异常处理方法的应用场景示意图;
图2为本申请实施例提供的一种投屏异常处理方法的流程示意图;
图3A至图3E分别为本申请实施例提供的一种投屏异常处理方法中投屏场景示意图;
图4为本申请实施例提供的一种投屏异常处理方法中各模块交互的流程示意图;
图5为本申请实施例提供的一种投屏异常处理方法中各模块交互的另一示意图;
图6为本申请实施例提供的一种投屏异常处理方法的另一流程示意图;
图7为本申请实施例提供的一种投屏异常处理方法的另一流程示意图;
图8为本申请实施例提供的一种投屏异常处理方法的另一流程示意图;
图9为本申请实施例提供的一种投屏异常处理方法应用的系统架构示意图;
图10为本申请实施例提供的一种投屏异常处理方法中各模块交互的流程示意图;
图11为本申请实施例提供的一种投屏异常处理方法应用的另一系统架构示意图;
图12为本申请实施例提供的一种投屏异常处理方法的另一流程示意图;
图13为本申请实施例提供的一种投屏异常处理装置的结构示意图;
图14为本申请实施例提供的电子设备的结构示意图。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中符号“/”表示关联对象是或者的关系,例如A/B表示A或者B。
本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一输入和第二输入等是用于区别不同的输入,而不是用于描述输入的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
图1示出了本申请的各个示例性实施例所涉及的系统架构示意图。如图1所示,该系统架构包括投屏源设备10和投屏目标设备20。其中,投屏源设备10和投屏目标设备20之间可以通过无线通信技术建立并保持无线连接。当投屏源设备10和投屏目标设备20处于同一局域网中时,投屏源设备10可以发起向投屏目标设备20进行投屏。
示例性地,假设投屏源设备10和投屏目标设备20均处于开机状态且处于同一局域网(例如Wi-Fi网络)中,在投屏源设备10开启投屏功能后,投屏源设备10可以搜索所有支持投屏的设备,在投屏源设备10发现投屏目标设备20后,投屏源设备10可以基于投屏协议与投屏目标设备20协商进行投屏,在协商完成后,投屏源设备10可以将投屏源设备10的屏幕显示内容投射到投屏目标设备20的屏幕上进行显示。
其中,上述投屏源设备10可以为笔记本电脑、平板电脑、个人计算机(personal computer,PC)等具有显示屏的电子设备,投屏目标设备20可以为智能电视或平板电脑等具有显示屏的电子设备,本申请实施例对通信系统中的电子设备的设备类型不予具体限定。
示例性地,投屏源设备10中可以安装有电脑管家应用程序(application,APP),该电脑管家APP可以包括电脑投屏功能选项,投屏源设备10可以通过电脑管家APP将Windows系统桌面扩展在平板电脑或者大屏设备等投屏目标设备20上显示。
如图1中(a)所示,投屏源设备10与投屏目标设备20建立无线投屏连接,并且投屏源设备10向投屏目标设备20进行无线投屏。
当投屏源设备10异常关机(例如由用户的非正规关机操作触发,或者由设备断电原因触发)时,则会导致电脑管家APP异常关闭。投屏源设备10与投屏目标设备20之间的无线投屏连接由于电脑异常关闭而断开,在此情况下,投屏源设备10不再向投屏目标设备20进行投屏。为了便于描述,可以将多个设备之间未建立无线投屏连接的这种场景称为非投屏场景。
如图1中(b)所示,在投屏源设备10重新启动之后,用户按压投屏源设备10的Windows+P键可以触发投屏源设备10显示多个投屏选项,例如“仅本机屏幕显示”选项、“复制”选项、“扩展”选项、“仅第二屏幕显示”选项。若用户选择“仅第二屏幕显示”选项,则如图1中(c)所示,投屏源设备10的显示屏在非投屏场景中出现了黑屏现象,并且通过重新启动设备也无法解决上述问题。而通常在非投屏场景中,当用户选择本机投屏功能中的“仅第二屏幕显示”选项时,本机显示屏并不会出现黑屏现象。
本申请方案认为导致上述问题的原因在于:在某些非投屏场景或者无线投屏连接异常断开的场景中,由于用于无线投屏的虚拟显示驱动仍然处于启用状态,而启用状态的虚拟显示驱动会创建用于投屏显示的虚拟显示器,而虚拟显示器的存在便会导致当用户选择本机投屏功能中仅第二屏幕显示选项时出现本机黑屏的问题。
鉴于此,本申请提出了一种投屏异常处理方法,增加异常判断机制:在电脑管家APP异常关闭后重新开启的情况下,检查虚拟显示驱动是否处于启用状态,如果虚拟显示驱动处于启用状态,则禁用虚拟显示驱动;和/或,检查注册表中是否存在显示器参数,如果注册表中存在显示器参数,则清除注册表中的显示参数。如此,虚拟显示驱动在禁用状态下将不会创建用于投屏显示的虚拟显示器,在此情况下,当用户选择本机投屏功能中的“仅第二屏幕显示”选项时,本机显示屏并不会出现黑屏现象。
本申请实施例提供的投屏异常处理方法的执行主体可以为电子设备(例如投屏源设备),也可以为该电子设备中能够实现该投屏异常处理方法的功能模块和/或功能实体,并且本申请方案能够通过硬件和/或软件的方式实现,具体的可以根据实际使用需求确定,本申请实施例不作限定。下面以投屏源设备为例,结合附图对本申请实施例提供的投屏异常处理方法进行示例性的说明。
图2是本申请实施例提供的投屏异常处理方法的流程示意图。参照图2所示,该方法包括下述的步骤S101-S103。
S101,投屏源设备通过投屏应用向投屏目标设备投屏。
其中,投屏应用为投屏源设备中安装的用于触发设备间投屏的应用程序。示例性地,如图3A所示,投屏源设备10中安装有电脑管家APP,电脑管家APP可以支持投屏功能, 如图3B所示,电脑管家APP的用户界面(user interface,UI)中显示有电脑投屏选项,用户可以在电脑管家APP的UI界面中选择电脑投屏选项,触发电脑管家APP调用投屏应用程序。
下面先描述通过用户在投屏源设备的投屏应用上操作触发投屏源设备向投屏目标设备投屏的过程。图3A至图3E分别示出了用户通过电脑管家APP触发投屏的人机交互界面示意图。下面结合图3A至图3E,以投屏源设备为笔记本电脑,投屏目标设备为智能电视为例进行示例性说明。
如图3A所示,笔记本电脑10接收到用户在电脑管家APP上的输入,例如用户点击电脑管家APP的图标。如图3B所示,响应于用户对电脑管家APP的操作,笔记本电脑10显示电脑管家APP的UI界面,在电脑管家APP的UI界面中包括电脑投屏对应的用户操作窗口。
在该电脑投屏对应的用户操作窗口中显示有投屏模式选项。投屏模式选项包括镜像模式选项和扩展模式选项。其中,在镜像模式下,可以在连接设备上镜像显示电脑屏幕内容,在扩展模式下,可以在连接设备上扩展显示电脑屏幕内容。
在该用户操作窗口中还显示有用于触发建立无线投屏连接的控件,例如“立即连接”控件。其中,立即连接控件用于触发笔记本电脑与智能电视建立投屏连接。如图3C所示,响应于用户对“立即连接”控件的输入(例如点击操作),笔记本电脑10搜索附近所有支持投屏的设备,并将搜索到的一个或更多个设备的标识(例如设备名称)展示给用户选择。如图3C所示,笔记本电脑10搜索到智能电视20,并显示智能电视20的标识。
需要说明的是,本申请实施例以“电脑管家APP”的命名为例示出,但其他具有相同或相似功能的APP同样适用于本申请实施例;另外,本申请实施例以“立即连接”的命名为例示出,但其他具有相同或相似功能的命名同样适用于本申请实施例,比如“一键投屏”、“开启投屏”等。
在一些实施例中,若笔记本电脑10上具有其他开启投屏功能的入口,也可通过其他入口输入投屏操作。比如,在Windows设置界面,具有开启投屏的功能按钮。
在一些场景中,如果用户想要将手机的显示内容投屏至智能电视,则可以通过手机中的“无线投屏”或“镜像投屏”开关输入上述投屏操作。
进一步地,如图3C所示,笔记本电脑10接收用户选中(例如点击)设备20(即智能电视)标识的操作。
在一些实施例中,用户还可以通过语音输入对智能电视的选择操作,例如,用户通过PC的麦克风语音输入“设备2”,麦克风接收到该声音信号后,可以转换为电信号并发送至电脑管家APP。
进一步地,响应于上述选择操作,笔记本电脑10建立与智能电视20的投屏连接。
进一步地,笔记本电脑10获取待投屏数据(称为投屏图像),将该待投屏数据发送至智能电视,以使智能电视显示投屏图像。
可选地,笔记本电脑10可以按照用户所选的镜像模式或者扩展模式,向智能电视20进行投屏。
如图3D所示,在镜像模式下,可以在智能电视20上镜像显示笔记本电脑10的屏幕内容,此时这两个设备屏幕显示内容保持一致。
如图3E所示,在扩展模式下,可以在智能电视20上扩展显示笔记本电脑10的屏幕内容,此时这两个设备屏幕显示内容可以不同。
如上所述,投屏源设备通过投屏应用先建立与投屏目标设备之间的投屏连接,然后投屏源设备通过投屏应用向投屏目标设备投屏。
在一些场景中,若用户不再需要将PC投屏至智能电视,如前面图3D或图3E所示,可在电脑管家APP的界面上点击“断开连接”按钮,电脑管家APP接收到断开操作后,向PC的发现连接模块发送断开消息,PC的发现连接模块可以调用Wi-Fi芯片的能力断开与智能电视的Wi-Fi P2P连接。
在投屏源设备通过投屏应用先建立与投屏目标设备之间的投屏连接之后,投屏源设备可以通过投屏应用向投屏目标设备投屏。下面结合图4和图5,示例性地说明投屏源设备和投屏目标设备之间的投屏过程以及退出投屏的过程。
如图4所示,投屏源设备10包括投屏应用201、注册表202、虚拟显示驱动203(也称为虚拟显示驱动),以及用于实现投屏功能的Windows接口205。下面通过投屏源设备10中的这些模块交互流程,以及这些模块与投屏目标设备20之间的交互流程,说明投屏源设备通过投屏应用向投屏目标设备投屏(上述步骤S101)的具体过程,交互流程可以包括下述的步骤A1-A10。
步骤A1,投屏源设备10通过投屏应用201(例如电脑管家)与投屏目标设备20建立投屏连接。
其中,关于如何投屏连接,将在下文中结合图11和图12详细描述,这里不予赘述。
在无线投屏连接建立之后,投屏目标设备20将投屏目标设备20的显示器参数(也称为显示参数)发送给投屏源设备10。例如,投屏目标设备20的显示器参数可以包括显示屏的显示尺寸、分辨率和刷新率等。
步骤A2,投屏源设备10通过投屏连接,获取投屏目标设备20的显示器参数。
步骤A3,投屏应用201将投屏目标设备20的显示器参数写入预设路径的注册表202中。
其中,注册表202是用于存储数据的存储区域。例如,注册表可以是数据库形式。
步骤A4,投屏应用201调用Windows接口205,将虚拟显示驱动203设置为启用状态。
步骤A5,虚拟显示驱动203从预设路径的注册表202中读取投屏目标设备20的显示器参数。
步骤A6,虚拟显示驱动203根据投屏目标设备20的显示器参数,创建虚拟显示器204。
其中,虚拟显示器204的显示参数与投屏目标设备20的显示器参数一致。
在本申请实施例中,电脑管家APP通过投屏接口,将虚拟显示驱动设置为启用状态。在启用状态下,虚拟显示驱动可以读取注册表中的显示器参数,并按照该显示器参数创建虚拟显示器。因此,虚拟显示器的显示参数与投屏目标设备的显示参数是一致的。这样可以保证投屏目标设备以适配的显示参数来显示投屏数据,可提升投屏显示效果。
步骤A7,虚拟显示驱动203向Windows接口205反馈:驱动已启用且虚拟显示器创建成功。
步骤A8,Windows接口205向投屏应用201反馈:虚拟显示器创建成功。
步骤A9,投屏应用201获取虚拟显示器204显示的图像。
其中,虚拟显示器204显示的图像可以是投屏源设备10的屏幕正在显示的图像。
其中,投屏应用抓取虚拟显示器图像的频率可以与投屏目标设备的显示器刷新率保持一致。这样可以确保投屏目标设备在投屏显示时具有良好的显示效果。例如,如果投屏目标设备的显示器刷新率为60Hz,那么投屏应用可以在虚拟显示器上每秒抓取60帧图像。
步骤A10,投屏应用201将虚拟显示器204显示的图像通过投屏连接,发送给投屏目标设备20。
在本申请实施例中,投屏应用201可以周期性地获取虚拟显示器204显示的图像,并将虚拟显示器204显示的图像通过无线投屏连接通道发送给投屏目标设备20。这样,在投屏目标设备20接收到虚拟显示器204的显示图像之后,投屏目标设备20显示该图像,从而实现投屏源设备10和投屏目标设备20之间的投屏显示。
示例性地,以投屏源设备中的投屏应用为电脑管家APP为例,在通过电脑管家APP建立投屏连接之后,投屏目标设备将投屏目标设备的分辨率、刷新率等显示器参数发送给投屏源设备。投屏源设备的电脑管家APP可以按照预设路径将投屏目标设备的显示器参数写入注册表中。并且,电脑管家APP将虚拟显示驱动的状态从禁用状态切换为启用状态。然后,虚拟显示驱动从注册表中读取投屏目标设备的显示器参数,进一步地,虚拟显示驱动可以根据投屏目标设备的显示器参数创建虚拟显示器。然后,电脑管家APP抓取虚拟显示器显示的图像,将图像发送给投屏目标设备显示。
图5示出了本申请实施例涉及的投屏过程以及退出投屏的过程的示意图。如图5所示,步骤B1至B15的过程详细描述了图4中的步骤A1至A10的实现过程,这里不再赘述。图5中的步骤B16至B22描述了正常退出投屏的过程,图5中的步骤B23描述了异常退出投屏的过程。在实际应用中,可能执行步骤B16至B22,或者可能执行步骤B23。
步骤B16,响应于用户操作,投屏应用正常关闭。
例如,用户可以点击电脑管家的投屏UI界面中显示的“断开连接”的控件,以触发正常退出投屏。然后,投屏源设备与投屏目标设备之间的投屏连接被断开。
步骤B17,投屏应用指示禁用虚拟显示驱动。
其中,投屏应用可以通过调用Windows接口,禁用虚拟显示驱动。
步骤B18,虚拟显示驱动从启用状态切换为禁用状态。
步骤B19,虚拟显示驱动指示删除虚拟显示器。
步骤B20,删除虚拟显示器。
步骤B21,投屏应用指示删除注册表中存储的显示器参数。
步骤B22,删除注册表中存储的显示器参数。
其中,本申请实施例不限定B17中的投屏应用指示禁用虚拟显示驱动,以及B22中投屏应用指示删除注册表中存储的显示器参数的先后执行顺序。
如此,完成投屏业务的正常退出。
步骤B23,投屏应用异常关闭。
在一些场景中,当正在投屏时,可能会由于某种原因导致投屏应用异常关闭,这样引起投屏业务非正常退出。在投屏应用异常关闭的情况下,不会执行上述的步骤B17-B22,也就是说,虚拟显示驱动可能仍然处于启用状态,因而虚拟显示器仍然存在,以及注册表 中仍然存储的显示器参数,这些均会导致投屏异常现象,例如上述黑屏现象。
S102,当投屏应用异常关闭时,投屏源设备重新开启投屏应用。
当投屏源设备向投屏目标设备无线投屏时,投屏源设备中的投屏应用可能由于某种原因而异常关闭,在此情况下投屏源设备可以重新开启投屏应用。
可选地,投屏源设备可以响应于用户的触发操作,重新开启投屏应用。或者,当投屏源设备检测到投屏应用异常关闭时,投屏源设备自动重启投屏应用,无需用户触发。具体可以根据实际使用需求确定,本申请实施例不作限定。
在本申请实施例中,当投屏应用异常关闭时,投屏源设备断开与投屏目标设备之间的投屏连接。因此在投屏应用异常关闭后的场景为非投屏场景,当然,在投屏应用重新开启后,由于投屏源设备与投屏目标设备之间的投屏连接已经断开,因此投屏应用重新开启后的当前场景也是非投屏场景。
S103,若投屏应用检测到虚拟显示驱动处于启用状态,则投屏源设备通过投屏应用将虚拟显示驱动的状态设置为禁用状态。
需要说明的是,在电子设备出厂时,虚拟显示驱动可以预先加载于电子设备中,并且虚拟显示驱动通常被设置为禁用状态。在实际实现中,当用户操作触发电子设备投屏时,电子设备会将虚拟显示驱动切换到启用状态,通过虚拟显示驱动创建虚拟显示器,以实现无线投屏。
在投屏应用异常关闭后,虚拟显示驱动的状态可能仍处于启用状态,因此在投屏应用重新启动之后,投屏应用可以检测虚拟显示驱动状态。
下面说明投屏应用检测虚拟显示驱动状态的可能实现方式,例如可以通过如下Windows应用程序接口(application programming interface,API)接口实现驱动状态检测:SetupDiGetClassDevsEx;SetupDiEnumDeviceInfo;以及,CM_Get_DevNode_Status。
下面详细说明通过上述API接口检测虚拟显示驱动状态的过程。
<1>、通过SetupDiGetClassDevsEx(NULL,NULL,NULL,DIGCF_ALLCLASSES|DIGCF_PRESENT,NULL,NULL,NULL),获取设备信息集合hDevInfo;
<2>、通过SetupDiEnumDeviceInfo(hDevInfo,dwDevID,&DevInfoData)接口,根据虚拟显示驱动的硬件设备Id dwDevID查询对应设备信息;
<3>、通过CM_Get_DevNode_Status(&dwDevStatus,&dwProblem,DevInfoData.DevInst,0),获取设备状态dwProblem,当DwDevStatus存在DN_HAS_PROBLEM状态时,并且dwProblem=CM_PROB_DISABLED,则可以确定虚拟显示驱动处于禁用状态。另一方面,当DwDevStatus不存在DN_HAS_PROBLEM状态时或dwProblem不为CM_PROB_DIABLED时,则可以确定虚拟显示驱动处于启用状态。
可以理解,上述驱动状态检测方式为示例性地列举,具体可以根据实际使用需求确定,本申请实施例不作限定。
结合到本申请方案,当正在投屏时,投屏源设备的投屏应用可以调用Windows接口,将虚拟显示驱动的状态修改为启用状态,具体操作为:使得DwDevStatus不存在DN_HAS_PROBLEM状态,或dwProblem不为CM_PROB_DIABLED。
在正常退出投屏的情况下,投屏源设备的投屏应用可以调用Windows接口,将虚拟显示驱动的状态修改为禁用状态。例如,调用Windows接口修改信息DwDevStatus和信息 dwProblem,使得DwDevStatus存在DN_HAS_PROBLEM状态,并且dwProblem=CM_PROB_DISABLED,如此将虚拟显示驱动从启用状态切换为禁用状态。
在异常退出投屏的情况下,投屏源设备的投屏应用则不会按照上述常规操作将虚拟显示驱动的状态修改为禁用状态。也就是说,虚拟显示驱动可能仍然处于启用状态,对应地,DwDevStatus不存在DN_HAS_PROBLEM状态,或者dwProblem不为CM_PROB_DISABLED。
可以理解的是,通过检测DwDevStatus和dwProblem,可以确定虚拟显示驱动的状态是启用状态还是禁用状态。
在本申请实施例中,经过实际检测可知,在投屏应用异常关闭后,虚拟显示驱动的状态可能仍处于启用状态,因此本申请提出:在投屏应用启动之后,有必要查询虚拟显示驱动的状态,当检测到虚拟显示驱动处于启用状态时,即可确定投屏应用之前发生异常关闭,此时需要将虚拟显示驱动的状态设置为禁用状态,以避免处于启用状态的虚拟显示驱动影响投屏源设备的正常使用。
需要说明的是,在投屏源设备通过投屏应用将虚拟显示驱动的状态设置为禁用状态之后,当虚拟显示驱动处于禁用状态时,投屏源设备禁止虚拟显示驱动创建虚拟显示器。换言之,虚拟显示驱动程序被关闭,无法再创建虚拟显示器。
由于在投屏应用异常关闭并重新开启后,投屏应用已经将虚拟显示驱动的状态设置为禁用状态,因此虚拟显示驱动不会再创建虚拟显示器,因此在虚拟显示器不存在的情况下,投屏源设备就无法从虚拟显示器抓取用于投屏的图像,这样可以避免由于虚拟显示器的存在对投屏源设备造成黑屏事件。
可选地,在投屏源设备通过投屏应用将虚拟显示驱动的状态设置为禁用状态(即上述步骤S103)之后,结合图2,如图6所示,上述方法还可以包括下述的步骤S104和步骤S105。
S104,投屏源设备接收到用户的第一输入,该第一输入仅用于触发投屏目标设备的屏幕显示。
其中,第一输入可以包括第一子输入和第二子输入。第一子输入可以为:用户通过按压Windows+P键触发投屏源设备显示多个投屏选项,例如“仅本机屏幕显示”选项、“复制”选项、“扩展”选项、“仅第二屏幕显示”选项。第二子输入可以为用户选择“仅第二屏幕显示”选项。如此以仅触发投屏目标设备的屏幕显示。
S105,投屏源设备不响应第一输入,其中投屏源设备的显示屏正常显示。
由于在投屏应用异常关闭并重新开启后,投屏应用已经将虚拟显示驱动的状态设置为禁用状态,因此虚拟显示驱动不会再创建虚拟显示器,因此在虚拟显示器不存在的情况下,投屏源设备就无法从虚拟显示器抓取用于投屏的图像,因此即使用户在投屏源设备上操作以仅触发投屏目标设备的屏幕显示,投屏源设备也不会响应用户操作。
也就是说,在当前非投屏场景中,当用户选择投屏源设备的投屏功能中的“仅第二屏幕显示”选项时,投屏源设备的显示屏可以正常显示,并不会出现黑屏现象。
需要说明的是,在本申请实施例中,注册表可以用于存储无线投屏的显示器参数。在投屏过程中,投屏源设备可以将投屏目标设备的显示器参数存储在注册表中,相应地投屏源设备的虚拟显示驱动可以从注册表中进行读取,并根据读取的显示器参数创建虚拟显示 器,这样虚拟显示器的显示参数可以与投屏目标设备的显示器参数保持一致,因此当虚拟显示器的显示图像被发送给投屏目标设备进行显示时,可以保证较好的投屏显示效果。
示例性地,注册表中存储的显示器参数可以包括下述内容:
1)"Width",数据格式dword,表示分辨率宽,例如1920(像素点数量);
2)"Height",数据格式dword,表示分辨率高,例如1080(像素点数量);
3)"Ratio",数据格式dword,表示屏幕比例,例如0,表示4:3;
4)"HDisplaySize",数据格式dword,表示屏幕宽度,例如300mm;
5)"VDisplaySize",数据格式dword,表示屏幕高度,例如200mm;
6)"PixelRate",数据格式dword,表示刷新率,例如60Hz。
可选地,注册表可以预置有对应的存储路径。当然,也支持自定义设置路径进行存储。
示例性地,注册表路径可以通过如下路径信息表示:
[HKEY_LOCAL_MACHINE\SOFTWARE\PCManager\Drivers\IDDSettings]。
可选地,由于在投屏应用异常关闭并重新开启后,注册表还存储了最近一次无线投屏的显示器参数,因此在当前非投屏场景中,可以删除注册表中的显示器参数,以避免注册表中的显示器参数影响投屏源设备的正常使用。
在本申请实施例中,结合图6,如图7所示,在步骤S103之后,上述方法还可以包括下述的步骤S106。
S106,若投屏应用检测到投屏源设备中的注册表中有显示器参数,则投屏源设备删除注册表中的显示器参数。
示例性地,在电脑管家APP异常关闭的情况下,当电脑管家APP重新被开启时,电脑管家APP可以检查投屏源设备中是否存在虚拟显示器,如果投屏源设备中存在虚拟显示器,则清除注册表中的显示参数并关闭虚拟显示驱动。
可选地,结合图7,如图8所示,上述当投屏应用异常关闭时投屏源设备重新开启投屏应用(上述步骤S102)具体可以包括下述步骤S102A和S102B。
S102A,当投屏源设备异常关机时,投屏应用异常关闭。
示例性地,投屏应用异常关闭可能是由用户的非正规关机操作触发,也可能是由设备断电原因导致关机触发,还可能是投屏应用由于程序崩溃而关闭,或者可能由于其他任意可能的因素触发,本申请实施例不作限定。
S102B,响应于用户的第二输入,投屏源设备重新启动并开启投屏应用。
其中,第二输入用于触发投屏源设备重新启动,在投屏源设备重新启动的情况下,投屏源设备触发投屏应用自动开启。在投屏应用自动开启之后,在非投屏场景下可以通过禁用虚拟显示驱动以及清除相关注册表数据项,以防止在未投屏场景下用户使用Windows+P键选择仅第二屏显示时出现的黑屏问题。
图9和图10为投屏源设备中各层模块之间交互的架构示意图。下面结合图9和图10,描述投屏源设备在重启投屏应用之后如何处理投屏异常情况,以避免在未投屏场景下用户使用Windows+P键选择仅第二屏显示时出现的黑屏问题。
如图9所示,投屏源设备包括应用层、系统层和驱动层,其中应用层包括投屏应用(例如电脑管家APP),系统层包括Windows接口和注册表,驱动层包括虚拟显示驱动和虚拟显示器。各层模块交互流程可以包括下述的步骤C1-C7。
步骤C1,投屏应用重启后向Windows接口下发查询命令。
在投屏源设备的投屏应用(例如电脑管家APP)投屏时异常关闭的情况下,投屏应用可以重新启动,并在重启后向投屏源设备的Windows接口下发查询命令。该查询命令用于指示查询注册表状态,以及查询虚拟显示驱动状态。
步骤C2,Windows接口向注册表发送查询命令,以查询注册表状态。
其中,注册表状态包括以下两种状态:注册表中有显示器参数,或者注册表中没有显示器参数。
步骤C3,Windows接口查询虚拟显示驱动的驱动状态。
其中,虚拟显示驱动的驱动状态可以包括以下两种状态:禁用状态,或者启用状态。
需要说明的是,本申请实施例不限定步骤C2和步骤C3的先后执行顺序,例如可以先执行步骤C2,再执行步骤C3;也可以先执行步骤C3,再执行步骤C2;或者可以同时执行步骤C2和步骤A3。本申请实施例对此不作限定。
步骤C4,注册表根据查询命令,向Windows接口反馈注册表状态。
例如,注册表向Windows接口反馈注册表状态为:注册表中有显示器参数。
步骤C5,Windows接口查询到虚拟显示驱动的驱动状态。
例如,Windows接口查询到虚拟显示驱动的驱动状态为:启用状态。
步骤C6,Windows接口将查询到的注册表状态和虚拟显示驱动状态上报给投屏应用。
步骤C7,投屏应用接收注册表状态和虚拟显示驱动状态,若注册表中有显示参数且虚拟显示器处于启用状态,则投屏应用清除注册表并禁用虚拟显示驱动。
如图10所示,投屏源设备的各模块交互流程可以包括下述的步骤D1-D11。
步骤D1,投屏应用(例如电脑管家)在投屏时异常关闭。
其中,投屏应用在投屏时异常关闭的原因可能是由于系统崩溃导致的,也可以是由于投屏源设备异常关机导致的。
步骤D2,投屏应用重新启动。
其中,投屏源设备在关闭之后自动启动,也可以响应于用户触发操作而重新启动。
步骤D3,投屏应用向Windows接口下发查询命令,以查询注册表状态和虚拟显示驱动的驱动状态。
步骤D4,Windows接口接收到查询命令,查询注册表状态。
步骤D5,注册表向Windows接口反馈注册表状态。
其中,由于Windows接口记录有虚拟显示驱动的驱动状态,因此Windows接口可以根据记录信息直接查询到虚拟显示驱动的驱动状态。
步骤D6,Windows接口向投屏应用反馈注册表状态和虚拟显示驱动的驱动状态。
步骤D7,投屏应用根据注册表状态和虚拟显示驱动的驱动状态执行如下处理:若注册表状态为注册表中有显示参数,且虚拟显示驱动的驱动状态为启用状态,则投屏应用确定清除注册表中的显示参数并禁用虚拟显示驱动。
步骤D8,投屏应用向Windows接口指示将虚拟显示驱动切换为禁用状态以及清除注册表。
步骤D9,Windows接口将虚拟显示驱动设置为禁用状态。
步骤D10,虚拟显示驱动从启用状态切换为禁用状态。
步骤D11,投屏应用指示清除注册表中的显示参数。
步骤D12,注册表中的显示参数被清除。
其中,本申请实施例不限定步骤D9和步骤D11的先后执行顺序。
在本申请实施例中,在投屏源设备重新启动并电脑管家APP重新开启之后,电脑管家APP可以检查虚拟显示器状态,例如,电脑管家APP通知Windows API(应用程序接口)获取虚拟显示驱动状态,在非投屏场景下通过禁用虚拟显示驱动以及清除相关注册表数据项,以移除虚拟显示器,从而可以避免投屏源设备在非投屏场景下出现的黑屏问题。
下面结合投屏源设备(例如PC)和投屏目标设备(智能电视)的系统架构以及系统架构中各模块之间的数据交互过程,对本申请实施例涉及到的投屏过程进行描述。图11为PC和智能电视的系统架构示意图,图12为PC与智能电视建立连接过程,PC中各模块与智能电视中各模块之间进行数据交互的过程示意图。
如图11所示,PC至少包括:应用程序层的电脑管家APP;系统层的第一发现连接模块、抓屏编码线程、第一通信模块和显示驱动;硬件层的显卡(GPU)、编码器、第一蓝牙芯片和第一Wi-Fi芯片。智能电视至少包括:系统层的协同服务(service)模块、第二发现连接模块、第二通信模块、解码线程和显示驱动,硬件层的解码器、第二蓝牙芯片、第二Wi-Fi芯片和显示屏。
其中,显示驱动是用于驱动显卡的驱动程序,是硬件显卡所对应的软件。该驱动程序被添加到操作系统中的一小块代码,其中包含有关显卡设备的信息。
参考图11和图12,PC中的电脑管家APP接收到用户输入的“立即连接”投屏操作后,电脑管家APP向第一发现连接模块发送一个进程间通信(inter-process communication,IPC)消息,可选地,该IPC消息可以携带扫描指示指令,用于指示第一发现连接模块调用第一蓝牙芯片的能力扫描发现附近可用的投屏目标设备。
第一发现连接模块接收到IPC消息后,调用第一蓝牙芯片的能力扫描发现附近可用的投屏目标设备;此时,可用的投屏目标设备的蓝牙芯片可以接收到PC的扫描信号,并由投屏目标设备(例如智能电视)的发现连接模块向PC的第一发现连接模块反馈自身的基本信息等,例如投屏目标设备的互联网协议地址(internet protocol address,IP地址)、媒体存取控制地址(media access control address,MAC地址)、通用唯一识别码(universally unique identifier,UUID)、设备标识以及设备名称等。
当PC的第一发现连接模块扫描到可用的投屏目标设备后,第一发现连接模块可以获取到投屏目标设备的基本信息。进而,第一发现连接模块将发现的可用的投屏目标设备的基本信息(如设备名称、MAC地址)发送至电脑管家APP,进而使电脑管家APP将这些可用的投屏目标设备的基本信息展示在可用设备列表中,以显示给用户查看。
在一些实施例中,鉴于PC显示屏的显示大小,电脑管家APP可能无法将可用的投屏目标设备的上述信息都显示在可用设备列表上。因此,可用设备列表上可以仅显示可用的投屏目标设备的设备名称。若用户想要查看某一投屏目标设备的其它信息,则可以对设备名称进行长按操作或双击操作,电脑管家APP接收到长按操作或双击操作后,可显示出该投屏目标设备的其他信息。
在一些实施例中,电脑管家APP所显示的可用设备列表中,包括了PC附近已开启蓝牙功能的所有设备,比如智能电视、手机或穿戴设备。在另一些实施例中,电脑管家APP 在接收到已开启蓝牙功能的所有设备的信息后,可以筛选出支持投屏的设备以进行显示,比如穿戴设备不支持PC投屏,则电脑管家APP在可用设备列表中不再显示穿戴设备。
然后,当用户点击可用设备列表中的智能电视时,电脑管家APP可以接收到用户的点击操作,并向第一发现连接模块发送IPC消息,用于指示第一发现连接模块调用第一蓝牙芯片与智能电视建立蓝牙连接(BLE连接)。可选地,该IPC消息可以携带智能电视的基本信息。第一发现连接模块接收到IPC消息后,可调用第一蓝牙芯片的能力与智能电视的第二蓝牙芯片进行蓝牙连接,以实现PC与智能电视的通信连接,即BLE连接。
在PC与智能电视建立了BLE连接后,PC的第一发现连接模块调用第一Wi-Fi芯片建立一个模拟热点(soft access point,SoftAP),该SoftAP具有服务集标识(service set identifier,SSID)和密码,进而第一发现连接模块通过建立的BLE连接通道将SSID和密码发送至智能电视的第二发现连接模块,使第二发现连接模块调用第二Wi-Fi芯片根据接收到的SSID和密码与PC建立Wi-Fi P2P连接。同时,PC和智能电视之间还建立起一个socket数据通道,以供后续PC与智能电视相互传输数据。
需要说明的是,上述PC和智能电视之间所建立连接的类型不限于蓝牙连接和Wi-Fi P2P连接,也可以是其他类型的连接方式,只要能实现两者之间传输数据即可。
如上所述,PC与智能电视成功建立投屏连接。PC的第一Wi-Fi模块向第一发现连接模块反馈PC与智能电视成功建立连接的消息。智能电视的第二Wi-Fi模块向协同服务模块通知智能电视与PC成功建立连接的消息。
这样,在PC与智能电视建立了投屏连接之后,PC便需要将显示屏上的图像数据发送至智能电视进行显示。在此,本申请实施例将需要投屏的图像数据称为待投屏数据。
作为一种可实现的方式,在PC与智能电视建立了Wi-Fi P2P连接之后,智能电视可以主动通过第二发现连接模块将自身的显示参数发送至PC的第一发现连接模块。
然后,PC的第一发现连接模块可以向电脑管家APP反馈建立连接成功的消息,该消息中携带智能电视返回的智能电视的显示参数(这里以智能电视的分辨率为例),进而由电脑管家APP建立一个抓屏编码线程。在创建了抓屏编码线程后,可以同时初始化编码器,即设置要编码的图像的分辨率为2520x1680、以及默认的H264编码格式。
同时,电脑管家APP收到上述建立连接成功的消息后,还可以通过接口获取当前PC显卡的分辨率,根据电脑管家APP接收到的消息中携带的分辨率,则创建虚拟显示器,其分辨率为2520x1680。
在PC的第一发现连接模块向电脑管家APP反馈建立连接成功的消息的同时,智能电视的第二发现连接模块也向协同服务模块反馈建立连接成功的消息,进而由协同服务模块创建一个解码线程,并初始化解码器。
接下来,抓屏编码线程通过Windows API接口从显卡(GPU)中获取待投屏数据(例如一帧图像数据),此时所获取到的图像数据的分辨率即为2520x1680。
需要说明的是,PC显示屏上的图像是由GPU对图像数据进行绘制渲染后送显得到的,为了将此图像数据发送至智能电视,GPU可将图像数据存储在一个图像队列中。可选地,显卡(GPU)中可以存储有一个图像队列,该图像队列包括需要显示在PC显示屏上的图像数据,这些图像数据可以是由GPU对需要显示在PC显示屏上的数据进行绘制渲染后送显的图像数据。
在一些实施例中,图像队列中可存储预设数量(如6帧)的图像数据,抓屏编码线程从中获取了一帧图像数据后,可将该图像数据移出图像队列,并将新的图像数据存储至图像队列。抓屏编码线程对第一帧图像数据进行编码后,可以接着获取第二帧图像数据、第三帧图像数据进行编码,由此不断的执行获取数据并编码过程。
可选地,上述待投屏数据可以为红绿蓝RGB图像数据,抓屏编码线程获取到该RGB图像数据后,可以将其转换为NV12格式。然后,抓屏编码线程调用编码器,对格式转换后的待投屏数据进行压缩编码,即编码为H264格式的图像数据。
最后,PC的抓屏编码线程通过第一通信模块沿上述socket数据通道将编码后的图像数据发送至智能电视的第二通信模块,智能电视的第二通信模块接收到编码后的图像数据后,通过解码线程调用解码器对该图像数据进行解码,例如解码为NV12格式的图像数据,进而调用显示驱动交由显示屏进行显示。
也就是说,抓屏编码线程可从该图像队列中获取一帧图像数据,随即调用编码器对该帧图像数据进行编码,并由第一通信模块将编码数据发送至智能电视,智能电视的第二通信模块接收到编码数据后,调用解码器进行解码,进而由智能电视的显示屏显示待投屏数据对应的图像。
在一些实施例中,PC在获取待投屏数据及对待投屏数据进行编码时,可以开启一个抓屏编程线程,在抓屏编码线程获取一帧图像数据后,即刻调用编码器对该图像数据进行编码,并发送至智能电视进行解码显示。
需要说明的是,本申请实施例对编码器进行编码的格式、以及解码器进行解码的格式不做限制,只要能实现编码解码并显示的过程即可。
至此,经过上述过程,完成了PC将显示内容投屏至智能电视的过程。
具体到本申请方案,在PC通过投屏应用向智能电视投屏时,若投屏应用异常关闭,则在投屏应用重新开启之后,PC将虚拟显示驱动的状态设置为禁用状态并删除注册表中的显示参数,这样虚拟显示驱动不会再创建虚拟显示器,因此在虚拟显示器不存在的情况下,PC就无法抓取用于投屏的图像,因此在投屏应用重启后的非投屏场景中,当用户选择PC本机投屏功能中的仅第二屏幕显示选项时,PC显示屏正常显示,而不会出现黑屏现象。
也需要说明的是,在本申请实施例中,“大于”可以替换为“大于或等于”,“小于或等于”可以替换为“小于”,或者,“大于或等于”可以替换为“大于”,“小于”可以替换为“小于或等于”。
本文中描述的各个实施例可以为独立的方案,也可以根据内在逻辑进行组合,这些方案都落入本申请的保护范围中。
可以理解的是,上述各个方法实施例中由电子设备实现的方法和操作,也可以由可用于电子设备的部件(例如芯片或者电路)实现。
上文描述了本申请提供的方法实施例,下文将描述本申请提供的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。
上文主要从方法步骤的角度对本申请实施例提供的方案进行了描述。可以理解的是,为了实现上述功能,实施该方法的电子设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该可以意识到,结合本文中所公开的实施例描述的各示例的单元 及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。
本申请实施例可以根据上述方法示例,对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有其它可行的划分方式。下面以采用对应各个功能划分各个功能模块为例进行说明。
图13为本申请实施例提供的投屏异常处理装置800的示意性框图。该装置800可以用于执行上文方法实施例中投屏源设备所执行的动作。该装置800包括投屏单元810和处理单元820。
投屏单元810,用于通过投屏应用实现投屏源设备向投屏目标设备投屏;其中,投屏应用为所述投屏源设备中安装的用于触发设备间投屏的应用程序;
处理单元820,用于在所述投屏应用异常关闭时的情况下,重新开启所述投屏应用;
处理单元820,还用于当检测到虚拟显示驱动处于启用状态时,将所述虚拟显示驱动的状态设置为禁用状态;
其中,所述虚拟显示驱动是所述投屏源设备中用于实现投屏功能的驱动程序,该驱动程序是硬件所对应的软件,用于驱动显卡。该驱动程序被添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。
通过本申请方案,在投屏源设备通过投屏应用向投屏目标设备投屏时,若投屏应用异常关闭,则在投屏应用重新开启之后,将虚拟显示驱动的状态设置为禁用状态,这样虚拟显示驱动不会再创建虚拟显示器,因此在虚拟显示器不存在的情况下,投屏源设备就无法抓取用于投屏的图像,因此在投屏应用重启后的非投屏场景中,当用户选择投屏源设备本机投屏功能中的“仅第二屏幕显示”选项时,投屏源设备显示屏正常显示,而不会出现黑屏现象。
在一种可能实现方式中,装置800还可以包括接收单元,该接收单元用于在处理单元820通过所述投屏应用将所述虚拟显示驱动的状态设置为禁用状态之后,接收到用户的第一输入,该第一输入仅用于触发所述投屏目标设备的屏幕显示。在此情况下,处理单元820不响应该第一输入。
在一种可能实现方式中,处理单元820还用于:
当所述投屏应用异常关闭时,断开所述投屏源设备与所述投屏目标设备之间的投屏连接。
在一种可能实现方式中,处理单元820还用于:在所述投屏源设备通过所述投屏应用将所述虚拟显示驱动的状态设置为禁用状态之后,当所述虚拟显示驱动处于禁用状态时,所述投屏源设备禁止所述虚拟显示驱动创建虚拟显示器。
其中,所述虚拟显示器所显示的图像用于在投屏时由所述投屏目标设备显示。
在一种可能实现方式中,处理单元820还用于:
若所述投屏应用检测到所述投屏源设备中的注册表中有显示器参数,则删除所述注册表中的显示器参数。
在一种可能实现方式中,所述处理单元820用于当所述投屏应用异常关闭时,重新开启所述投屏应用,包括:
当所述投屏源设备异常关机时,所述投屏应用异常关闭;
响应于用户的第二输入,处理单元820重新启动并开启所述投屏应用。
在一种可能实现方式中,投屏单元810还用于通过所述投屏应用建立与所述投屏目标设备之间的投屏连接。
在一种可能实现方式中,所述投屏单元810可以包括投屏应用、注册表、虚拟显示驱动和虚拟显示器,所述投屏单元810具体用于:
通过投屏连接,获取所述投屏目标设备的显示器参数;
投屏应用将所述投屏目标设备的显示器参数写入预设路径的注册表中;
投屏应用将所述虚拟显示驱动设置为启用状态;
虚拟显示驱动从所述预设路径的注册表中读取所述投屏目标设备的显示器参数;
虚拟显示驱动根据所述投屏目标设备的显示器参数,创建虚拟显示器,所述虚拟显示器的显示参数与所述投屏目标设备的显示器参数一致;
投屏应用获取所述虚拟显示器的显示图像;
投屏应用将所述虚拟显示器的显示图像通过所述投屏连接,发送给所述投屏目标设备。
在一种可能实现方式中,所述投屏单元810还用于通过所述投屏应用建立与所述投屏目标设备之间的投屏连接,具体包括:
所述投屏单元810接收到用户在所述投屏应用的应用图标上的第三输入,所述第三输入用于触发所述投屏源设备与投屏目标设备建立投屏连接;
响应于所述第三输入,所述投屏单元810搜索到所述投屏目标设备,并显示所述投屏目标设备的标识;
所述投屏单元810接收到用户的第四输入,所述第四输入用于选择所述投屏目标设备的标识;
响应于所述第四输入,所述投屏单元810触发投屏源设备与所述投屏目标设备建立投屏连接。
在一种可能实现方式中,所述投屏目标设备的显示器参数包括显示屏的显示尺寸、分辨率和刷新率。
根据本申请实施例的装置800可对应于执行本申请实施例中描述的方法,并且装置800中的单元的上述和其它操作和/或功能分别为了实现方法的相应流程,为了简洁,在此不再赘述。
图14是本申请实施例提供的电子设备900的结构性示意性图。该电子设备900可以包括处理器910,外部存储器接口920,内部存储器921,通用串行总线(universal serial bus,USB)接口930,充电管理模块940,电源管理单元941,电池942,天线1,天线2,移动通信模块950,无线通信模块960,音频模块970,扬声器970A,受话器970B,麦克风970C,耳机接口970D,传感器模块980,按键990,马达991,指示器992,摄像头993,显示屏994,以及用户标识模块(subscriber identification module,SIM)卡接口995等。其中传感 器模块980可以包括压力传感器980A,陀螺仪传感器980B,气压传感器980C,磁传感器980D,加速度传感器980E,距离传感器980F,接近光传感器980G,指纹传感器980H,温度传感器980I,触摸传感器980J,环境光传感器980K以及骨传导传感器980L等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备900的具体限定。在本申请另一些实施例中,电子设备900可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器910可以包括一个或多个处理单元,例如:处理器910可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备900的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器910中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器910中的存储器为高速缓冲存储器。该存储器可以保存处理器910刚用过或循环使用的指令或数据。如果处理器910需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器910的等待时间,因而提高了系统的效率。
在一些实施例中,处理器910可以包括一个或多个接口。该接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备900的结构限定。在本申请另一些实施例中,电子设备900也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块940用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块940可以通过USB接口930接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块940可以通过电子设备900的无线充电线圈接收无线充电输入。充电管理模块940为电池942充电的同时,还可以通过电源管理单元941为电子设备供电。
电源管理单元941用于连接电池942,充电管理模块940与处理器910。电源管理单元941接收电池942和/或充电管理模块940的输入,为处理器910,内部存储器921,外部存储器,显示屏994,摄像头993和无线通信模块960等供电。电源管理单元941还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理单元941也可以设置于处理器910中。在另一些实施例中,电源管理单元941和充电管理模块940也可以设置于同一个器件中。
电子设备900的无线通信功能可以通过天线1、天线2、移动通信模块950、无线通信模块960、调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备900中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块950可以提供应用在电子设备900上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块950可以包括至少一个滤波器、开关、功率放大器、低噪声放大器(low noise amplifier,LNA)等。移动通信模块950可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块950还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块950的至少部分功能模块可以被设置于处理器910中。在一些实施例中,移动通信模块950的至少部分功能模块可以与处理器910的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器970A、受话器970B等)输出声音信号,或通过显示屏994显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器910,与移动通信模块950或其他功能模块设置在同一个器件中。
无线通信模块960可以提供应用在电子设备900上的包括WLAN(如Wi-Fi)、BT、全球导航卫星系统(global navigation satellite system,GNSS)、FM、NFC、IR或通用2.4G/5G无线通信技术等无线通信的解决方案。无线通信模块960可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块960经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器910。无线通信模块960还可以从处理器910接收待发送的信号,对其进行调频、放大,经天线2转为电磁波辐射出去。
在一些实施例中,该无线通信模块960可以为Wi-Fi和/或蓝牙芯片。电子设备900可以通过该芯片,与无线耳机等电子设备的芯片之间建立连接,以通过该连接实现电子设备900和其他电子设备之间的无线通信和业务处理。其中,蓝牙芯片通常可以支持BR/EDR蓝牙和BLE。
在一些实施例中,电子设备900的天线1和移动通信模块950耦合,天线2和无线通信模块960耦合,使得电子设备900可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TDSCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system, BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备900通过GPU,显示屏994,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏994和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器910可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏994用于显示图像,视频等。显示屏994包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备900可以包括1个或N个显示屏994,N为大于1的正整数。
电子设备900可以通过ISP、摄像头993、视频编解码器、GPU、显示屏994以及应用处理器等实现拍摄功能。
ISP用于处理摄像头993反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点、亮度、肤色进行算法优化。ISP还可以对拍摄场景的曝光、色温等参数优化。在一些实施例中,ISP可以设置在摄像头993中。
摄像头993用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备900可以包括1个或N个摄像头993,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备900在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备900可以支持一种或多种视频编解码器。这样,电子设备900可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备900的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口920可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备900的存储能力。外部存储卡通过外部存储器接口920与处理器910通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器921可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器910通过运行存储在内部存储器921的指令,从而执行电子设备900的各种功能应用以及数据处理。内部存储器921可以包括存储程序区和存储数据区。其中,存储程序区可 存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备900使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器921可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
处理器910可以用于执行上述程序代码,调用相关模块以实现本申请实施例中电子设备的功能。例如,与另一电子设备建立多个通信链路;在有预设业务(例如文件传输业务等)时,通过多个通信链路与另一电子设备传输预设业务的数据。
电子设备900可以通过音频模块970中的扬声器970A、受话器970B、麦克风970C、耳机接口970D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块970用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块970还可以用于对音频信号编码和解码。在一些实施例中,音频模块970可以设置于处理器910中,或将音频模块970的部分功能模块设置于处理器910中。
扬声器970A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备900可以通过扬声器970A收听音乐,或收听免提通话。
受话器970B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备900接听电话或语音信息时,可以通过将受话器970B靠近人耳接听语音。
麦克风970C,也称“话筒”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风970C发声,将声音信号输入到麦克风970C。电子设备900可以设置至少一个麦克风970C。在另一些实施例中,电子设备900可以设置两个麦克风970C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备900还可以设置三个,四个或更多麦克风970C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口970D用于连接有线耳机。耳机接口970D可以是USB接口930,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器980A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器980A可以设置于显示屏994。压力传感器980A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器980A,电极之间的电容改变。电子设备900根据电容的变化确定压力的强度。当有触摸操作作用于显示屏994,电子设备900根据压力传感器980A检测触摸操作强度。电子设备900也可以根据压力传感器980A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器980B可以用于确定电子设备900的运动姿态。在一些实施例中,可以通过陀螺仪传感器980B确定电子设备900围绕三个轴(例如x,y和z轴)的角速度。陀 螺仪传感器980B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器980B检测电子设备900抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备900的抖动,实现防抖。陀螺仪传感器980B还可以用于导航,体感游戏场景。
加速度传感器980E可检测电子设备900在各个方向上(一般为三轴)加速度的大小。当电子设备900静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器980F用于测量距离。电子设备900可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备900可以利用距离传感器980F测距以实现快速对焦。
接近光传感器980G可以包括例如发光二极管(light-emitting diode,LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备900通过发光二极管向外发射红外光。电子设备900使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备900附近有物体。当检测到不充分的反射光时,电子设备900可以确定电子设备900附近没有物体。电子设备900可以利用接近光传感器980G检测用户手持电子设备900贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器980G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器980K用于感知环境光亮度。电子设备900可以根据感知的环境光亮度自适应调节显示屏994亮度。环境光传感器980K也可用于拍照时自动调节白平衡。环境光传感器980K还可以与接近光传感器980G配合,检测电子设备900是否在口袋里,以防误触。
气压传感器980C用于测量气压。在一些实施例中,电子设备900通过气压传感器980C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器980D包括霍尔传感器。电子设备900可以利用磁传感器980D检测电子设备900的位移。在一些实施例中,霍尔传感器可以利用磁铁形成线性的梯形磁场(或称为斜坡磁场),霍尔片在线性磁场中的位移变化与磁场强度变化相一致,形成的霍尔电势也就与位移成正比,电子设备900获取霍尔电势,就可以测量出位移大小。
指纹传感器980H用于采集指纹。电子设备900可以利用采集的指纹特性实现指纹解锁,访问应用锁、指纹拍照、指纹接听来电等。
温度传感器980I用于检测温度。在一些实施例中,电子设备900利用温度传感器980I检测的温度,执行温度处理策略。例如,当温度传感器980I上报的温度超过阈值,电子设备900执行降低位于温度传感器980I附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备900对电池942加热,以避免低温导致电子设备900异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备900对电池942的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器980J,也称“触控面板”。触摸传感器980J可以设置于显示屏994,由触摸传感器980J与显示屏994组成触摸屏,也称“触控屏”。触摸传感器980J用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏994提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器980J也可以设置于电子设备900的表面,与显示屏994所处的位置不同。
骨传导传感器980L可以获取振动信号。在一些实施例中,骨传导传感器980L可以获取人体声部振动骨块的振动信号。骨传导传感器980L也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器980L也可以设置于耳机中,结合成骨传导耳机。音频模块970可以基于骨传导传感器980L获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于骨传导传感器980L获取的血压跳动信号解析心率信息,实现心率检测功能。
按键990包括开机键、音量键等。按键990可以是机械按键。也可以是触摸式按键。电子设备900可以接收按键输入,产生与电子设备900的用户设置以及功能控制有关的键信号输入。
马达991可以产生振动提示。马达991可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照、音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏994不同区域的触摸操作,马达991也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒、接收信息、闹钟、游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器992可以是指示灯,可以用于指示充电状态、电量变化,也可以用于指示消息、未接来电、通知等。
SIM卡接口995用于连接SIM卡。SIM卡可以通过插入SIM卡接口995,或从SIM卡接口995拔出,实现和电子设备900的接触和分离。电子设备900可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口995可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口995可以同时插入多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口995也可以兼容不同类型的SIM卡。SIM卡接口995也可以兼容外部存储卡。电子设备900通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备900采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备900中,不能和电子设备900分离。
电子设备900可以为移动终端,也可以为非移动终端。示例性的,电子设备900可以为手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)、无线耳机、无线手环、无线智能眼镜、无线手表、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、台式计算机、智能家电(例如电视、音箱、冰箱、空气净化器、空调、电饭煲)等。其中,电子设备900也可以被统称为物联网(Internet of Things,IoT)设备。本申请实施例对电子设备900的设备类型不予具体限定。
应理解,图14所示的电子设备900可对应于图13所示的装置800。其中,图14所示的电子设备900中的处理器910、无线通信模块960,可以分别对应于图13中的装置800中的处理单元820、投屏单元810。
在实际实现时,在电子设备900运行时,处理器910执行存储器921中的计算机执行指令以通过电子设备900执行上述方法的操作步骤。
可选地,在一些实施例中,本申请提供一种芯片,该芯片与存储器耦合,该芯片用于读取并执行存储器中存储的计算机程序或指令,以执行上述各实施例中的方法。
可选地,在一些实施例中,本申请提供一种电子设备,该电子设备包括芯片,该芯片用于读取并执行存储器存储的计算机程序或指令,使得各实施例中的方法被执行。
可选地,在一些实施例中,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述各实施例中的方法。
可选地,在一些实施例中,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述各实施例中的方法。
在本申请实施例中,电子设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。其中,硬件层可以包括中央处理器(central processing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。操作系统层的操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。应用层可以包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构进行特别限定,只要能够通过运行记录有本申请实施例提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可。例如,本申请实施例提供的方法的执行主体可以是电子设备,或者,是电子设备中能够调用程序并执行程序的功能模块。
本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本文中使用的术语“制品”可以涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)、卡、棒或钥匙驱动器等)。
本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于:无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
应理解,本申请实施例中提及的处理器可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM)。例如,RAM可以用作外部高速缓存。作为示例而非限定,RAM可以包括如下多种形式: 静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。
还需要说明的是,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。此外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上,或者说对现有技术做出贡献的部分,或者该技术方案的部分,可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,该计算机软件产品包括若干指令,该指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。前述的存储介质可以包括但不限于:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟 悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
- 一种投屏异常处理方法,其特征在于,包括:投屏源设备通过投屏应用向投屏目标设备投屏,所述投屏应用为所述投屏源设备中安装的用于触发设备间投屏的应用程序;在所述投屏应用异常关闭的情况下,所述投屏源设备重新开启所述投屏应用;所述投屏源设备检测到虚拟显示驱动处于启用状态;其中,所述虚拟显示驱动是所述投屏源设备中用于实现投屏功能的驱动程序;所述投屏源设备将所述虚拟显示驱动的状态设置为禁用状态。
- 根据权利要求1所述的方法,其特征在于,在所述投屏源设备重新开启所述投屏应用之后,所述方法还包括:所述投屏源设备检测到所述投屏源设备中的注册表中有显示器参数;其中,所述注册表为存储所述投屏目标设备的显示器参数的存储区域;所述投屏源设备删除所述注册表中的显示器参数。
- 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:当所述投屏应用异常关闭时,所述投屏源设备断开与所述投屏目标设备之间的投屏连接。
- 根据权利要求1至3中任一项所述的方法,其特征在于,在所述投屏源设备将所述虚拟显示驱动的状态设置为禁用状态之后,所述方法还包括:当所述虚拟显示驱动处于禁用状态时,所述投屏源设备禁止所述虚拟显示驱动创建虚拟显示器;其中,所述虚拟显示器所显示的图像用于在投屏时由所述投屏目标设备显示。
- 根据权利要求1至4中任一项所述的方法,其特征在于,在所述投屏源设备将所述虚拟显示驱动的状态设置为禁用状态之后,和/或在所述投屏源设备删除注册表中的显示器参数之后,所述方法还包括:所述投屏源设备接收到用户的第一输入,所述第一输入仅用于触发所述投屏目标设备的屏幕显示;所述投屏源设备不响应所述第一输入。
- 根据权利要求1至5中任一项所述的方法,其特征在于,所述在所述投屏应用异常关闭的情况下,所述投屏源设备重新开启所述投屏应用,包括:在所述投屏应用异常关闭的情况下,所述投屏源设备自动开启所述投屏应用;或者,在所述投屏应用异常关闭的情况下,响应于用户触发操作,所述投屏源设备重新开启所述投屏应用。
- 根据权利要求1至6中任一项所述的方法,其特征在于,所述在所述投屏应用异常关闭的情况下,所述投屏源设备重新开启所述投屏应用,包括:当所述投屏源设备异常关机时,所述投屏应用异常关闭;响应于用户的第二输入,所述投屏源设备重新启动并开启所述投屏应用。
- 根据权利要求1至7中任一项所述的方法,其特征在于,应用于投屏源设备, 所述投屏源设备安装有所述投屏应用,与所述投屏应用对应的Windows接口,以及所述虚拟显示驱动,并且所述投屏源设备设置有注册表;其中,所述投屏源设备通过投屏应用向投屏目标设备投屏,包括:所述投屏源设备通过所述投屏应用,建立与所述投屏目标设备之间的投屏连接;所述投屏源设备通过所述投屏连接,获取所述投屏目标设备的显示器参数;所述投屏源设备通过所述投屏应用,将所述投屏目标设备的显示器参数写入预设路径的注册表;所述投屏源设备通过所述投屏应用调用Windows接口,将所述虚拟显示驱动设置为启用状态;其中,所述Windows接口为投屏源设备安装的与所述投屏应用对应的应用程序接口;所述投屏源设备通过所述虚拟显示驱动,从所述注册表中读取所述投屏目标设备的显示器参数;所述投屏源设备通过所述虚拟显示驱动,根据所述投屏目标设备的显示器参数创建虚拟显示器;所述虚拟显示驱动通过所述Windows接口,向所述投屏应用反馈所述虚拟显示器创建成功;所述投屏源设备通过所述投屏应用,获取所述虚拟显示器显示的图像,作为投屏图像;其中,所述虚拟显示器显示的图像为所述投屏源设备中显示的图像;所述投屏源设备通过所述投屏应用,向投屏目标设备发送所述投屏图像。
- 根据权利要求8所述的方法,其特征在于,所述投屏源设备检测到虚拟显示驱动处于启用状态,包括:所述投屏源设备通过所述投屏应用调用所述Windows接口,检测到虚拟显示驱动处于启用状态;所述投屏源设备将所述虚拟显示驱动的状态设置为禁用状态,包括:所述投屏源设备通过所述投屏应用调用所述Windows接口,将所述虚拟显示驱动的状态设置为禁用状态。
- 根据权利要求8或9所述的方法,其特征在于,所述投屏源设备检测到所述投屏源设备中的注册表中有显示器参数,包括:所述投屏源设备通过所述投屏应用调用所述Windows接口,检测到所述投屏源设备中的注册表中有显示器参数;所述投屏源设备删除所述注册表中的显示器参数,包括:所述投屏源设备通过所述投屏应用调用所述Windows接口,删除所述注册表中的显示器参数。
- 根据权利要求8所述的方法,其特征在于,所述投屏源设备通过所述投屏应用,建立与所述投屏目标设备之间的投屏连接,包括:所述投屏源设备接收到用户在所述投屏应用的应用图标上的第三输入,所述第三输入用于触发所述投屏源设备与投屏目标设备建立投屏连接;响应于所述第三输入,所述投屏源设备搜索到所述投屏目标设备,并显示所述投屏目标设备的标识;所述投屏源设备接收到用户的第四输入,所述第四输入用于选择所述投屏目标设备的标识;响应于所述第四输入,所述投屏源设备与所述投屏目标设备建立投屏连接。
- 根据权利要求1至11中任一项所述的方法,其特征在于,所述投屏目标设备的显示器参数包括以下至少一项:显示屏的显示尺寸、分辨率和刷新率。
- 一种电子设备,其特征在于,包括处理器,所述处理器与存储器耦合,所述处理器用于执行所述存储器中存储的计算机程序或指令,以使得所述电子设备实现如权利要求1至12中任一项所述的方法。
- 一种芯片系统,其特征在于,所述芯片系统与存储器耦合,所述芯片系统用于读取并执行所述存储器中存储的计算机程序,以实现如权利要求1至12中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至12中任一项所述的方法。
- 一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22846884.9A EP4180944A4 (en) | 2021-09-26 | 2022-08-29 | METHOD FOR PROCESSING SCREEN DUPLICATION ANOMALY AND ELECTRONIC DEVICE |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111130333.2 | 2021-09-26 | ||
CN202111130333 | 2021-09-26 | ||
CN202111205897.8A CN114063951B (zh) | 2021-09-26 | 2021-10-15 | 投屏异常处理方法及电子设备 |
CN202111205897.8 | 2021-10-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023045712A1 true WO2023045712A1 (zh) | 2023-03-30 |
Family
ID=80234729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/115530 WO2023045712A1 (zh) | 2021-09-26 | 2022-08-29 | 投屏异常处理方法及电子设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4180944A4 (zh) |
CN (2) | CN114063951B (zh) |
WO (1) | WO2023045712A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114063951B (zh) * | 2021-09-26 | 2022-12-02 | 荣耀终端有限公司 | 投屏异常处理方法及电子设备 |
CN114610434A (zh) * | 2022-03-28 | 2022-06-10 | 联想(北京)有限公司 | 输出控制方法及电子设备 |
CN115623068A (zh) * | 2022-09-14 | 2023-01-17 | 深圳市湘凡科技有限公司 | 一种视频投屏播放方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595137A (zh) * | 2018-04-25 | 2018-09-28 | 广州视源电子科技股份有限公司 | 无线投屏方法、装置和投屏器 |
CN110515572A (zh) * | 2018-05-21 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 投屏方法、装置、存储介质和计算机设备 |
CN111432070A (zh) * | 2020-03-17 | 2020-07-17 | 北京百度网讯科技有限公司 | 应用投屏控制方法、装置、设备和介质 |
CN111634188A (zh) * | 2020-05-29 | 2020-09-08 | 北京百度网讯科技有限公司 | 用于投屏的方法和装置 |
CN112732089A (zh) * | 2021-01-18 | 2021-04-30 | 海信视像科技股份有限公司 | 一种虚拟现实设备及快捷交互方法 |
CN112905289A (zh) * | 2021-03-10 | 2021-06-04 | Oppo广东移动通信有限公司 | 应用画面的显示方法、装置、终端、投屏系统及介质 |
WO2021164631A1 (zh) * | 2020-02-20 | 2021-08-26 | 华为技术有限公司 | 投屏方法及终端设备 |
CN114063951A (zh) * | 2021-09-26 | 2022-02-18 | 荣耀终端有限公司 | 投屏异常处理方法及电子设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7022622B2 (ja) * | 2018-03-08 | 2022-02-18 | キヤノン株式会社 | 情報処理装置およびその制御方法、並びにプログラム |
US20200065312A1 (en) * | 2018-08-21 | 2020-02-27 | Noam Camiel | System and method for the combination of app data and external data keeping them separate and independent |
WO2021016730A1 (zh) * | 2019-07-26 | 2021-02-04 | 西安诺瓦星云科技股份有限公司 | 无线投屏方法以及led显示器 |
CN112394891B (zh) * | 2019-07-31 | 2023-02-03 | 华为技术有限公司 | 一种投屏方法及电子设备 |
CN113157230A (zh) * | 2019-09-18 | 2021-07-23 | 华为技术有限公司 | 一种数据传输的方法及相关设备 |
CN112527222A (zh) * | 2019-09-19 | 2021-03-19 | 华为技术有限公司 | 一种信息处理方法及电子设备 |
CN111857925B (zh) * | 2020-07-21 | 2022-05-31 | 联想(北京)有限公司 | 一种投屏处理方法及装置 |
CN113014972B (zh) * | 2021-01-28 | 2024-02-27 | 维沃移动通信有限公司 | 投屏方法、装置和系统 |
CN112988102B (zh) * | 2021-05-11 | 2021-09-14 | 荣耀终端有限公司 | 投屏方法和装置 |
-
2021
- 2021-10-15 CN CN202111205897.8A patent/CN114063951B/zh active Active
- 2021-10-15 CN CN202211405180.2A patent/CN115857850A/zh active Pending
-
2022
- 2022-08-29 WO PCT/CN2022/115530 patent/WO2023045712A1/zh unknown
- 2022-08-29 EP EP22846884.9A patent/EP4180944A4/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595137A (zh) * | 2018-04-25 | 2018-09-28 | 广州视源电子科技股份有限公司 | 无线投屏方法、装置和投屏器 |
CN110515572A (zh) * | 2018-05-21 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 投屏方法、装置、存储介质和计算机设备 |
WO2021164631A1 (zh) * | 2020-02-20 | 2021-08-26 | 华为技术有限公司 | 投屏方法及终端设备 |
CN111432070A (zh) * | 2020-03-17 | 2020-07-17 | 北京百度网讯科技有限公司 | 应用投屏控制方法、装置、设备和介质 |
CN111634188A (zh) * | 2020-05-29 | 2020-09-08 | 北京百度网讯科技有限公司 | 用于投屏的方法和装置 |
CN112732089A (zh) * | 2021-01-18 | 2021-04-30 | 海信视像科技股份有限公司 | 一种虚拟现实设备及快捷交互方法 |
CN112905289A (zh) * | 2021-03-10 | 2021-06-04 | Oppo广东移动通信有限公司 | 应用画面的显示方法、装置、终端、投屏系统及介质 |
CN114063951A (zh) * | 2021-09-26 | 2022-02-18 | 荣耀终端有限公司 | 投屏异常处理方法及电子设备 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4180944A4 |
Also Published As
Publication number | Publication date |
---|---|
CN114063951A (zh) | 2022-02-18 |
CN115857850A (zh) | 2023-03-28 |
CN114063951B (zh) | 2022-12-02 |
EP4180944A1 (en) | 2023-05-17 |
EP4180944A4 (en) | 2024-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7378576B2 (ja) | リモコン装置を用いたワンタッチスクリーンプロジェクションを実施するための端末装置、方法及びシステム | |
CN113885759B (zh) | 通知消息处理方法、设备、系统及计算机可读存储介质 | |
WO2020244623A1 (zh) | 一种空鼠模式实现方法及相关设备 | |
WO2022257977A1 (zh) | 电子设备的投屏方法和电子设备 | |
WO2020014880A1 (zh) | 一种多屏互动方法及设备 | |
WO2023045712A1 (zh) | 投屏异常处理方法及电子设备 | |
EP4120074A1 (en) | Full-screen display method and apparatus, and electronic device | |
WO2023020006A1 (zh) | 基于可折叠屏的拍摄控制方法及电子设备 | |
WO2022100610A1 (zh) | 投屏方法、装置、电子设备及计算机可读存储介质 | |
WO2021023035A1 (zh) | 一种镜头切换方法及装置 | |
WO2021017909A1 (zh) | 一种通过nfc标签实现功能的方法、电子设备及系统 | |
CN118259861B (zh) | 一种投屏显示方法及电子设备 | |
CN114185503B (zh) | 多屏交互的系统、方法、装置和介质 | |
CN114691059B (zh) | 一种投屏显示方法及电子设备 | |
WO2023016067A1 (zh) | 视频处理方法、装置及电子设备 | |
CN116367123A (zh) | 基于Wi-Fi P2P的数据传输方法及电子设备 | |
CN115022852B (zh) | 控制蓝牙传输速率的方法及电子设备 | |
WO2024159925A1 (zh) | 一种投屏方法、投屏系统和电子设备 | |
WO2023093778A1 (zh) | 一种截屏方法及相关装置 | |
WO2024174672A1 (zh) | 显示屏控制方法、设备和系统 | |
CN114125805B (zh) | 蓝牙回连方法及终端设备 | |
RU2780224C1 (ru) | Оконечное устройство, способ и система реализации экранной проекции одним касанием, используя дистанционное управление | |
WO2023185623A1 (zh) | 后台应用恢复方法、装置、电子设备及可读存储介质 | |
WO2023025059A1 (zh) | 一种通信系统及通信方法 | |
US20230305693A1 (en) | Internet-of-things device management method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2022846884 Country of ref document: EP Effective date: 20230130 |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22846884 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |