WO2021159645A1 - 多个视频窗口动态排布的发起、同步方法及系统 - Google Patents

多个视频窗口动态排布的发起、同步方法及系统 Download PDF

Info

Publication number
WO2021159645A1
WO2021159645A1 PCT/CN2020/096052 CN2020096052W WO2021159645A1 WO 2021159645 A1 WO2021159645 A1 WO 2021159645A1 CN 2020096052 W CN2020096052 W CN 2020096052W WO 2021159645 A1 WO2021159645 A1 WO 2021159645A1
Authority
WO
WIPO (PCT)
Prior art keywords
widget
mouse
area
window
placement object
Prior art date
Application number
PCT/CN2020/096052
Other languages
English (en)
French (fr)
Inventor
于杰
贺骞
Original Assignee
北京翼鸥教育科技有限公司
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 北京翼鸥教育科技有限公司 filed Critical 北京翼鸥教育科技有限公司
Publication of WO2021159645A1 publication Critical patent/WO2021159645A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone

Definitions

  • the invention relates to the field of computers, in particular to a method and system for initiating and synchronizing the dynamic arrangement of multiple video windows.
  • each window displays one channel of video. It is usually hoped that the arrangement of these video windows is consistent on each end.
  • a typical example is online teaching or online meeting software.
  • the teacher/meeting host (called the operator) arranges his window on the far left, and then The order is students/participants A, B, C, etc., and it is hoped that the order of the A, B, and C ends is also the same, that is, the order of the operator, A, B, and C.
  • the current problem is that the initial state of the software is that the arrangement order of all teachers/meeting hosts and students/participants is the same, but when the video window arrangement of the teacher/meeting host changes, the teacher/meeting host cannot be arranged.
  • the video window arrangement information of the conference host side is synchronized to the student/participant side, which causes the student/participant side and the teacher/meeting host side to fail to achieve consistency.
  • the purpose of the present invention is to overcome the above technical shortcomings and propose a synchronization method for the dynamic arrangement of multiple video windows.
  • the client When the client is initiated to dynamically adjust the size and position of the video window, other clients automatically initiate the synchronization of the adjusted video window of the client.
  • the size and location make the arrangement of the video window consistent with the initiating client.
  • the present invention provides a method for initiating the dynamic arrangement of multiple video windows, the method including:
  • Monitor four mouse events through each Widget object, and forward the event type and mouse position to the Placement object it belongs to; among them, the Placement object is used to record the local window layout, and a Widget object is a video window;
  • the event type and the mouse position are received and processed through the Placement object, so that the dynamic adjustment of the video window arrangement is realized, and the adjusted message is sent to the server.
  • the method further includes: constructing a corresponding Placement object and multiple Widget objects, the Placement object includes two Rect members and a List member, and the two Rect members respectively represent the parking area and the navigation area.
  • the List member includes multiple Widget objects, and each Widget object holds a pointer to the Placement object, pointing to the layout to which the Widget object belongs.
  • the four mouse events include: mouse press event, mouse move event, mouse release event, and mouse double click event
  • the Placement object performs processing according to the received event type and mouse position to realize dynamic adjustment of the video window, and sends the adjusted message to the server, which specifically includes:
  • the Placement object When the Placement object receives the mouse press event, it records the current position of the Widget and the mouse press position;
  • the Placement object When the Placement object receives a mousemove event, it calculates the new position of the Widget and moves the Widget to the new position according to the received mouse press position, combined with the position of the Widget and the mouse position recorded during mouse press;
  • the Placement object When the Placement object receives the mouse release event, it is judged whether the Widget is in the parking area. If it is, the Widget is moved to the initial position of the mouse press in an animated manner; otherwise, the current position and current size of the Widget are sent to server;
  • the Placement object When the Placement object receives a mouse double click event, it is judged whether the Widget is in the docking area. If so, the Widget is moved from the docking area to the navigation area in an animated manner, and its window size is adjusted; otherwise, the Widget is animated Reset from the sailing area to the berthing area; then send the message "The number of video windows in the berthing area or sailing area has changed" and the Widget identification number to the server.
  • said moving the Widget to a new position specifically including:
  • the Widget moves in the parking area, the Widget is translated horizontally;
  • the size of the Widget will be enlarged by the specified ratio
  • the size of the Widget is reduced to a fixed size.
  • the present invention provides an initiating system for the dynamic arrangement of multiple video windows, the system including:
  • the monitoring module is used to monitor four mouse events through each Widget object, and forward the event type and mouse position to the Placement object it belongs to; among them, the Placement object is used to record the local window layout, and a Widget object is a video window;
  • the video window adjustment module is used to receive and process the event type and the mouse position through the Placement object, so as to realize the dynamic adjustment of the video window arrangement, and send the adjusted message to the server.
  • the present invention provides a synchronization method for dynamically arranging multiple video windows, and the method includes:
  • the server When receiving the message "The number of video windows in the parking area or sailing area" and the Widget identification number forwarded by the server, determine whether the Widget is in the parking area. If so, move the Widget from the parking area to the sailing area in an animated manner, and Adjust the window size; otherwise, reset the Widget from the navigation area to the parking area in an animated manner.
  • the method further includes: constructing a corresponding Placement object and multiple Widget objects, the Placement object includes two Rect members and a List member, and the two Rect members respectively represent the parking area and the navigation area.
  • the List member includes multiple Widget objects, and each Widget object holds a pointer to the Placement object, pointing to the layout to which the Widget object belongs.
  • the present invention provides a synchronization system for the dynamic arrangement of multiple video windows.
  • the system includes: the system includes: a video window dynamic arrangement initiation module, a forwarding module running on a server, and a video window dynamic arrangement synchronization module ;
  • the video window dynamic arrangement initiation module is used to monitor four mouse events through each Widget object, and forward the event type and mouse position to the Placement object to which it belongs; where the Placement object is used to record the local window layout, and one Widget The object is a video window; the event type and mouse position are received and processed through the Placement object to realize the dynamic adjustment of the video window arrangement, and send the adjusted message to the server;
  • the forwarding module is configured to forward the message sent by the video window dynamic arrangement initiation module to the video window dynamic arrangement synchronization modules of all other clients;
  • the video window dynamic arrangement synchronization module is used to, when receiving the current position and current size of a Widget forwarded by the server, move the Widge from the original position to the current position in the form of animation according to the original position and original size of the Widget , Change the Widget from the original size to the current size; used to determine whether the Widget is in the parking area when the message "The number of video windows in the parking area or sailing area has changed" and the Widget identification number forwarded by the server are received.
  • the Widget is moved from the docking area to the navigation area in an animation manner, and its window size is adjusted; otherwise, the Widget is reset from the navigation area to the docking area in an animation manner.
  • the method of the present invention realizes the synchronization of the dynamic and real-time adjustment of the video windows of multiple clients, the method occupies less bandwidth and less CPU resources, and improves teaching/meeting efficiency;
  • the method of the present invention realizes that the operator can dynamically adjust the size and position of the video window of himself and others, and the participant side automatically synchronizes the adjusted size and position of the operator, which enhances the interactivity and can meet more application scenarios;
  • the window position is continuously changed by playing an animation, so that the user can see the process of the window change, prevents the window from appearing and disappearing suddenly, and improves the user experience;
  • Figure 1 is a typical division of berthing area and navigation area
  • Figure 2 is a flow chart of the method for dynamically arranging video windows of the present invention
  • Fig. 3 is a structural diagram of the computer equipment of the present invention.
  • the application scenario of the method of the present invention is multiple clients and a server, where multiple clients communicate through the server, and each client has the function of initiating video window adjustment, and also has the ability to synchronize other client video window adjustments. Function.
  • the arrangement of the video windows of all clients is the same.
  • the location of the video window is divided into the parking area and the navigation area.
  • the parking area window cannot be moved and resized freely, and can only be moved in a limited way. After the mouse is released, it will automatically return to Original parking location.
  • the window in the navigation area can be moved and resized freely. After the adjustment, the remote end must synchronize the new window position and size.
  • Embodiment 1 of the present invention provides a method for initiating the dynamic arrangement of multiple video windows, which is executed by a client that initiates dynamic adjustment of video windows.
  • the client can be any client. Methods include:
  • Step 101 Construct a corresponding Placement object and multiple Widget objects during the running process
  • the Widget object is the video window, which holds a pointer to the Placement object to point to the layout to which it belongs.
  • the Placement object represents the layout. It has two Rect members, which represent the parking area and the navigation area. There is also a List member that saves multiple Widget objects, which is used to save all the video windows it manages, except for its own video window, other video windows are video windows of other clients.
  • Step 102) The Widget object monitors mouse press, mouse move, mouse release, and mouse double click events, and sends the event type and mouse position to the Placement object to which it belongs.
  • Step 103 The Placement object processes the received event type and mouse position:
  • the window of the docking area can be dragged to the sailing area, and after it is dragged, it will automatically zoom in to the specified ratio; the window of the sailing area can also be dragged to the docking area, and after being dragged, it will be automatically reduced to a fixed size.
  • the window will automatically enter the sailing area, and adjust its size to cover the sailing area, and then double-click the second parking area. Window, it will also enter the navigation area, and adjust the size of itself and the first window so that both occupy the navigation area together. And so on.
  • the client only sends a simple "modification of the number of video windows in the parking area or sailing area" message to the server, which does not contain any window location information, and the server forwards this message to other clients.
  • Embodiment 2 of the present invention provides an initiating system for dynamically arranging multiple video windows, and the system includes:
  • the monitoring module is used to monitor four mouse events through each Widget object, and forward the event type and mouse position to the Placement object it belongs to; among them, the Placement object is used to record the local window layout, and a Widget object is a video window;
  • the video window adjustment module is used to receive and process the event type and the mouse position through the Placement object, so as to realize the dynamic adjustment of the video window arrangement, and send the adjusted message to the server.
  • Embodiment 3 of the present invention provides a method for synchronizing the dynamic arrangement of multiple video windows, which is executed by a client that receives video window adjustment information.
  • the client is all clients except the initiating client.
  • the method includes :
  • Step 301) Construct corresponding Placement objects and Widget objects during the running process
  • the Widget object is the video window, which holds a pointer to the Placement object to point to the layout to which it belongs.
  • the Placement object represents the layout. It has two Rect members, which represent the parking area and the navigation area. There is also a list member that saves multiple Widgets, which is used to save all the video windows it manages, except for its own video windows, other video windows are video windows of other clients.
  • Step 302) Receive and process the message forwarded by the server; specifically including:
  • the Widget After receiving the message "The number of video windows in the parking area or navigation area" and the Widget identification number forwarded by the server, determine whether the Widget is in the parking area. If yes, the Widget automatically enters the navigation area and adjusts its window size; otherwise, the The Widget will automatically reset to the parking area in an animation mode, so as to achieve the same arrangement as the video window of the initiating client.
  • Embodiment 4 of the present invention provides a synchronization system for the dynamic arrangement of multiple video windows, the system includes: a video window dynamic arrangement initiation module, a forwarding module running on a server, and a video window dynamic arrangement synchronization module;
  • the video window dynamic arrangement initiation module is used to monitor four mouse events through each Widget object, and forward the event type and mouse position to the Placement object to which it belongs; where the Placement object is used to record the local window layout, and one Widget The object is a video window; the event type and mouse position are received and processed through the Placement object to realize the dynamic adjustment of the video window arrangement, and send the adjusted message to the server;
  • the forwarding module is configured to forward the message sent by the video window dynamic arrangement initiation module to the video window dynamic arrangement synchronization modules of all other clients;
  • the video window dynamic arrangement synchronization module is used to, when receiving the current position and current size of a Widget forwarded by the server, move the Widge from the original position to the current position in the form of animation according to the original position and original size of the Widget , Change the Widget from the original size to the current size; used to determine whether the Widget is in the parking area when the message "The number of video windows in the parking area or sailing area has changed" and the Widget identification number forwarded by the server are received.
  • the Widget is moved from the docking area to the navigation area in an animation manner, and its window size is adjusted; otherwise, the Widget is reset from the navigation area to the docking area in an animation manner.
  • a computer device (client) provided by Embodiment 5 of the present invention includes: at least one processor 505, a memory 505, at least one network interface 503, and a user interface 504.
  • the various components in the device 50 are coupled together through a bus system 505.
  • the bus system 505 is used to implement connection and communication between these components.
  • the bus system 505 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the bus system 505 in the figure.
  • the user interface 504 may include a display, a keyboard, or a pointing device (for example, a mouse, a trackball (trackball), a touch panel, or a touch screen, etc.).
  • a pointing device for example, a mouse, a trackball (trackball), a touch panel, or a touch screen, etc.
  • the memory 505 in the embodiment of the present disclosure may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • 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), and electrically available Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be a random access memory (Random Access Memory, RAM), which is used as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • Enhanced SDRAM, ESDRAM Synchronous Link Dynamic Random Access Memory
  • Synchlink DRAM Synchronous Link Dynamic Random Access Memory
  • DRRAM Direct Rambus RAM
  • the memory 505 stores the following elements, executable modules or data structures, or their subsets, or their extended sets: operating system 5055 and application programs 5055.
  • the operating system 5055 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks.
  • the application program 5055 includes various application programs, such as a media player (Media Player), a browser (Browser), etc., which are used to implement various application services.
  • a program that implements the method of the embodiment of the present disclosure may be included in the application program 5055.
  • the processor 505 by calling a program or instruction stored in the memory 505, specifically, a program or instruction stored in the application program 5055, the processor 505 is configured to:
  • Embodiment 1 and Embodiment 3 may be applied to the processor 505 or implemented by the processor 505.
  • the processor 505 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor 505 or instructions in the form of software.
  • the aforementioned processor 505 may be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA), or other Programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • the methods, steps, and logic block diagrams disclosed in Embodiment 1 and Embodiment 3 can be implemented or executed.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the steps of the method disclosed in combination with Embodiment 1 and Embodiment 3 can be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers.
  • the storage medium is located in the memory 505, and the processor 505 reads the information in the memory 505, and completes the steps of the above method in combination with its hardware.
  • the embodiments described in the present invention can be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof.
  • the processing unit can be implemented in one or more application specific integrated circuits (ASIC), digital signal processor (Digital Signal Processing, DSP), digital signal processing equipment (DSP Device, DSPD), programmable Logic device (Programmable Logic Device, PLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, and others for performing the functions described in this application Electronic unit or its combination.
  • ASIC application specific integrated circuits
  • DSP Digital Signal Processing
  • DSP Device digital signal processing equipment
  • PLD programmable Logic Device
  • PLD Field-Programmable Gate Array
  • FPGA Field-Programmable Gate Array
  • the technology of the present invention can be implemented by executing the functional modules (such as procedures, functions, etc.) of the present invention.
  • the software codes can be stored in the memory and executed by the processor.
  • the memory can be implemented in the processor or external to the processor.
  • Embodiment 6 of the present invention provides a non-volatile storage medium for storing computer programs.
  • the computer program is executed by the processor, each step of the method of Embodiment 1 and Embodiment 3 can be realized.
  • the method of the present invention is suitable for online teaching or online meeting systems, and can also be used in any scene with similar requirements.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了多个视频窗口动态排布的发起、同步方法及系统,所述发起方法包括:通过每个Widget对象监控四个鼠标事件,把事件类型和鼠标位置转发给它所属的Placement对象;其中,Placement对象用于记录本地窗口布局,一个Widget对象为一个视频窗口;通过所述Placement对象接收事件类型和鼠标位置并进行处理,实现视频窗口排布的动态调整,并将调整后的消息发送至服务器;所述同步方法包括:接收服务器转发的消息并进行处理,实现与发起客户端的视频窗口的相同排布。本发明的方法实现了多个客户端的视频窗口的动态、实时调整的同步,该方法占用带宽、CPU资源较少,可增强互动性,能够满足更多应用场景。

Description

多个视频窗口动态排布的发起、同步方法及系统
相关申请
本申请要求名称为“多个视频窗口动态排布的发起、同步方法及系统”、于2020年2月13日提交的中国专利申请号为202010090292.8的优先权,在此通过引用包括该件申请。
技术领域
本发明涉及计算机领域,特别涉及多个视频窗口动态排布的发起、同步方法及系统。
背景技术
在传统的教学软件中,老师和学生的视频窗口大小和位置一般都是固定的,或者有简单的大、小两个尺寸。这种形式的缺点是互动性不好。
在多方视频通话类软件中,一般会有多个视频窗口,每个窗口显示一路视频。通常希望这些视频窗口的排布方式在各端是一致的,典型的例子就是在线教学或者在线会议类软件,老师/会议主持人(称之为操作者)把自己的窗口排在最左边,然后依次是学生/参会人A、B、C等,并且希望A、B和C端的排列顺序也是一样的,即操作者、A、B和C的顺序。但是目前存在的问题是,软件的初始状态是所有老师/会议主持人和学生/参会人的排列顺序是一致的,但是当老师/会议主持人端的视频窗口排列发生变化时,无法把老师/会议主持人端的视频窗口排布信息同步到学生/参会人端,从而导致学生/参会人端和老师/会议主持人端无法达到一致。
发明内容
本发明的目的在于克服上述技术缺陷,提出了多个视频窗口动态排布的同步方法,当发起客户端动态调整视频窗口的大小和位置后,其它客户端自动同步发起客户端的视频窗口调整后的大小和位置,使其视频窗口的排布与发起客户端保持一致。
为实现上述目的,本发明提供了一种多个视频窗口动态排布的发起方法,所述方法包括:
通过每个Widget对象监控四个鼠标事件,把事件类型和鼠标位置转发给它所 属的Placement对象;其中,Placement对象用于记录本地窗口布局,一个Widget对象为一个视频窗口;
通过所述Placement对象接收事件类型和鼠标位置并进行处理,实现视频窗口排布的动态调整,并将调整后的消息发送至服务器。
作为上述方法的一种改进,所述方法还包括:构造相应的Placement对象和多个Widget对象,所述Placement对象包括两个Rect成员和一个List成员,两个Rect成员分别表示停泊区和航行区;所述List成员包括多个Widget对象,每个Widget对象持有所述Placement对象的指针,指向Widget对象所属的布局。
作为上述方法的一种改进,所述四个鼠标事件包括:mouse press事件、mouse move事件、mouse release事件以及mouse double click事件
作为上述方法的一种改进,所述Placement对象根据收到的事件类型和鼠标位置进行处理,实现视频窗口的动态调整,并将调整后的消息发送至服务器,具体包括:
当Placement对象接收到mouse press事件,则记录该Widget的当前位置和鼠标按下位置;
当Placement对象接收到mouse move事件,则根据收到的鼠标按下位置,结合mouse press时记录的该Widget的位置和鼠标位置,计算出该Widget的新位置,并将该Widget移动到新位置;
当Placement对象接收到mouse release事件,判断该Widget是否在停泊区,若为是,则将该Widget以动画方式移动到mouse press时的初始位置;否则,把该Widget的当前位置和当前大小发送至服务器;
当Placement对象接收到mouse double click事件,判断该Widget是否在停泊区,若为是,将该Widget以动画方式从停泊区移动到航行区,并调整其窗口大小;否则,将该Widget以动画方式从航行区复位到停泊区;然后将“停泊区或航行区视频窗口数量变更”消息以及该Widget标识号发送至服务器。
作为上述方法的一种改进,所述将该Widget移动到新位置;具体包括:
若该Widget在停泊区内移动,则将该Widget进行横向平移;
若该Widget在航行区内移动,则将该Widget沿着横向和纵向移动到新位置,该Widget大小不变化;
若该Widget从停泊区移动到航行区,则将该Widget的大小放大指定的比例;
若该Widget从航行区移动到停泊区,则将该Widget的大小缩小到固定的大 小。
本发明提供了一种多个视频窗口动态排布的发起系统,所述系统包括:
监控模块,用于通过每个Widget对象监控四个鼠标事件,把事件类型和鼠标位置转发给它所属的Placement对象;其中,Placement对象用于记录本地窗口布局,一个Widget对象为一个视频窗口;
视频窗口调整模块,用于通过所述Placement对象接收事件类型和鼠标位置并进行处理,实现视频窗口排布的动态调整,并将调整后的消息发送至服务器。
本发明提供了一种多个视频窗口动态排布的同步方法,所述方法包括:
当接收到服务器转发的一个Widget的当前位置和当前大小,根据该Widget的原始位置和原始大小,以动画的形式将该Widge从原位置移动当前位置,将该Widget从原始大小变化到当前大小;
当接收到服务器转发的“停泊区或航行区视频窗口数量变更”消息以及Widget标识号,判断该Widget是否在停泊区,若为是,将该Widget以动画方式从停泊区移动到航行区,并调整其窗口大小;否则,将该Widget以动画方式从航行区复位到停泊区。
作为上述方法的一种改进,所述方法还包括:构造相应的Placement对象和多个Widget对象,所述Placement对象包括两个Rect成员和一个List成员,两个Rect成员分别表示停泊区和航行区;所述List成员包括多个Widget对象,每个Widget对象持有所述Placement对象的指针,指向Widget对象所属的布局。
本发明提供了一种多个视频窗口动态排布的同步系统,所述系统包括:所述系统包括:视频窗口动态排布发起模块、运行在服务器上的转发模块和视频窗口动态排布同步模块;
所述视频窗口动态排布发起模块,用于通过每个Widget对象监控四个鼠标事件,把事件类型和鼠标位置转发给它所属的Placement对象;其中,Placement对象用于记录本地窗口布局,一个Widget对象为一个视频窗口;通过所述Placement对象接收事件类型和鼠标位置并进行处理,实现视频窗口排布的动态调整,并将调整后的消息发送至服务器;
所述转发模块,用于将视频窗口动态排布发起模块发送的消息转发至其它所有客户端的视频窗口动态排布同步模块;
所述视频窗口动态排布同步模块,用于当接收到服务器转发的一个Widget的当前位置和当前大小,根据该Widget的原始位置和原始大小,以动画的形式将 该Widge从原位置移动当前位置,将该Widget从原始大小变化到当前大小;用于当接收到服务器转发的“停泊区或航行区视频窗口数量变更”消息以及Widget标识号,判断该Widget是否在停泊区,若为是,将该Widget以动画方式从停泊区移动到航行区,并调整其窗口大小;否则,将该Widget以动画方式从航行区复位到停泊区。
本发明的优势在于:
1、本发明的方法实现了多个客户端的视频窗口的动态、实时调整的同步,该方法占用带宽、CPU资源较少,提高了教学/会议效率;
2、本发明的方法实现了操作者能够动态调整自己和他人的视频窗口的大小和位置,参与者端自动同步操作者调整后的大小和位置,这样增强互动性,能够满足更多应用场景;
3、本发明的方法调整窗口位置时,通过播放动画来连续变化窗口位置,让用户可以看到窗口变化的过程,防止窗口突然出现和消失,提升了用户体验;
4、由于有了动画播放的过程,对同步频率的要求就降低了,可以做到让用户操作完成释放鼠标时才同步一次位置信息,而不需要在拖动过程中同步,降低了对网络带宽的占用;
5、通过本发明的方法,可以增强老师和学生互动性,并且也方便各端的沟通,达到更好的教学效果,提高教学效率。
附图说明
图1是一种典型的停泊区和航行区的划分;
图2是本发明的视频窗口动态排布方法的流程图;
图3是本发明的计算机设备的结构图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进行详细的说明。
本发明的方法应用的场景是多个客户端和一个服务器,其中多个客户端通过服务器进行通信,每个客户端都具有视频窗口调整的发起的功能,同时也具有同步其它客户端视频窗口调整的功能。初始状态时,所有客户端的视频窗口排列是一样的。
如图1所示,在客户端上,其视频窗口分布的位置分为停泊区和航行区, 停泊区窗口不能自由移动和调整大小,只能有限的平移,鼠标放开之后,又自动回到原始停泊位置。航行区窗口可以自由移动和调整大小,调整之后,远端要同步新的窗口位置和大小。
如图2所示,本发明的实施例1提供了一种多个视频窗口的动态排布的发起方法,由发起视频窗口动态调整的客户端执行,该客户端可以是任意一个客户端,该方法包括:
步骤101)在运行过程中构造相应的Placement对象和多个Widget对象;
Widget对象就是视频窗口,它持有一个指向Placement对象的指针,用于指向它所属的布局。
Placement对象代表布局,它有两个Rect成员,分别代表停泊区和航行区。还有一个保存多个Widget对象的List成员,用来保存它管理的所有视频窗口,除了自己的视频窗口,其它视频窗口为其它客户端的视频窗口。
步骤102)Widget对象监控mouse press、mouse move、mouse release以及mouse double click事件,把事件类型和鼠标位置发送给它所属的Placement对象。
步骤103)Placement对象对接收到的事件类型和鼠标位置进行处理:
a、如果是mouse press事件,则记录Widget当前位置,和鼠标按下位置。
b、如果是mouse move事件,则根据收到的鼠标位置,结合mouse press时记录的Widget位置、鼠标位置,算出Widget新的位置,并将Widget移动到新位置。
具体来说,这里又分3种情况:1)仅在停泊区之内移动,则忽略纵坐标变化仅进行平移。2)仅在航行区移动,则横、纵坐标都变化,窗口大小不变化。3)在停泊和航行区之间拖动,则除了调整横、纵坐标之外,窗口大小也要进行相应的变化。
停泊区的窗口,可以被拖到航行区,拖过去之后,自动放大指定的比例;航行区的窗口也可以被拖到停泊区,拖过去之后,自动缩小到固定的大小。
c、如果是mouse release事件,分两种情况:
1)如果在停泊区,则让Widget以动画方式回到mouse press时的初始位置。(此种情况不需要同步到其它客户端,其它客户端窗口位置自始至终不进行任何移动)。
2)如果在航行区,则把widget当前位置和大小发送到服务器,服务器把 此信息转发给其它客户端;
d、如果是mouse double click事件,分两种情况:
若当前在停泊区,则以动画方式移动到航行区;即:双击停泊区的视频窗口,该窗口会自动进入航行区,并调整自己的大小铺满航行区,然后双击第二个停泊区的窗口,它也会进入航行区,并调整自己和第一个窗口的大小,使二者共同占满航行区。以此类推。
若当前在航行区,则动画方式移动到停泊区。即:双击航行区的窗口,会自动复位到停泊区。
此两种情况下,客户端仅发送给服务器一个简单的“停泊区或航行区视频窗口数量变更”消息,并不包含任何窗口位置信息,服务器把此消息转发给其它客户端。
注意在mouse move期间,并不发送任何信息到服务器,而是mouse release或mouse double click时才发送信息到服务器,服务器转发给其它客户端之后,其它客户端才进行同步动作。
本发明的实施例2提供了一种多个视频窗口动态排布的发起系统,所述系统包括:
监控模块,用于通过每个Widget对象监控四个鼠标事件,把事件类型和鼠标位置转发给它所属的Placement对象;其中,Placement对象用于记录本地窗口布局,一个Widget对象为一个视频窗口;
视频窗口调整模块,用于通过所述Placement对象接收事件类型和鼠标位置并进行处理,实现视频窗口排布的动态调整,并将调整后的消息发送至服务器。
本发明的实施例3提供了一种多个视频窗口的动态排布的同步方法,由接收到视频窗口调整信息的客户端执行,该客户端是除了发起客户端的其它所有客户端,该方法包括:
步骤301)在运行过程中构造相应的Placement对象和Widget对象;
Widget对象就是视频窗口,它持有一个指向Placement对象的指针,用于指向它所属的布局。
Placement对象代表布局,它有两个Rect成员,分别代表停泊区和航行区。还有一个保存多个Widget的list成员,用来保存它管理的所有视频窗口,除了自己的视频窗口,其它视频窗口为其它客户端的视频窗口。
步骤302)接收服务器转发的消息并进行处理;具体包括:
接收服务器转发的一个Widget的当前位置和当前大小后,根据该Widget的原始位置和原始大小,以动画的形式将该Widge从原位置移动当前位置,将该Widget从原始大小变化到当前大小;
接收服务器转发的“停泊区或航行区视频窗口数量变更”消息以及Widget标识号后,判断该Widget是否在停泊区,若为是,该Widget自动进入航行区,并调整其窗口大小;否则,该Widget以动画方式会自动复位到停泊区,从而实现与发起客户端的视频窗口的相同排布。
本发明的实施例4提供了一种多个视频窗口动态排布的同步系统,所述系统包括:视频窗口动态排布发起模块、运行在服务器上的转发模块和视频窗口动态排布同步模块;
所述视频窗口动态排布发起模块,用于通过每个Widget对象监控四个鼠标事件,把事件类型和鼠标位置转发给它所属的Placement对象;其中,Placement对象用于记录本地窗口布局,一个Widget对象为一个视频窗口;通过所述Placement对象接收事件类型和鼠标位置并进行处理,实现视频窗口排布的动态调整,并将调整后的消息发送至服务器;
所述转发模块,用于将视频窗口动态排布发起模块发送的消息转发至其它所有客户端的视频窗口动态排布同步模块;
所述视频窗口动态排布同步模块,用于当接收到服务器转发的一个Widget的当前位置和当前大小,根据该Widget的原始位置和原始大小,以动画的形式将该Widge从原位置移动当前位置,将该Widget从原始大小变化到当前大小;用于当接收到服务器转发的“停泊区或航行区视频窗口数量变更”消息以及Widget标识号,判断该Widget是否在停泊区,若为是,将该Widget以动画方式从停泊区移动到航行区,并调整其窗口大小;否则,将该Widget以动画方式从航行区复位到停泊区。
如图3所示,本发明的实施例5提供的一种计算机设备(客户端),包括:至少一个处理器505、存储器505、至少一个网络接口503和用户接口504。该装置50中的各个组件通过总线系统505耦合在一起。可理解,总线系统505用于实现这些组件之间的连接通信。总线系统505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统505。
其中,用户接口504可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(track ball)、触感板或者触摸屏等。
可以理解,本公开实施例中的存储器505可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本文描述的存储器505旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器505存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:操作系统5055和应用程序5055。
其中,操作系统5055,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序5055,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本公开实施例方法的程序可以包含在应用程序5055中。
在本公开实施例中,通过调用存储器505存储的程序或指令,具体的,可以是应用程序5055中存储的程序或指令,处理器505用于:
执行实施例1和实施例3的方法的步骤。
实施例1和实施例3的方法可以应用于处理器505中,或者由处理器505实现。处理器505可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器505中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器505可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实 现或者执行实施例1和实施例3中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合实施例1和实施例3所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器505,处理器505读取存储器505中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本发明描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本发明的功能模块(例如过程、函数等)来实现本发明技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
实施例6
本发明实施例6提供一种非易失性存储介质,用于存储计算机程序。当该计算机程序被处理器执行时可以实现实施例1和实施例3的方法的各个步骤。
本发明的方法适用在线教学或者在线会议类系统,也可以用于任何有相似需求的场景。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (9)

  1. 一种多个视频窗口动态排布的发起方法,所述方法包括:
    通过每个Widget对象监控四个鼠标事件,把事件类型和鼠标位置转发给它所属的Placement对象;其中,Placement对象用于记录本地窗口布局,一个Widget对象为一个视频窗口;
    通过所述Placement对象接收事件类型和鼠标位置并进行处理,实现视频窗口排布的动态调整,并将调整后的消息发送至服务器。
  2. 根据权利要求1所述的多个视频窗口动态排布的发起方法,其特征在于,所述方法还包括:构造相应的Placement对象和多个Widget对象,所述Placement对象包括两个Rect成员和一个List成员,两个Rect成员分别表示停泊区和航行区;所述List成员包括多个Widget对象,每个Widget对象持有所述Placement对象的指针,指向Widget对象所属的布局。
  3. 根据权利要求2所述的多个视频窗口动态排布的发起方法,其特征在于,所述四个鼠标事件包括:mouse press事件、mouse move事件、mouse release事件以及mouse double click事件。
  4. 根据权利要求3所述的多个视频窗口动态排布的发起方法,其特征在于,所述Placement对象根据收到的事件类型和鼠标位置进行处理,实现视频窗口的动态调整,并将调整后的消息发送至服务器,具体包括:
    当Placement对象接收到mouse press事件,则记录该Widget的当前位置和鼠标按下位置;
    当Placement对象接收到mouse move事件,则根据收到的鼠标按下位置,结合mouse press时记录的该Widget的位置和鼠标位置,计算出该Widget的新位置,并将该Widget移动到新位置;
    当Placement对象接收到mouse release事件,判断该Widget是否在停泊区,若为是,则将该Widget以动画方式移动到mouse press时的初始位置;否则,把该Widget的当前位置和当前大小发送至服务器;
    当Placement对象接收到mouse double click事件,判断该Widget是否在停泊区,若为是,将该Widget以动画方式从停泊区移动到航行区,并调整其窗口大小;否则,将该Widget以动画方式从航行区复位到停泊区;然后将“停泊区或航行区视频窗口数量变更”消息以及该Widget标识号发送至服务器。
  5. 根据权利要求4所述的多个视频窗口动态排布的发起方法,其特征在于, 所述将该Widget移动到新位置;具体包括:
    若该Widget在停泊区内移动,则将该Widget进行横向平移;
    若该Widget在航行区内移动,则将该Widget沿着横向和纵向移动到新位置,该Widget大小不变化;
    若该Widget从停泊区移动到航行区,则将该Widget的大小放大指定的比例;
    若该Widget从航行区移动到停泊区,则将该Widget的大小缩小到固定的大小。
  6. 一种多个视频窗口动态排布的发起系统,其特征在于,所述系统包括:
    监控模块,用于通过每个Widget对象监控四个鼠标事件,把事件类型和鼠标位置转发给它所属的Placement对象;其中,Placement对象用于记录本地窗口布局,一个Widget对象为一个视频窗口;
    视频窗口调整模块,用于通过所述Placement对象接收事件类型和鼠标位置并进行处理,实现视频窗口排布的动态调整,并将调整后的消息发送至服务器。
  7. 一种多个视频窗口动态排布的同步方法,所述方法包括:
    当接收到服务器转发的一个Widget的当前位置和当前大小,根据该Widget的原始位置和原始大小,以动画的形式将该Widge从原位置移动当前位置,将该Widget从原始大小变化到当前大小;
    当接收到服务器转发的“停泊区或航行区视频窗口数量变更”消息以及Widget标识号,判断该Widget是否在停泊区,若为是,将该Widget以动画方式从停泊区移动到航行区,并调整其窗口大小;否则,将该Widget以动画方式从航行区复位到停泊区。
  8. 根据权利要求7所述的多个视频窗口动态排布的同步方法,其特征在于,所述方法还包括:构造相应的Placement对象和多个Widget对象,所述Placement对象包括两个Rect成员和一个List成员,两个Rect成员分别表示停泊区和航行区;所述List成员包括多个Widget对象,每个Widget对象持有所述Placement对象的指针,指向Widget对象所属的布局。
  9. 一种多个视频窗口动态排布的同步系统,其特征在于,所述系统包括:视频窗口动态排布发起模块、运行在服务器上的转发模块和视频窗口动态排布同步模块;
    所述视频窗口动态排布发起模块,用于通过每个Widget对象监控四个鼠标事件,把事件类型和鼠标位置转发给它所属的Placement对象;其中,Placement对 象用于记录本地窗口布局,一个Widget对象为一个视频窗口;通过所述Placement对象接收事件类型和鼠标位置并进行处理,实现视频窗口排布的动态调整,并将调整后的消息发送至服务器;
    所述转发模块,用于将视频窗口动态排布发起模块发送的消息转发至其它所有客户端的视频窗口动态排布同步模块;
    所述视频窗口动态排布同步模块,用于当接收到服务器转发的一个Widget的当前位置和当前大小,根据该Widget的原始位置和原始大小,以动画的形式将该Widge从原位置移动当前位置,将该Widget从原始大小变化到当前大小;用于当接收到服务器转发的“停泊区或航行区视频窗口数量变更”消息以及Widget标识号,判断该Widget是否在停泊区,若为是,将该Widget以动画方式从停泊区移动到航行区,并调整其窗口大小;否则,将该Widget以动画方式从航行区复位到停泊区。
PCT/CN2020/096052 2020-02-13 2020-06-15 多个视频窗口动态排布的发起、同步方法及系统 WO2021159645A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010090292.8 2020-02-13
CN202010090292.8A CN111343409B (zh) 2020-02-13 2020-02-13 多个视频窗口动态排布的发起、同步方法及系统

Publications (1)

Publication Number Publication Date
WO2021159645A1 true WO2021159645A1 (zh) 2021-08-19

Family

ID=71186847

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/096052 WO2021159645A1 (zh) 2020-02-13 2020-06-15 多个视频窗口动态排布的发起、同步方法及系统

Country Status (2)

Country Link
CN (1) CN111343409B (zh)
WO (1) WO2021159645A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651422B (zh) * 2020-08-05 2020-11-24 北京翼鸥教育科技有限公司 一种在线多文件多端同步的发起、响应方法及交互系统
CN114327325B (zh) * 2021-04-27 2022-06-07 北京仁光科技有限公司 多窗口处理方法、系统、可读存储介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010027088A1 (ja) * 2008-09-08 2010-03-11 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置及びプログラム
CN102938834A (zh) * 2012-11-21 2013-02-20 北京佳讯飞鸿电气股份有限公司 一种多屏多视频缩微视图调度系统及调度操作方法
CN104572752A (zh) * 2013-10-24 2015-04-29 中兴通讯股份有限公司 应用程序查找定位方法方法及装置
CN105589682A (zh) * 2014-10-22 2016-05-18 Tcl集团股份有限公司 一种基于Firefox OS的微件信息显示方法及装置
CN107066268A (zh) * 2017-03-28 2017-08-18 腾讯科技(深圳)有限公司 微件应用的显示位置切换方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5455904A (en) * 1990-08-02 1995-10-03 Bull S.A. Method of sizing or moving windows
JP4434973B2 (ja) * 2005-01-24 2010-03-17 株式会社東芝 映像表示装置、映像合成配信装置、プログラム、システム及び方法
CN101477436A (zh) * 2008-12-18 2009-07-08 腾讯科技(深圳)有限公司 对程序窗口的客户区进行交互的方法与系统
JP5375338B2 (ja) * 2009-05-29 2013-12-25 セイコーエプソン株式会社 画像表示システム、画像表示装置、画像表示方法、画像供給装置、およびプログラム
US20120023426A1 (en) * 2010-07-22 2012-01-26 Mediatek Inc. Apparatuses and Methods for Position Adjustment of Widget Presentations
CN102436335A (zh) * 2010-09-29 2012-05-02 鸿富锦精密工业(深圳)有限公司 微件添加系统及方法
TW201232384A (en) * 2011-01-31 2012-08-01 Ebsuccess Solutions Inc System and method of dynamic information display and automatic printing plate integration
CN102214101A (zh) * 2011-06-30 2011-10-12 中兴通讯股份有限公司 Widget窗口缩放显示的方法及装置
CN102323887B (zh) * 2011-06-30 2017-02-08 中兴通讯股份有限公司 基于浏览器引擎的动态加载Widget的方法及移动终端
US10277643B2 (en) * 2014-05-23 2019-04-30 Samsung Electronics Co., Ltd. Server and method of providing collaboration services and user terminal for receiving collaboration services
CN106569810A (zh) * 2016-10-31 2017-04-19 北京奇虎科技有限公司 一种微件对象widget的显示方法、装置和便携式移动终端
CN110489042B (zh) * 2019-07-17 2021-10-19 视联动力信息技术股份有限公司 一种基于视联网模拟拖拽的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010027088A1 (ja) * 2008-09-08 2010-03-11 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置及びプログラム
CN102938834A (zh) * 2012-11-21 2013-02-20 北京佳讯飞鸿电气股份有限公司 一种多屏多视频缩微视图调度系统及调度操作方法
CN104572752A (zh) * 2013-10-24 2015-04-29 中兴通讯股份有限公司 应用程序查找定位方法方法及装置
CN105589682A (zh) * 2014-10-22 2016-05-18 Tcl集团股份有限公司 一种基于Firefox OS的微件信息显示方法及装置
CN107066268A (zh) * 2017-03-28 2017-08-18 腾讯科技(深圳)有限公司 微件应用的显示位置切换方法及装置

Also Published As

Publication number Publication date
CN111343409A (zh) 2020-06-26
CN111343409B (zh) 2021-12-28

Similar Documents

Publication Publication Date Title
US10630738B1 (en) Method and system for sharing annotated conferencing content among conference participants
US11895426B2 (en) Method and apparatus for capturing video, electronic device and computer-readable storage medium
US9179096B2 (en) Systems and methods for real-time efficient navigation of video streams
USRE46309E1 (en) Application sharing
US9917866B2 (en) Arrangement of content on a large format display
US20140063174A1 (en) Mobile video conferencing with digital annotation
US20150012831A1 (en) Systems and methods for sharing graphical user interfaces between multiple computers
WO2021159645A1 (zh) 多个视频窗口动态排布的发起、同步方法及系统
US20210051374A1 (en) Video file playing method and apparatus, and storage medium
US20240089529A1 (en) Content collaboration method and electronic device
WO2021164154A1 (zh) 屏幕多方共享的发起、转发、响应、接收方法及互动系统
US20180295158A1 (en) Displaying group expressions for teleconference sessions
US20200336718A1 (en) Contextually-aware control of a user interface displaying a video and related user text
US20230403310A1 (en) Dynamic multi-user media streaming
CN112035195A (zh) 应用界面的展示方法、装置、电子设备及存储介质
US20160299671A1 (en) Opening New Application Window in Response to Remote Resource Sharing
US20160182851A1 (en) Systems and methods for automatic generation and consumption of hypermeetings
US20180018398A1 (en) Positioning content in computer-generated displays based on available display space
US20230328205A1 (en) Video conference presentation method and apparatus, and terminal device and storage medium
WO2020034651A1 (zh) 一种远程操作内容同步的系统及方法
EP4184924A1 (en) Network live broadcast interaction method and device
CN108886513B (zh) 具有经节制内容流的协作平台
US20230401076A1 (en) Dynamic input interaction
US20240163516A1 (en) Live streaming interface display method, device, apparatus, storage medium and program product
WO2023197415A1 (zh) 教务课情监管方法、装置、系统、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20918540

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20918540

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 13/02/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 20918540

Country of ref document: EP

Kind code of ref document: A1