CN106921841B - screen projection method and device - Google Patents

screen projection method and device Download PDF

Info

Publication number
CN106921841B
CN106921841B CN201710131930.4A CN201710131930A CN106921841B CN 106921841 B CN106921841 B CN 106921841B CN 201710131930 A CN201710131930 A CN 201710131930A CN 106921841 B CN106921841 B CN 106921841B
Authority
CN
China
Prior art keywords
source end
currently
source
needs
hidden
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710131930.4A
Other languages
Chinese (zh)
Other versions
CN106921841A (en
Inventor
吴桂洲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201710131930.4A priority Critical patent/CN106921841B/en
Publication of CN106921841A publication Critical patent/CN106921841A/en
Application granted granted Critical
Publication of CN106921841B publication Critical patent/CN106921841B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The disclosure relates to a screen projection method and device. The method comprises the following steps: setting the receiving end as a group owner of a Wi-Fi point-to-point group, and setting the source end as a group client of the Wi-Fi point-to-point group; monitoring the connection state of each source end and each receiving end and the display state of each source end through a conference management module; and determining the source end which needs to be hidden currently and the source end which needs to be demonstrated currently according to the connection state of each source end and the receiving end and the display state of each source end. According to the screen projection method and the screen projection device, the source ends can be simultaneously connected with the receiving end, so that under the condition that the lecturer needs to be switched, the connection between the source end corresponding to the last lecturer and the receiving end does not need to be disconnected, and the flexibility and the convenience of screen projection can be improved.

Description

Screen projection method and device
Technical Field
The present disclosure relates to the field of information technology, and in particular, to a screen projection method and apparatus.
background
the Mircast technology is a product of a combination of Wi-Fi (Wireless Fidelity) and multimedia technologies. The Wi-Fi P2P (Peer-to-Peer) protocol may allow a Source (Source) end and a Sink (Sink) end not to be in the same Wi-Fi network, and may even allow the Source end and the Sink end to discover each other without being connected to an AP (Access Point) to display a mirror image of the Source end on the Sink end through a streaming media protocol based on the connection.
Mircast is a multimedia application based on Wi-Fi P2P protocol, which can be used to project videos, pictures, etc. on a cell phone or tablet computer onto a large screen. The basic principle of Mircast is that a source end encodes data, packages the data into streaming media and sends the streaming media to a receiver end, and a receiver end decodes the data in real time through a playing system and plays the data. At present, Mircast is supported on a mainstream television and a box, and a source end becomes a default function of an Android system.
For example, when a meeting is opened inside an enterprise, a speaker can be wirelessly connected to a projector or a television through the Mircast, if some other people want to project a demonstration, the speaker needs to be disconnected at present and the connection is given to the other people for use, that is, the screen projection technology in the related art cannot realize simultaneous connection of multiple people.
disclosure of Invention
To overcome the problems in the related art, the present disclosure provides a screen projection method and apparatus.
according to a first aspect of the embodiments of the present disclosure, there is provided a screen projection method, which is applied in a receiving end, the method including:
Setting the receiving end as a group owner of a Wi-Fi point-to-point group, and setting the source end as a group client of the Wi-Fi point-to-point group;
monitoring the connection state of each source end and each receiving end and the display state of each source end through a conference management module;
and determining the source end which needs to be hidden currently and the source end which needs to be demonstrated currently according to the connection state of each source end and the receiving end and the display state of each source end.
for the above method, in a possible implementation manner, determining a source end that needs to be currently hidden and a source end that needs to be currently demonstrated according to a connection state of each source end and the sink end and a display state of each source end includes:
Determining the source end with the display state as the source end needing to be demonstrated currently, and calling a first function for the source end needing to be demonstrated currently;
And determining the source end with the connection state as the connection state and the display state as the non-display source end as the source end needing to be hidden currently, and calling a second function for the source end needing to be hidden currently.
For the above method, in a possible implementation manner, after determining a source end that needs to be currently hidden and a source end that needs to be currently demonstrated according to a connection state of each source end and the sink end and a display state of each source end, the method further includes:
acquiring an Internet protocol IP address of a source end which needs to be hidden currently and an IP address of a source end which needs to be demonstrated currently; and/or the presence of a gas in the gas,
And acquiring the name of the source end which needs to be hidden currently and the name of the source end which needs to be demonstrated currently.
For the above method, in a possible implementation manner, after determining a source end that needs to be currently hidden and a source end that needs to be currently demonstrated according to a connection state of each source end and the sink end and a display state of each source end, the method further includes:
the pause playing of a real-time streaming protocol RTSP layer is controlled through the middle layer;
Creating a buffer for image display through the intermediate layer.
According to a second aspect of the embodiments of the present disclosure, there is provided a screen projection method, which is applied in a receiving end, the method including:
monitoring the connection state of each source end and each receiving end and the display state of each source end through a conference management module;
Determining a source end which is in a display state and is not projected as a source end which needs to be demonstrated currently;
And determining the source end which is in the non-display state and is currently being demonstrated as the source end which needs to be hidden currently.
for the above method, in one possible implementation, the method further includes:
and under the condition that the display state of the source end is changed, determining the source end which is switched to display in the latest display state as the source end needing demonstration at present.
For the above method, in a possible implementation manner, after determining that the source end which is not displayed and is currently being presented is the source end which needs to be hidden currently, the method further includes:
Acquiring an IP address of a source end which needs to be demonstrated currently and an IP address of a source end which needs to be hidden currently; and/or the presence of a gas in the gas,
And acquiring the name of the source end which needs to be demonstrated currently and the name of the source end which needs to be hidden currently.
for the above method, in a possible implementation manner, after determining that the source end which is not displayed and is currently being presented is the source end which needs to be hidden currently, the method further includes:
the pause playing of a real-time streaming protocol RTSP layer is controlled through the middle layer;
Creating a buffer for image display through the intermediate layer.
According to a third aspect of the embodiments of the present disclosure, there is provided a screen projection apparatus including:
the Wi-Fi peer-to-peer group setting module is used for setting the receiving end as a group owner of a Wi-Fi peer-to-peer group and setting the source end as a group client of the Wi-Fi peer-to-peer group;
the conference management module is used for monitoring the connection state of each source end and each receiving end and the display state of each source end;
and the determining module is used for determining the source end needing to be hidden and the source end needing to be demonstrated currently according to the connection state of each source end and the receiving end and the display state of each source end.
For the apparatus, in one possible implementation manner, the determining module includes:
The first determining submodule is used for determining the source end with the display state as the source end needing to be demonstrated currently and calling a first function for the source end needing to be demonstrated currently;
And the second determining submodule is used for determining the source end with the connection state as the connection state and the display state as the non-display state as the source end needing to be hidden currently, and calling a second function for the source end needing to be hidden currently.
for the above apparatus, in one possible implementation manner, the apparatus further includes:
the IP address acquisition module is used for acquiring the IP address of the Internet protocol of the source end which needs to be hidden currently and the IP address of the source end which needs to be demonstrated currently; and/or the presence of a gas in the gas,
and the name acquisition module is used for acquiring the name of the source end which needs to be hidden currently and the name of the source end which needs to be demonstrated currently.
For the above apparatus, in one possible implementation manner, the apparatus further includes:
the playing pause control module is used for controlling the playing pause of the RTSP layer through the middle layer;
and the buffer area creating module is used for creating a buffer area for image display through the middle layer.
According to a fourth aspect of the embodiments of the present disclosure, there is provided a screen projection apparatus including:
the conference management module is used for monitoring the connection state of each source end and each receiving end and the display state of each source end;
the first determining module is used for determining a source end which is in a display state and is not projected as a source end which needs to be demonstrated currently;
and the second determining module is used for determining the source end which is not displayed in the display state and is currently demonstrated as the source end which needs to be hidden currently.
for the above apparatus, in one possible implementation manner, the apparatus further includes:
and the switching module is used for determining the source end which is switched to display in the latest display state as the source end needing demonstration at present under the condition that the display state of the source end is changed.
for the above apparatus, in one possible implementation manner, the apparatus further includes:
The IP address acquisition module is used for acquiring the IP address of the source end which needs to be demonstrated currently and the IP address of the source end which needs to be hidden currently; and/or the presence of a gas in the gas,
and the name acquisition module is used for acquiring the name of the source end which needs to be demonstrated currently and the name of the source end which needs to be hidden currently.
for the above apparatus, in one possible implementation manner, the apparatus further includes:
the playing pause control module is used for controlling the playing pause of the RTSP layer through the middle layer;
And the buffer area creating module is used for creating a buffer area for image display through the middle layer.
according to a fifth aspect of the embodiments of the present disclosure, there is provided a screen projection apparatus including:
a processor;
a memory for storing processor-executable instructions;
Wherein the processor is configured to:
Setting the receiving end as a group owner of a Wi-Fi point-to-point group, and setting the source end as a group client of the Wi-Fi point-to-point group;
monitoring the connection state of each source end and each receiving end and the display state of each source end through a conference management module;
And determining the source end which needs to be hidden currently and the source end which needs to be demonstrated currently according to the connection state of each source end and the receiving end and the display state of each source end.
According to a sixth aspect of the embodiments of the present disclosure, there is provided a screen projection apparatus including:
A processor;
a memory for storing processor-executable instructions;
Wherein the processor is configured to:
monitoring the connection state of each source end and each receiving end and the display state of each source end through a conference management module;
determining a source end which is in a display state and is not projected as a source end which needs to be demonstrated currently;
and determining the source end which is in the non-display state and is currently being demonstrated as the source end which needs to be hidden currently.
The technical scheme provided by the embodiment of the disclosure can have the following beneficial effects: the receiving end is set as a group owner of a Wi-Fi peer-to-peer group, the source end is set as a group client of the Wi-Fi peer-to-peer group, the connection state of each source end and the receiving end and the display state of each source end are monitored through the conference management module, and the source end which needs to be hidden and the source end which needs to be demonstrated currently are determined according to the connection state of each source end and the receiving end and the display state of each source end.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure.
FIG. 1 is a flow chart illustrating a method of screen projection according to an exemplary embodiment;
FIG. 2 is a flowchart illustrating a screen projection method step S13, according to an example of an exemplary embodiment;
FIG. 3 is a flow chart illustrating a method of screen projection according to one example of an exemplary embodiment;
FIG. 4 is a flowchart illustrating an implementation of a screen projection method according to another exemplary embodiment;
FIG. 5 is a block diagram of a screen projection device according to an exemplary embodiment;
FIG. 6 is a block diagram of a screen projection device according to one example of an exemplary embodiment;
FIG. 7 is a block diagram of a screen projection device according to another exemplary embodiment;
FIG. 8 is a block diagram of a screen projection device according to one example of an exemplary embodiment;
fig. 9 is a block diagram illustrating an apparatus 800 for screen projection according to an example embodiment.
Detailed Description
reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
FIG. 1 is a flow chart illustrating a method of screen projection according to an exemplary embodiment. The method is applied to a receiving (Sink) end, for example, the receiving end may be a terminal such as a computer, a television, or a television box, and is not limited herein. The method can be applied to an Android operating system, and is not limited herein. The method can be applied to the Mircast and is not limited herein. The method comprises the following steps.
In step S11, the recipient is set as the group owner of the Wi-Fi peer-to-peer group, and the source is set as the group client of the Wi-Fi peer-to-peer group.
Wi-Fi (Wireless Fidelity) P2P (Peer-to-Peer) Group includes a Group Owner (Group Owner) and a Group Client (Group Client). In this embodiment, the receiving end is set as the group owner of the Wi-Fi peer-to-peer group, and the Source (Source) end is set as the group client of the Wi-Fi peer-to-peer group. The source end may be a terminal such as a computer, a mobile phone, or a tablet computer, and is not limited herein.
as an example of this embodiment, in Android, a field controlling wfd.sink.go _ intent in the wifisdisplaycontroller.java file may be modified to be set to 15, so as to force the recipient to be the group owner.
in step S12, the connection status of each source terminal to the sink terminal and the display status of each source terminal are monitored by the conference management module.
In this embodiment, the conference management module may be started first, and may automatically join the conference management module each time a new group client is connected to the group owner. The meeting management module may also monitor the status change of each projection.
in one possible implementation, after the source is connected to the recipient, whether the source is presenting or not, the connection of the source to the recipient may be maintained unless there is a problem with the P2P connection.
Since the default Android system can only start one remotepisplay from the WifiDisplayController at a time, in order to support a plurality of source ends to be connected with the receiver end at the same time, in the embodiment, a global session management array can be defined, so that the source end connected with the receiver end before can be prevented from being forcibly disconnected when the next source end is connected with the receiver end. For example, a global remoteddisplayarray may be added to the Android platform, and the global remoteddisplayarray may be used to support creation management of multiple remoteddisplayand WifiDisplaySink objects.
in step S13, a source terminal that needs to be currently hidden and a source terminal that needs to be currently demonstrated are determined according to the connection state of each source terminal and the recipient terminal and the display state of each source terminal.
As an example of this embodiment, support for a conference Management (MM) module may be added in an interactive part of RTSP (Real Time Streaming Protocol) of Mircast. For example, the support of the field of the conference management module may be added to the onGetParameterRequest function of the wifi displaysink, and the port number used for communication may be notified to the conference management module through the field. The RTSP is a protocol for controlling multimedia playing by a source and a receiver, and the source and the receiver can interact with M1-M16 information of the Mircast protocol.
in this embodiment, the conference management module may be configured to monitor a connection state between the source terminal and the sink terminal and a display state of the source terminal. As an example of this embodiment, the conference management module may communicate with a Loop (Loop) thread corresponding to each source end through WebSocket. And calling the WebSocket by the loop thread, and sending the connection state of the source end and the receiving end and the display state of the source end to the conference management module. Due to the adoption of WebSocket communication, the method can be realized by means of a jansson library, for example, the connection state of each source end and each receiving end and the display state of each source end can be monitored through threads.
According to the screen projection method provided by the embodiment, a plurality of source ends can be simultaneously connected with the receiving end on the operating systems such as Android, so that under the condition that the lecturer needs to be switched, the connection between the source end and the receiving end corresponding to the last lecturer does not need to be disconnected, and the flexibility and convenience of screen projection can be improved.
fig. 2 is a flowchart illustrating a screen projection method step S13 according to an example of an exemplary embodiment. As shown in fig. 2, determining a source terminal that needs to be currently hidden and a source terminal that needs to be currently demonstrated according to a connection state of each source terminal and a recipient terminal and a display state of each source terminal includes:
in step S21, the source terminal whose display status is display is determined as the source terminal that needs to be presented currently, and a first function is called for the source terminal that needs to be presented currently.
after the source end needing to be presented currently is determined, data (for example, encoded data corresponding to videos and pictures) of the source end needing to be presented currently can be received in real time, and the data from the source end needing to be presented currently can be decoded and played in real time.
For example, the first function may be a setShowSurface function.
In step S22, the source end whose connection status is connected and display status is not displayed is determined as the source end that needs to be hidden currently, and a second function is called for the source end that needs to be hidden currently.
for example, the second function may be a setHideSurface function.
In a possible implementation manner, after determining a source end which needs to be currently hidden and a source end which needs to be currently presented according to a connection state of each source end and a recipient end and a display state of each source end, the method further includes: acquiring an IP (Internet Protocol) address of a source end which needs to be hidden currently and an IP address of a source end which needs to be demonstrated currently. The IP address of the source end which needs to be hidden currently and the IP address of the source end which needs to be demonstrated currently can be obtained through the conference management module. For example, the IP address of the source terminal that needs to be hidden currently and the IP address of the source terminal that needs to be presented currently can be determined through the transmission content of the WebSocket. By acquiring the IP address of the source end which needs to be hidden currently and the IP address of the source end which needs to be demonstrated currently, the source end which needs to be demonstrated currently can be determined to be switched when the IP address of the source end which is being demonstrated currently is detected to be different from the IP address of the source end which needs to be demonstrated currently and is transmitted by the Websocket.
As an example of this embodiment, if it is detected that an IP address of a source end currently being presented is different from an IP address of a source end currently needing to be presented, which is transmitted by WebSocket, the conference management module indicates that the source end currently needing to be presented is to be switched. In this case, the playing system may be notified to pause the current playing, and a new wifi displaysink may be started to play the picture corresponding to the source end of the WebSocket transmission that needs to be demonstrated currently.
in a possible implementation manner, in a case that a new IP address is detected to be connected to the recipient each time, a wifi displaysink object corresponding to the new IP address may be created.
in a possible implementation manner, after determining the source terminal that needs to be currently hidden and the source terminal that needs to be currently presented according to the connection state of each source terminal and the sink terminal and the display state of each source terminal, the method may further include: and acquiring the name of the source end which needs to be hidden currently and the name of the source end which needs to be demonstrated currently. The name of the source end which needs to be hidden currently and the name of the source end which needs to be demonstrated currently can be obtained through the conference management module. For example, the name of the source terminal that needs to be currently hidden and the name of the source terminal that needs to be currently presented can be determined through the transmission content of the WebSocket. By obtaining the name of the source end which needs to be presented currently and the name of the source end which needs to be hidden currently, a user (such as a host) corresponding to the receiving end can easily determine users corresponding to the source ends, so that the user corresponding to the receiving end can determine the user corresponding to the source end which needs to be presented currently and the user corresponding to the source end which needs to be hidden currently, and user experience can be improved.
FIG. 3 is a flow chart illustrating a method of screen projection according to one example of an exemplary embodiment. As shown in fig. 3, the method includes:
In step S31, the recipient is set as the group owner of the Wi-Fi peer-to-peer group, and the source is set as the group client of the Wi-Fi peer-to-peer group.
In step S32, the conference management module is started.
in step S33, the connection status of each source terminal to the sink terminal and the display status of each source terminal are monitored by the conference management module.
In step S34, a source terminal that needs to be currently hidden and a source terminal that needs to be currently demonstrated are determined according to the connection state of each source terminal and the recipient terminal and the display state of each source terminal.
in step S35, the IP address of the source currently needing to be hidden and the IP address of the source currently needing to be demonstrated are obtained.
In step S36, the name of the source that currently needs to be hidden and the name of the source that currently needs to be presented are acquired.
for example, an IP address of a recipient (owner), an IP address of a source (presenter) that currently needs to be presented, an IP address and a name of a source (connected _ sources) that currently needs to be hidden may be obtained, wherein the recipient may act as a host. For example:
in a possible implementation manner, after determining the source terminal that needs to be currently hidden and the source terminal that needs to be currently presented according to the connection state of each source terminal and the sink terminal and the display state of each source terminal, the method may further include: the intermediate layer controls the RTSP layer to pause playing; a buffer for image display is created by the middle layer. In this implementation, a buffer is created through an intermediate layer (e.g., wifi displaysink layer), instead of creating a buffer through an application layer, so that a picture can be switched according to a difference of a source end that needs to be presented currently.
In a possible implementation manner, a function may be further set to control a display position of a picture corresponding to a source terminal that needs to be currently demonstrated at a receiving terminal, so that flexibility of screen projection can be improved.
fig. 4 is a flowchart illustrating an implementation of a screen projection method according to another exemplary embodiment. The method is applied to a receiving end, for example, the receiving end may be a terminal such as a computer, a television, or a television box, and is not limited herein. The method can be applied to an Android operating system, and is not limited herein. The method can be applied to the Mircast and is not limited herein. The method comprises the following steps.
in step S41, the connection status of each source terminal to the sink terminal and the display status of each source terminal are monitored by the conference management module.
The connection state of the source terminal and the sink terminal may include a connection state and a non-connection state, and the display state of the source terminal may include a display state and a non-display state.
As an example of this embodiment, the conference management module may communicate with a loop thread corresponding to each source end through WebSocket. And calling the WebSocket by the loop thread, and sending the connection state of the source end and the receiving end and the display state of the source end to the conference management module. Due to the adoption of WebSocket communication, the method can be realized by means of a jansson library, for example, the connection state of each source end and each receiving end and the display state of each source end can be monitored through threads.
in step S42, the source whose display state is display and projection has not been performed is determined as the source that needs presentation currently.
After the source end needing to be presented currently is determined, data (for example, encoded data corresponding to videos and pictures) of the source end needing to be presented currently can be received in real time, and the data from the source end needing to be presented currently can be decoded and played in real time.
As an example of this embodiment, a first function may be called for a source that currently needs to be presented. For example, the first function may be a setShowSurface function.
In step S43, the source whose display state is not displayed and which is currently being presented is determined as the source which currently needs to be hidden.
As an example of this embodiment, the second function may be called for the source that currently needs to be hidden. For example, the second function may be a setHideSurface function.
The screen projection method provided by the embodiment can realize that a plurality of source ends are simultaneously connected with the receiving end, so that under the condition that the lecturer needs to be switched, the connection between the source end corresponding to the last lecturer and the receiving end does not need to be disconnected, and the flexibility and convenience of screen projection can be improved.
in one possible implementation, the method further includes: and under the condition that the display state of the source end is changed, determining the source end which is switched to display in the latest display state as the source end needing demonstration at present. For example, when the conference management module monitors that the display state of the source end changes, the source end which is switched to display in the latest display state is determined as the source end which needs to be demonstrated currently.
in one possible implementation, after determining that the source which is not displayed and is currently being presented is the source which needs to be hidden currently, the method further includes: and acquiring the IP address of the source end which needs to be demonstrated currently and the IP address of the source end which needs to be hidden currently. By acquiring the IP address of the source end which needs to be hidden currently and the IP address of the source end which needs to be demonstrated currently, the source end which needs to be demonstrated currently can be determined to be switched when the IP address of the source end which is being demonstrated currently is detected to be different from the IP address of the source end which needs to be demonstrated currently and is transmitted by the Websocket.
in one possible implementation, after determining that the source which is not displayed and is currently being presented is the source which needs to be hidden currently, the method further includes: and acquiring the name of the source end which needs to be demonstrated currently and the name of the source end which needs to be hidden currently. By obtaining the name of the source end which needs to be presented currently and the name of the source end which needs to be hidden currently, a user (such as a host) corresponding to the receiving end can easily determine users corresponding to the source ends, so that the user corresponding to the receiving end can determine the user corresponding to the source end which needs to be presented currently and the user corresponding to the source end which needs to be hidden currently, and user experience can be improved.
In one possible implementation, after determining that the source which is not displayed and is currently being presented is the source which needs to be hidden currently, the method further includes: the pause playing of a real-time streaming protocol RTSP layer is controlled through the middle layer; a buffer for image display is created by the middle layer. In this implementation, the buffer is created by an intermediate layer (e.g., wifi displaysink layer), rather than by an application layer, so that the picture can be switched according to the difference of the source end that needs to be presented currently.
FIG. 5 is a block diagram illustrating a screen projection device according to an exemplary embodiment. Referring to fig. 5, the apparatus includes a Wi-Fi peer-to-peer group setting module 51, a conference management module 52, and a determination module 53. The Wi-Fi peer-to-peer group setting module 51 is configured to set the recipient as a group owner of a Wi-Fi peer-to-peer group and set the source as a group client of the Wi-Fi peer-to-peer group. The conference management module 52 is configured to monitor a connection status of each source terminal with the sink terminal and a display status of each source terminal. The determining module 53 is configured to determine a source end that needs to be hidden before and a source end that needs to be presented currently according to a connection state of each source end and the sink end and a display state of each source end.
FIG. 6 is a block diagram of a screen projection device according to one example of an exemplary embodiment. As shown in fig. 6:
in one possible implementation, the determining module 53 includes a first determining submodule 531 and a second determining submodule 532. The first determining submodule 531 is configured to determine the source end whose display state is display as the source end which needs to be demonstrated currently, and call a first function for the source end which needs to be demonstrated currently. The second determining submodule 532 is configured to determine the source end with the connection status as connected and the display status as not displayed as the source end which needs to be hidden currently, and call a second function for the source end which needs to be hidden currently.
in a possible implementation manner, the apparatus further includes an IP address obtaining module 54 and/or a name obtaining module 55. The IP address obtaining module 54 is configured to obtain an internet protocol IP address of a source end that currently needs to be hidden and an IP address of a source end that currently needs to be demonstrated. The name acquisition module 55 is configured to acquire the name of the source currently needing to be hidden and the name of the source currently needing to be presented.
In a possible implementation, the apparatus further comprises a pause play control module 56 and a buffer creation module 57. The pause play control module 56 is configured to control the pause play of the real time streaming protocol RTSP layer through the middle layer. The buffer creation module 57 is configured to create a buffer for image display through the middle layer.
with regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
According to the screen projection device provided by the embodiment, the source ends can be simultaneously connected with the receiving end, so that under the condition that the lecturer needs to be switched, the connection between the source end corresponding to the last lecturer and the receiving end does not need to be disconnected, and the flexibility and convenience of screen projection can be improved.
Fig. 7 is a block diagram illustrating a screen projection apparatus according to another exemplary embodiment. Referring to fig. 7, the apparatus includes a conference management module 71, a first determination module 72, and a second determination module 73. The conference management module 71 is configured to monitor a connection status of each source terminal with the sink terminal and a display status of each source terminal. The first determining module 72 is configured to determine the source which is in the display state and is not projected as the source which needs to be presented currently. The second determination module 73 is configured to determine the source which is not displayed and is currently being presented as the source which currently needs to be hidden.
FIG. 8 is a block diagram of a screen projection device according to one example of an exemplary embodiment. As shown in fig. 8:
In one possible implementation, the apparatus further includes a switching module 74. The switching module is configured to determine the source end which is switched to display in the latest display state as the source end which needs to be demonstrated currently when the display state of the source end changes.
In one possible implementation, the apparatus further includes: the apparatus further comprises an IP address obtaining module 75 and/or a name obtaining module 76. The IP address obtaining module 75 is configured to obtain an IP address of a source terminal that needs to be currently demonstrated and an IP address of a source terminal that needs to be currently hidden. The name obtaining module 76 is configured to obtain the name of the source terminal that needs to be presented currently and the name of the source terminal that needs to be hidden currently.
In a possible implementation, the apparatus further comprises a pause play control module 77 and a buffer creation module 78. The pause play control module 77 is configured to control the pause play of the real-time streaming protocol RTSP layer through the middle layer. The buffer creation module 78 is configured to create a buffer for image display through the middle layer.
According to the screen projection device provided by the embodiment, the source ends can be simultaneously connected with the receiving end, so that under the condition that the lecturer needs to be switched, the connection between the source end corresponding to the last lecturer and the receiving end does not need to be disconnected, and the flexibility and convenience of screen projection can be improved.
Fig. 9 is a block diagram illustrating an apparatus 800 for screen projection according to an example embodiment. For example, the apparatus 800 may be a computer, a television box, a mobile phone, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, an exercise device, a personal digital assistant, and the like.
Referring to fig. 9, the apparatus 800 may include one or more of the following components: processing component 802, memory 804, power component 806, multimedia component 808, audio component 810, input/output (I/O) interface 812, sensor component 814, and communication component 816.
the processing component 802 generally controls overall operation of the device 800, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing components 802 may include one or more processors 820 to execute instructions to perform all or a portion of the steps of the methods described above. Further, the processing component 802 can include one or more modules that facilitate interaction between the processing component 802 and other components. For example, the processing component 802 can include a multimedia module to facilitate interaction between the multimedia component 808 and the processing component 802.
The memory 804 is configured to store various types of data to support operations at the apparatus 800. Examples of such data include instructions for any application or method operating on device 800, contact data, phonebook data, messages, pictures, videos, and so forth. The memory 804 may be implemented by any type or combination of volatile or non-volatile memory devices such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
Power components 806 provide power to the various components of device 800. The power components 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the apparatus 800.
The multimedia component 808 includes a screen that provides an output interface between the device 800 and a user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front facing camera and/or a rear facing camera. The front camera and/or the rear camera may receive external multimedia data when the device 800 is in an operating mode, such as a shooting mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 810 is configured to output and/or input audio signals. For example, the audio component 810 includes a Microphone (MIC) configured to receive external audio signals when the apparatus 800 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals may further be stored in the memory 804 or transmitted via the communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
The I/O interface 812 provides an interface between the processing component 802 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
The sensor assembly 814 includes one or more sensors for providing various aspects of state assessment for the device 800. For example, the sensor assembly 814 may detect the open/closed status of the device 800, the relative positioning of components, such as a display and keypad of the device 800, the sensor assembly 814 may also detect a change in the position of the device 800 or a component of the device 800, the presence or absence of user contact with the device 800, the orientation or acceleration/deceleration of the device 800, and a change in the temperature of the device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 816 is configured to facilitate communications between the apparatus 800 and other devices in a wired or wireless manner. The device 800 may access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 further includes a Near Field Communication (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
In an exemplary embodiment, the apparatus 800 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the above-described methods.
In an exemplary embodiment, a non-transitory computer-readable storage medium comprising instructions, such as the memory 804 comprising instructions, executable by the processor 820 of the device 800 to perform the above-described method is also provided. For example, the non-transitory computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
it will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (7)

1. a screen projection method, which is applied to a receiving end, the method comprising:
Setting the receiving end as a group owner of a Wi-Fi point-to-point group, and setting the source end as a group client of the Wi-Fi point-to-point group;
Monitoring the connection state of each source end and each receiving end and the display state of each source end through a conference management module;
Determining a source end which needs to be hidden currently and a source end which needs to be demonstrated currently according to the connection state of each source end and the receiving end and the display state of each source end;
Wherein, the determining the source end which needs to be hidden and the source end which needs to be demonstrated currently according to the connection state of each source end and the receiving end and the display state of each source end comprises:
Determining the source end with the display state as the source end needing to be demonstrated currently, and calling a first function for the source end needing to be demonstrated currently;
And determining the source end with the connection state as the connection state and the display state as the non-display source end as the source end needing to be hidden currently, and calling a second function for the source end needing to be hidden currently.
2. the screen projection method of claim 1, wherein after determining a source terminal currently needing to be hidden and a source terminal currently needing to be presented according to a connection state of each source terminal and the sink terminal and a display state of each source terminal, the method further comprises:
Acquiring an Internet protocol IP address of a source end which needs to be hidden currently and an IP address of a source end which needs to be demonstrated currently; and/or the presence of a gas in the gas,
And acquiring the name of the source end which needs to be hidden currently and the name of the source end which needs to be demonstrated currently.
3. The screen projection method of claim 1, wherein after determining a source terminal currently needing to be hidden and a source terminal currently needing to be presented according to a connection state of each source terminal and the sink terminal and a display state of each source terminal, the method further comprises:
The pause playing of a real-time streaming protocol RTSP layer is controlled through the middle layer;
Creating a buffer for image display through the intermediate layer.
4. A screen projection apparatus, comprising:
The Wi-Fi peer-to-peer group setting module is used for setting the receiving end as a group owner of a Wi-Fi peer-to-peer group and setting the source end as a group client of the Wi-Fi peer-to-peer group;
The conference management module is used for monitoring the connection state of each source end and each receiving end and the display state of each source end;
The determining module is used for determining a source end which needs to be hidden before and a source end which needs to be demonstrated currently according to the connection state of each source end and the receiving end and the display state of each source end;
Wherein the determining module comprises:
the first determining submodule is used for determining the source end with the display state as the source end needing to be demonstrated currently and calling a first function for the source end needing to be demonstrated currently;
and the second determining submodule is used for determining the source end with the connection state as the connection state and the display state as the non-display state as the source end needing to be hidden currently, and calling a second function for the source end needing to be hidden currently.
5. a screen projection device as recited in claim 4, wherein the device further comprises:
the IP address acquisition module is used for acquiring the IP address of the Internet protocol of the source end which needs to be hidden currently and the IP address of the source end which needs to be demonstrated currently; and/or the presence of a gas in the gas,
and the name acquisition module is used for acquiring the name of the source end which needs to be hidden currently and the name of the source end which needs to be demonstrated currently.
6. A screen projection device as recited in claim 4, wherein the device further comprises:
the playing pause control module is used for controlling the playing pause of the RTSP layer through the middle layer;
And the buffer area creating module is used for creating a buffer area for image display through the middle layer.
7. A screen projection apparatus, comprising:
A processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to:
setting a receiving end as a group owner of a Wi-Fi point-to-point group, and setting a source end as a group client of the Wi-Fi point-to-point group;
Monitoring the connection state of each source end and each receiving end and the display state of each source end through a conference management module;
determining a source end which needs to be hidden currently and a source end which needs to be demonstrated currently according to the connection state of each source end and the receiving end and the display state of each source end;
Wherein, the determining the source end which needs to be hidden and the source end which needs to be demonstrated currently according to the connection state of each source end and the receiving end and the display state of each source end comprises:
determining the source end with the display state as the source end needing to be demonstrated currently, and calling a first function for the source end needing to be demonstrated currently;
And determining the source end with the connection state as the connection state and the display state as the non-display source end as the source end needing to be hidden currently, and calling a second function for the source end needing to be hidden currently.
CN201710131930.4A 2017-03-07 2017-03-07 screen projection method and device Active CN106921841B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710131930.4A CN106921841B (en) 2017-03-07 2017-03-07 screen projection method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710131930.4A CN106921841B (en) 2017-03-07 2017-03-07 screen projection method and device

Publications (2)

Publication Number Publication Date
CN106921841A CN106921841A (en) 2017-07-04
CN106921841B true CN106921841B (en) 2019-12-13

Family

ID=59462005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710131930.4A Active CN106921841B (en) 2017-03-07 2017-03-07 screen projection method and device

Country Status (1)

Country Link
CN (1) CN106921841B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980143A (en) * 2010-10-26 2011-02-23 南开大学 Method for simultaneously displaying multiple computer desktops on single physical projector
CN203233494U (en) * 2013-05-13 2013-10-09 龙昭华 Wireless projection apparatus based on direct connection
CN104754402A (en) * 2015-04-08 2015-07-01 好迪龙电子(深圳)有限公司 Multi-unit same-screen displaying method and device
WO2016110169A1 (en) * 2015-01-07 2016-07-14 中国移动通信集团公司 Display processing method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980143A (en) * 2010-10-26 2011-02-23 南开大学 Method for simultaneously displaying multiple computer desktops on single physical projector
CN203233494U (en) * 2013-05-13 2013-10-09 龙昭华 Wireless projection apparatus based on direct connection
WO2016110169A1 (en) * 2015-01-07 2016-07-14 中国移动通信集团公司 Display processing method and device
CN104754402A (en) * 2015-04-08 2015-07-01 好迪龙电子(深圳)有限公司 Multi-unit same-screen displaying method and device

Also Published As

Publication number Publication date
CN106921841A (en) 2017-07-04

Similar Documents

Publication Publication Date Title
KR101777693B1 (en) Screen projection method, apparatus, system, program and recording medium
WO2017219347A1 (en) Live broadcast display method, device and system
CN106791893B (en) Video live broadcasting method and device
EP3125530B1 (en) Video recording method and device
US9661390B2 (en) Method, server, and user terminal for sharing video information
JP6285615B2 (en) Remote assistance method, client, program, and recording medium
WO2017092247A1 (en) Method, apparatus and system for playing multimedia data
CN111314768A (en) Screen projection method, screen projection device, electronic equipment and computer readable storage medium
CN104010222A (en) Method, device and system for displaying comment information
WO2017181551A1 (en) Video processing method and device
CN106131583A (en) A kind of live processing method, device, terminal unit and system
CN106210797B (en) Network live broadcast method and device
CN106911967B (en) Live broadcast playback method and device
CN104202561B (en) The method of play stream media data and device
CN109451341B (en) Video playing method, video playing device, electronic equipment and storage medium
CN113365153B (en) Data sharing method and device, storage medium and electronic equipment
CN106792024B (en) Multimedia information sharing method and device
CN106331830A (en) Method, device, equipment and system for processing live broadcast
CN103986821A (en) Method, equipment and system for carrying out parameter adjustment
CN105120301A (en) Video processing method and apparatus, and intelligent equipment
CN106648650A (en) Method and device for adjusting terminal display status
CN110620956A (en) Live broadcast virtual resource notification method and device, electronic equipment and storage medium
CN114272600A (en) Control right switching system, method, device, equipment and storage medium
CN106254402A (en) The synchronous method of intelligent terminal's configuration information and device
CN106535000A (en) Method and device for sending social contact information

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant