CN116887005B - 投屏方法、电子设备和计算机可读存储介质 - Google Patents

投屏方法、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN116887005B
CN116887005B CN202310695920.9A CN202310695920A CN116887005B CN 116887005 B CN116887005 B CN 116887005B CN 202310695920 A CN202310695920 A CN 202310695920A CN 116887005 B CN116887005 B CN 116887005B
Authority
CN
China
Prior art keywords
interface
screen
electronic device
application
area
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
CN202310695920.9A
Other languages
English (en)
Other versions
CN116887005A (zh
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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310695920.9A priority Critical patent/CN116887005B/zh
Publication of CN116887005A publication Critical patent/CN116887005A/zh
Application granted granted Critical
Publication of CN116887005B publication Critical patent/CN116887005B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请提供一种投屏方法和电子设备,该方法中,第一电子设备接收到第一应用发送的第一请求,第一请求用于请求显示第一界面;第一界面的长宽比与第一电子设备的屏幕纵横比不相同;响应于第一请求,在屏幕上显示第二界面,第二界面中包括第一界面,第二界面中除第一界面外的区域为黑边区域;检测到将第二界面投屏至第二电子设备的操作;向第二电子设备发送第三界面,第三界面不包括第二界面的黑边区域;第二电子设备用于显示第三界面。本申请能够减少第二电子设备显示的投屏界面中四周的黑边,提高用户的投屏体验。

Description

投屏方法、电子设备和计算机可读存储介质
技术领域
本申请涉及智能终端技术领域,特别涉及一种投屏方法、电子设备和计算机可读存储介质。
背景技术
目前,很多用户拥有多个电子设备,例如手机、平板电脑(PAD)、个人电脑(Personal Computer,PC)、电视等。当用户将第一电子设备(如,手机)的界面投屏到第二电子设备(如,电视)进行显示时,如果第一电子设备的界面是全屏播放视频、全屏演示PPT等界面,第二电子设备上显示的投屏界面往往四周带有黑边,影响用户的投屏体验。
发明内容
本申请提供了一种投屏方法和电子设备,能够减少第二电子设备显示的投屏界面中四周的黑边,提高用户的投屏体验。
第一方面,本申请实施例提供一种投屏方法,应用于第一电子设备,包括:接收到第一应用发送的第一请求,第一请求用于请求显示第一界面;第一界面的长宽比与第一电子设备的屏幕纵横比不相同;响应于第一请求,在屏幕上显示第二界面,第二界面中包括第一界面,第二界面中除第一界面外的区域为黑边区域;检测到将第二界面投屏至第二电子设备的操作;向第二电子设备发送第三界面,第三界面不包括第二界面的黑边区域;第二电子设备用于显示第三界面。该方法中,需要对第二界面投屏时,不直接将第二界面发送至第二电子设备,而是向第二电子设备发送去除了第二界面中的黑边区域的第三界面,从而第二电子设备在显示第三界面时无需增加黑边区域或者只需要添加相对较少的黑边区域,从而能够减少第二电子设备显示的投屏界面中四周的黑边,提高用户的投屏体验。举例来说,上述第一应用例如可以是视频播放应用,第一界面例如可以是视频播放应用中的视频播放界面,第二界面可以是第一电子设备的物理屏幕上实际显示的界面,第三界面是发送至第二电子设备的界面,第二电子设备根据第三界面显示投屏界面。
在一种可能的实现方式中,第一界面中存在黑边区域;第三界面不包括第一界面的黑边区域。
在一种可能的实现方式中,第一界面中存在黑边区域;第三界面的长宽比与第二电子设备的屏幕纵横比相同,第三界面不包括第一界面的黑边区域。举例来说,如果第一界面是视频播放界面,第一界面中可以包括视频画面区域和黑边区域,可以按照第二电子设备的屏幕纵横比对视频画面区域(非黑边区域)进行裁切后得到第三界面,从而使得第三界面的长宽比与第二电子设备的屏幕纵横比相同且不包括第一界面的黑边区域;或者,如果第一界面是视频播放界面,第一界面中可以包括视频画面的显示区域、字幕区域和黑边区域,可以按照第二电子设备的屏幕纵横比对视频画面区域和字幕区域(非黑边区域)进行裁切后得到第三界面,从而使得第三界面的长宽比与第二电子设备的屏幕纵横比相同且不包括第一界面的黑边区域。
在一种可能的实现方式中,第一界面中存在字幕区域和黑边区域;第三界面的长宽比与第二电子设备的屏幕纵横比相同,第三界面不包括第一界面的字幕区域和黑边区域。举例来说,如果第一界面是视频播放界面,第一界面中可以包括视频画面的显示区域、字幕区域和黑边区域,可以按照第二电子设备的屏幕纵横比对视频画面区域进行裁切后得到第三界面,从而使得第三界面的长宽比与第二电子设备的屏幕纵横比相同且不包括第一界面的黑边区域。
在一种可能的实现方式中,第一请求用于请求显示第一界面,包括:第一请求用于请求绘制第一控件,第一控件用于显示第一界面;向第二电子设备发送第三界面之前,还包括:确定第一控件的尺寸小于第二界面的尺寸。举例来说,如果第一应用是视频播放应用,第一界面是视频播放界面,则第一控件可以是视频流控件。
在一种可能的实现方式中,向第二电子设备发送第三界面,包括:根据第一控件的显示区域设置虚拟屏幕的可见区域;在虚拟屏幕显示第四界面时,对虚拟屏幕的可见区域显示的界面进行录制,得到第三界面;第四界面与第二界面相同;向第二电子设备发送第三界面。第一电子设备根据第一界面渲染得到一界面后,该界面可以分别存储至物理屏幕缓冲区和虚拟屏幕缓冲区,物理屏幕缓冲区存储的该界面对应上述第二界面,虚拟屏幕缓冲区存储的该界面可以对应上述第四界面。可选地,物理屏幕缓冲区和虚拟屏幕缓冲区可以通过同一缓冲区实现,此时第二界面和第四界面是同一界面。
在一种可能的实现方式中,向第二电子设备发送第三界面之前,还包括:对第二界面或者虚拟屏幕显示的第四界面进行截屏,得到第一图像;第四界面与第二界面相同;检测到第一图像中第一区域是黑边区域,第一区域是第一图像中第一界面的显示区域以外的区域。
在一种可能的实现方式中,向第二电子设备发送第三界面,包括:根据第一界面的显示区域设置虚拟屏幕的可见区域;在虚拟屏幕显示第四界面时,对虚拟屏幕的可见区域显示的界面进行录制,得到第三界面;第四界面与第二界面相同;向第二电子设备发送第三界面。可选地,上述第三界面可以作为上述录制得到的视频中的视频帧发送至第二电子设备。
在一种可能的实现方式中,向第二电子设备发送第三界面,包括:根据第二界面中的非黑边区域设置虚拟屏幕的可见区域;在虚拟屏幕显示第四界面时,对虚拟屏幕的可见区域显示的界面进行录制,得到第三界面;第四界面与第二界面相同;向第二电子设备发送第三界面。
在一种可能的实现方式中,向第二电子设备发送第三界面,包括:根据第二界面中的非黑边区域和第二电子设备的屏幕纵横比设置虚拟屏幕的可见区域;在虚拟屏幕显示第四界面时,对虚拟屏幕的可见区域显示的界面进行录制,得到第三界面;第四界面与第二界面相同;向第二电子设备发送第三界面。
在一种可能的实现方式中,向第二电子设备发送第三界面之前,还包括:对第二界面或者虚拟屏幕上显示的第四界面进行截屏,得到第一图像;第四界面与第二界面相同;检测到第一图像中第一区域是黑边区域,第一区域是第一图像中第一界面的显示区域以外的区域;检测到第一图像中第一界面的显示区域存在黑边区域。
在一种可能的实现方式中,向第二电子设备发送第三界面之前,还包括:对第二界面或者虚拟屏幕上显示的第四界面进行截屏,得到第一图像;第四界面与第二界面相同;检测到第一图像中第一区域是黑边区域,第一区域是第一图像中第一界面的显示区域以外的区域;检测到第一图像中第一界面的显示区域存在黑边区域和字幕区域。
在一种可能的实现方式中,向第二电子设备发送第三界面,包括:根据第二界面中除黑边区域和字幕区域之外的区域、以及第二电子设备的屏幕纵横比设置虚拟屏幕的可见区域;在虚拟屏幕显示第四界面时,对虚拟屏幕的可见区域显示的界面进行录制,得到第三界面;第四界面与第二界面相同;向第二电子设备发送第三界面。
在一种可能的实现方式中,检测到将第二界面投屏至第二电子设备的操作之后,检测到第二界面中存在黑边区域之前,还包括:确定第一电子设备的屏幕纵横比与第二电子设备的屏幕纵横比不相同。
在一种可能的实现方式中,向第二电子设备发送第三界面之后,还包括:接收第二电子设备发送的第一控制事件;第一控制事件包括:第一坐标,第一坐标是第二电子设备的屏幕坐标系中的坐标;将第一坐标转换为第二坐标,第二坐标是第一电子设备的屏幕坐标系中的坐标;使用第二坐标更新第一控制事件中的第一坐标;将更新后的第一控制事件发送至第一应用,以便第一应用对更新后的第一控制事件进行响应。上述第一控制事件可以是用户的触摸事件,也可以是用户通过鼠标触发的鼠标事件等。
在一种可能的实现方式中,将第一坐标转换为第二坐标,包括:根据第三界面在第二电子设备的屏幕中的显示区域,将第一坐标转换为第三坐标,第三坐标是第一坐标在第三界面坐标系中对应的坐标;根据虚拟屏幕的可见区域,将第三坐标转换为第二坐标。
第二方面,本申请实施例提供一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令,当指令被设备执行时,使得设备执行第一方面任一项的方法。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行第一方面任一项的方法。
第四方面,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行第一方面所述的方法。
在一种可能的设计中,第四方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
附图说明
图1为现有技术投屏方法中的界面示意图;
图2为现有技术投屏原理示意图;
图3为本申请第一电子设备一个实施例的软件结构示意图;
图4A为本申请实施例投屏方法的一种场景示意图;
图4B为本申请实施例投屏方法的另一种场景示意图;
图5A为本申请投屏方法一个实施例的流程示意图;
图5B为本申请物理屏幕和虚拟屏幕中的层关系示意图;
图5C为本申请实施例屏幕坐标系建立方法示意图;
图5D为本申请实施例去除黑边的选择界面示意图;
图6A为本申请实施例投屏方法中触摸操作反馈的流程示意图;
图6B为本申请实施例第二电子设备中屏幕坐标系的建立方法示意图;
图6C为本申请实施例位置坐标转换方法示意图;
图7为本申请实施例第一电子设备内各模块与第二电子设备内各模块的交互流程示意图
图8为本申请实施例第一电子设备内各模块交互的时序图;
图9为本申请实施例第一电子设备内各模块交互的时序图;
图10为本申请实施例第一电子设备和第二电子设备内各模块交互的时序图;
图11A和图11B为本申请实施例投屏方法的另一种场景示意图;
图11C为本申请实施例虚拟屏幕可见区域的选择方法示意图;
图12为本申请投屏方法一个步骤的实现流程示意图;
图13为为本申请实施例投屏方法的另一种场景示意图;
图14为本申请投屏方法一个步骤的实现流程示意图;
图15为本申请实施例虚拟屏幕可见区域的选择方法示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请实施例中的投屏是指,将一个电子设备上的界面实时地显示在另一电子设备上。为了方便说明,本申请实施例中,将上述的“一个电子设备”称为“第一电子设备”,将上述“另一电子设备”称为“第二电子设备”。将第一电子设备上需要投屏的界面称为源界面,投屏后第二电子设备中显示的界面称为“投屏界面”。需要说明的是,投屏功能可以是由系统提供的,也可以是由应用提供的,本申请实施例不作限定。
本申请实施例中第一电子设备和第二电子设备之间可以通过蓝牙、WiFi等直接连接,或者,第一电子设备和第二电子设备也可以分别连接远端服务器,通过远端服务器实现第一电子设备和第二电子设备之间的间接连接。
以下对现有技术投屏界面四周出现黑边的场景进行说明。
以第一电子设备是手机,第二电子设备是电视为例,目前很多手机的屏幕纵横比为18:9、19.5:9、21:9等等,电视的屏幕纵横比一般为16:9、4:3等。以手机的屏幕纵横比是21:9、电视的屏幕纵横比是16:9为例。如果手机全屏播放视频或者PPT等内容,全屏播放的视频或者PPT的长宽比例一般为16:9,由于屏幕纵横比与显示内容的长宽比例不适配,手机显示的界面中,内容(视频或者PPT)区域的左右两侧会存在黑边。图1中以手机全屏播放视频为例,界面110中111部分是视频画面,视频画面左右两侧的112部分显示为黑色,屏幕纵横比为L1:W1=21:9,视频画面的长宽比例为L2:W1=16:9,从而L1比L2长出来的部分(也即112部分)都显示为黑色,在用户看来就是全屏播放的视频画面的两侧存在黑边。
在将手机的界面投屏到电视上时,如果电视的屏幕纵横比与手机的屏幕纵横比不相同,这时,电视上的投屏界面例如图1中界面120所示,电视的屏幕纵横比假设为L3:W3=16:9,视频画面的周边都显示为黑色,从而在用户看来投屏界面中视频画面的四周均有黑边,例如界面120中的斜线部分所示。
以下对出现上述场景的原因进行说明。
如果将第一电子设备中应用1显示的界面投屏至第二电子设备,一般在第一电子设备中设置虚拟屏幕,如图2所示,应用1将要显示的界面数据发送至本设备的物理屏幕进行显示,并且,将界面数据发送至虚拟屏幕进行显示,虚拟屏幕的尺寸与第一电子设备的屏幕的尺寸一致。对用户而言,用户可以看到物理屏幕上显示的界面,虚拟屏幕显示的界面与物理屏幕相同,但是不向用户显示。第一电子设备对虚拟屏幕显示的界面进行录制,将录制得到的视频流发送至第二电子设备;第二电子设备播放视频流,第二电子设备的屏幕上显示的界面即为投屏界面。其中,第一电子设备的物理屏幕和虚拟屏幕的尺寸相同,因此,录制得到的视频流中视频帧的长宽比例与第一电子设备的屏幕纵横比相同,举例来说,如果第一电子设备的屏幕纵横比为21:9,那么视频帧的长宽比例也为21:9;在第二电子设备播放视频流时,如果视频流中视频帧的长宽比例与第二电子设备的屏幕纵横比不一致,那么,第二电子设备在显示视频帧时,一般需要根据屏幕纵横比和视频帧的长宽比例将视频帧的上下两侧或左右两侧等视频帧无法铺满的区域显示为黑色,从用户的角度来说,视频帧外侧显示为黑色的区域就是视频画面外围存在黑边。
延续图1所示举例。图1中界面110的111部分是视频画面,屏幕纵横比为L1:W1=19.5:9,视频画面的长宽比例为L2:W1=16:9,视频画面左右两侧的112部分显示为黑色,在用户看来全屏播放的视频画面的两侧存在黑边。在将手机的界面投屏到电视上时,发送至电视的视频流中,视频帧的长宽比例与手机的屏幕纵横比相同,也即21:9,电视的屏幕纵横比为16:9,与手机的屏幕纵横比不同,为此,电视在显示视频帧时,为了适应视频帧的长宽比例21:9,需要将投屏界面的上下两侧视频帧无法铺满的区域显示为黑色。如图1中界面120所示,电视的屏幕纵横比为L3:W3=16:9,手机发送至电视的视频流中视频帧的长宽比例为L3:W2=21:9,W3比W2宽出来的部分(也即122部分)都显示为黑色,从而在用户看来投屏界面中视频画面的四周均有黑边,例如界面120中的斜线部分所示。
因此,现有技术中在将全屏显示的视频画面或者PPT画面投屏至电视等电子设备时,投屏界面往往四周带有黑边,对于用户而言,投屏界面中显示内容的区域较小,屏幕的显示区域没有得到充分利用,从而影响投屏界面的显示效果,降低用户的投屏体验。
为此,本申请提供了一种投屏方法和电子设备,能够减少第二电子设备显示的投屏界面中存在于四周的黑边,提高用户的投屏体验。
图3所示为本申请实施例提供的一种第一电子设备的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。本申请实施例以安卓(Android)系统为例,对Android系统的第一电子设备的软件结构进行说明。在一些实施例中,将Android系统分为五层,从上至下分别为应用程序层、应用程序框架层(也称:系统框架层)、系统库和安卓运行时层、硬件抽象层(hardware abstraction layer,HAL)和内核层。
应用程序层可以包括若干个应用程序(下文简称为应用),例如相机,图库,日历,WLAN等。本申请实施例第一电子设备的应用程序层包括第一应用。第一应用是本申请实施例中需要对应用中的界面进行投屏的应用,例如视频播放应用、PPT播放应用等。
应用程序框架层为应用程序层的应用提供应用编程接口(ApplicationProgramming Interface,API)和编程框架,包括各种组件和服务来支持开发者的安卓开发。应用程序框架层还包括一些预先定义的函数。例如应用程序框架层可包括窗口管理器、内容提供器、资源管理器、摄像头服务等。如图3所示,本申请实施例第一电子设备的应用程序框架层可以包括:显示框架、渲染框架和投屏框架。其中,显示框架用于确定需要显示的控件的信息;渲染框架用于对显示框架确定的控件进行合成渲染,将合成渲染后的界面数据发送至渲染框架中预设的物理屏幕缓冲区和虚拟屏幕缓冲区,物理屏幕缓冲区的界面数据由物理屏幕进行显示,虚拟屏幕缓冲区的界面数据由虚拟屏幕进行显示;投屏框架用于对虚拟屏幕显示的界面进行录制,将录制得到的视频流发送至第二电子设备。
以上的显示框架、渲染框架和投屏框架可以实现投屏。进一步地,本申请实施例的投屏方法还提供了对第二电子设备的投屏界面中用户的触摸事件进行响应的方法,为了实现该方法,如图3所示,本申请实施例第一电子设备的应用程序框架层还可以包括:触摸框架;上述投屏框架可以接收第二电子设备发送的触摸事件,将触摸事件发送至触摸框架,触摸框架对用户在投屏界面中的触摸事件进行坐标转换,将触摸事件的类型和转换后的坐标等信息发送至第一应用,以便第一应用对触摸事件进行响应。
系统库和安卓运行时层包括系统库和安卓运行时(Android Runtime)。系统库可以包括多个功能模块。例如:表面管理器、二维图形引擎、三维图形处理库(例如:OpenGLES),媒体库、字体库等。其中,浏览器内核负责对网页语法的解释(如标准通用标记语言下的一个应用HTML、JavaScript)并渲染(显示)网页;二维图形引擎用于实现二维图形绘图,图像渲染,合成和图层处理等;三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等;媒体库用于实现不同流媒体的输入;字体库用于实现不同字体的输入。安卓运行时负责安卓系统的调度和管理,具体包括核心库和虚拟机。其中,核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库;虚拟机用于运行使用java语言开发的Android应用。
HAL层为位于操作系统内核与硬件电路之间的接口层。HAL层包括但不限于:音频硬件抽象层(Audio HAL)和摄像头硬件抽象层(Camera HAL)。其中,Audio HAL用于对音频流进行处理,例如,对音频流进行降噪、定向增强等处理,Camera HAL用于对图像流进行处理。
内核层是硬件和软件之间的层。内核层可以包括:显示驱动,摄像头驱动,音频驱动,传感器驱动,等。
本申请实施例还提供的一种第二电子设备的软件结构框图,区别于图3所示的第一电子设备的软件结构,第二电子设备的应用程序层可以包括:显示框架、渲染框架和投屏框架;与图3所示第一电子设备中渲染框架和投屏框架不同的是,本申请实施例的第二电子设备需要进行投屏界面的显示,因此,渲染框架中需要预设物理屏幕缓冲区,无需预设虚拟屏幕缓冲区,投屏框架需要进行视频流的接收和送显,无需录制和发送视频流。进一步地,如果第一电子设备能够实现对投屏界面中用户的触摸事件的响应,第二电子设备中的投屏框架还可以用于:接收用户在投屏界面中的触摸事件,将触摸事件信息发送至第一电子设备。
以下实施例中,将结合上述第一电子设备和第二电子设备的软件结构对本申请实施例投屏方法进行详细说明。
图4A是本申请投屏方法的一种场景示意图。
源界面仍以图1中手机全屏播放视频画面的界面110为例。其中,手机的屏幕纵横比为:L1:W1=21:9,视频画面的长宽比例为L2:W1=16:9;112部分所示的斜线区域显示为黑色,从用户角度来说为黑边。
用户在界面110中选择“投屏”控件,进而在提供的设备列表中选择要投屏的设备,例如图4A中以用户选择“设备1”控件为例,则第二电子设备即为设备1;执行本申请投屏方法后,第二电子设备中显示的投屏界面例如界面310所示。
界面310为电视显示的投屏界面,电视的屏幕纵横比为L4:W4=4:3;投屏界面310中视频画面的长宽比例为L4:W5=16:9;界面310相对于现有技术中的界面120,去除了视频画面左右两侧的黑边,且上下两侧的黑边相对更窄,使得用户在电视上观看到相对更大的视频画面,提升用户的投屏体验。
图4B是本申请投屏方法的另一种场景示意图。
源界面中除了包括左右黑边外,还包括上下黑边,也即源界面中显示内容的四周均存在黑边。例如图4B中界面320所示,界面320与界面110的区别主要在于:界面320中显示的视频画面是4:3或者2.39:1的老电影转录为16:9的视频。从而,视频画面本身包括上下黑边,例如界面320中3211部分所示,视频画面中无黑边的电影画面宽高比为L2:W6;
用户在界面320中选择“投屏”控件,进而在提供的设备列表中选择要投屏的设备,例如图4B中以用户选择“设备1”控件为例,则第二电子设备即为设备1;执行本申请投屏方法后,第二电子设备中显示的投屏界面例如界面330所示。
界面330为电视显示的投屏界面,电视的屏幕纵横比为L4:W4=4:3;投屏界面330中视频画面的长宽比例为L4:W7=L2:W6;界面330相对于现有技术中的界面120,去除了视频画面左右两侧的黑边,且上下两侧的黑边相对更窄,使得用户在电视上观看到相对更大的视频画面,提升用户的投屏体验。
基于图4A和图4B所示的场景示意图,提供本申请投屏方法一个实施例的流程图,如图5A所示,该方法可以包括:
步骤501:第一电子设备检测到将源界面投屏到第二电子设备的投屏操作。
例如图4A和图4B所示,用户在源界面中选择“投屏”控件,并选择要投屏的设备,相应的,第一电子设备检测到将源界面投屏到第二电子设备的投屏操作。
步骤502:第一电子设备获取第一电子设备的屏幕纵横比和第二电子设备的屏幕纵横比。
第一电子设备的屏幕纵横比可以存储于第一电子设备中。
第二电子设备的屏幕纵横比可以由第二电子设备发送至第一电子设备。
步骤503:第一电子设备确定第二电子设备的屏幕纵横比与第一电子设备的屏幕纵横比不相同。
其中,如果第一电子设备确定第二电子设备的屏幕纵横比与第一电子设备的屏幕纵横比相同,可以按照现有技术的投屏方法进行投屏,这里不赘述。
步骤504:第一电子设备设置虚拟屏幕的可见区域。
为了与虚拟屏幕区分,将电子设备的屏幕称为物理屏幕。电子设备的物理屏幕一般是矩形或者近似矩形,虚拟屏幕与物理屏幕对应,一般是矩形,本申请实施例中虚拟屏幕的可见区域是物理屏幕显示区域的部分区域或者全部区域。
如图5B所示,电子设备的物理屏幕在显示界面时,包括显示内容层(DisplayRect)和观察窗口层(Viewport),同样的,虚拟屏幕也可以包括显示内容层和观察窗口层,不管是物理屏幕还是虚拟屏幕,屏幕的人眼可见区域与观察窗口层的区域设置信息相关,例如图5B中物理屏幕的观察窗口层为2340*1080,那么人眼可见区域为2340*1080,虚拟屏幕的观察窗口层为1920*1080,那么人眼可见区域也为1920*1080。需要说明的是,在投屏时虚拟屏幕显示的界面是不向用户显示的,其人眼可见区域是指录屏时可以被录制的区域。
不管是物理屏幕还是虚拟屏幕,其区域的设置信息与物理屏幕的分辨率相关。举例来说,参见图5C所示,可以以物理屏幕的左上角顶点为原点O,经过原点O水平向右为x轴,经过原点O竖直向下为y轴建立坐标系,则物理屏幕中的每个像素点可以通过坐标(x,y)标识。基于该坐标系,参见图5B,以物理屏幕的分辨率是2340*1080为例,物理屏幕显示内容层的显示区域可以设置为(0,0,2340,1080),观察窗口层的显示区域为(0,0,2340,1080),虚拟屏幕的显示内容层的显示区域可以设置为(0,0,2340,1080),观察窗口层的显示区域可以设置为(210,0,2130,1080)。本申请实施例中,虚拟屏幕的可见区域可以是虚拟屏幕的观察窗口层的显示区域。通过设置观察窗口层的显示区域,可以改变虚拟屏幕的人眼可见区域,也即改变发送至第二电子设备的视频帧的长宽比和内容。例如,可见区域设置为(210,0,2130,1080),则可见区域的长宽比例变为16:9,也即发送至第二电子设备的视频帧的长宽比例为16:9,实际视频帧中的内容是图5C中矩形ABCD中的内容。
在第一种可能的实现方式中,第一电子设备设置虚拟屏幕的可见区域可以包括:
第一电子设备获取源界面尺寸以及源界面中应用显示控件的尺寸;
如果判断应用显示控件的尺寸小于源界面尺寸,根据应用显示控件的显示区域设置虚拟屏幕的可见区域;
如果判断应用显示控件的尺寸不小于源界面尺寸,将虚拟屏幕的可见区域设置为与屏幕的显示区域相同。
其中,应用显示控件是指源界面中用于显示第一应用的界面的控件。以第一应用是视频播放应用为例,第一应用请求第一电子设备显示应用中的视频播放界面,则可以向第一电子设备的框架层的显示框架发送绘制请求,请求绘制视频流控件,视频流控件中显示的是视频播放界面;上述应用显示控件也即是上述视频流控件。
本申请实施例中,第一电子设备渲染得到的界面分别发送至物理屏幕缓冲区和虚拟屏幕缓冲区,物理屏幕缓冲区和虚拟屏幕缓冲区中存储的同一界面的数据相同,因此,上述源界面也可以被替换为虚拟屏幕缓冲区中存储的待显示的界面。可选地,在某些实现中物理屏幕缓冲区和虚拟屏幕缓冲区可以通过同一缓冲区实现,也即该缓冲区中存储的界面既发送至物理屏幕显示,也发送至虚拟屏幕显示。
可选地,在判断应用显示控件的尺寸小于源界面尺寸之后,根据应用显示控件的显示区域设置虚拟屏幕的可见区域之前,可以向用户展示是否去除黑边的选择界面,由用户选择是否在投屏时去除黑边,例如图5D中界面410所示,选择界面中可以展示控件411和控件412,如果用户选择控件411,则根据应用显示控件的显示区域设置虚拟屏幕的可见区域,如果用户选择控件412,将虚拟屏幕的可见区域设置为与屏幕的显示区域相同。
在第二种可能的实现方式中,第一电子设备设置虚拟屏幕的可见区域可以包括:
第一电子设备对源界面进行截屏,对截屏得到的图片进行黑边检测;
如果检测到黑边,根据非黑边区域在源界面中的位置设置虚拟屏幕的可见区域;
如果未检测到黑边,将虚拟屏幕的可见区域设置为与屏幕的显示区域相同。
可选地,在对图片进行黑边检测时,可以通过检测图片的指定区域中像素的颜色是否是黑色实现。例如,如果第一电子设备的屏幕分辨率是2340*1080,也即屏幕纵横比为19.5:9,而视频或者PPT等全屏播放时的长宽比例一般为16:9,那么,可以检测图片的区域(0,0,210,1080)以及区域(2130,0,2340,1080)中像素的RGB值是否均为(0,0,0),如果是,则上述区域为黑边区域,否则,不是黑边区域。可理解地,第一电子设备对于屏幕上未被应用的界面铺满的区域除了可以显示为黑色外,也可以显示为灰色等,此时,在对图片进行黑边(灰边)检测时,可以通过检测图片的指定区域中像素的颜色是否是灰色实现。
可选地,由于物理屏幕缓冲区和虚拟屏幕缓冲区中存储的界面数据相同,因此,上述源界面也可以被替换为虚拟屏幕缓冲区中存储的待显示的界面,也即对虚拟屏幕缓冲区中存储的待显示的界面进行截屏。
本实现方式中,对图片进行黑边检测可以是对图片是否存在左右黑边进行检测,相应的,如果检测到黑边,非黑边区域是去除左右黑边后的区域。
可选地,在本实现方式中,也可以在检测到左右黑边后,进一步对图片是否存在上下黑边进行检测,如果检测到上下黑边,则非黑边区域为去除上下左右黑边后的区域,如果未检测到上下黑边,则非黑边区域为去除左右黑边后的区域。
可选地,在检测到黑边之后,根据非黑边区域在源界面中的位置设置虚拟屏幕的可见区域之前,可以向用户展示是否去除黑边的选择界面,由用户选择是否在投屏时去除黑边,例如图5D中界面410所示,选择界面中可以展示控件411和控件412,如果用户选择控件411,则根据非黑边区域在源界面中的位置设置虚拟屏幕的可见区域,如果用户选择控件412,将虚拟屏幕的可见区域设置为与屏幕的显示区域相同。
在第三种可能的实现方式中,第一电子设备设置虚拟屏幕的可见区域可以包括:
第一电子设备获取源界面尺寸以及源界面中应用显示控件的尺寸;
如果判断应用显示控件的尺寸小于源界面尺寸,根据应用显示控件的显示区域设置虚拟屏幕的可见区域;
如果判断应用显示控件的尺寸不小于源界面尺寸,对源界面进行截屏,对截屏得到的图片进行黑边检测;
如果检测到黑边,根据非黑边区域在源界面中的位置设置虚拟屏幕的可见区域;
如果未检测到黑边,将虚拟屏幕的可见区域设置为与屏幕的显示区域相同。
为了保证黑边检测结果的准确性,第一电子设备可以对源界面多次截屏,根据多次截屏得到的多个图片的黑边检测结果设置虚拟屏幕的可见区域。
可选地,由于物理屏幕缓冲区和虚拟屏幕缓冲区中存储的界面数据相同,因此,上述源界面也可以被替换为虚拟屏幕缓冲区中存储的待显示的界面。
本实现方式中,对图片进行黑边检测可以是对图片是否存在左右黑边进行检测,相应的,如果检测到黑边,非黑边区域是去除左右黑边后的区域。
可选地,在本实现方式中,也可以在检测到左右黑边后,进一步对图片是否存在上下黑边进行检测,如果检测到上下黑边,则非黑边区域为去除上下左右黑边后的区域,如果未检测到上下黑边,则非黑边区域为去除左右黑边后的区域。
可选地,在判断应用显示控件的尺寸小于源界面尺寸之后,根据应用显示控件的显示区域设置虚拟屏幕的可见区域之前,或者,在检测到黑边之后,根据非黑边区域在源界面中的位置设置虚拟屏幕的可见区域之前,可以向用户展示是否去除黑边的选择界面,由用户选择是否在投屏时去除黑边,具体实现可以参考前述可能实现方式中的对应说明,这里不赘述。
步骤505:第一电子设备对虚拟屏幕中显示的界面进行录屏,将录制得到的视频流发送至第二电子设备。
步骤506:第二电子设备根据视频流显示投屏界面。
第二电子设备根据视频流显示投屏界面时,如果视频帧的长宽比例与第二电子设备的屏幕纵横比一致,则第二电子设备播放视频流时,不在视频帧的周边增加黑边,视频帧铺满投屏界面,从而相对于现有技术的投屏界面,去掉了视频帧周围的黑边,提升用户的投屏体验。而第二电子设备根据视频流显示投屏界面时,如果视频帧的长宽比例与第二电子设备的屏幕纵横比不一致,则投屏界面中视频帧的上下两侧或者左右两侧增加黑边,但是,相对于现有技术中的投屏界面,仅存在左右或者上下的黑边,投屏界面相对更大,也可以提升用户的投屏体验;例如图4A和图4B所示,如果视频帧的长宽比例是16:9,第二电子设备的屏幕纵横比是4:3,也即16:12,那么在保证视频帧完整显示的条件下,屏幕显示区域的宽度大于视频帧的宽度,则投屏界面中屏幕显示区域宽于视频帧宽度的部分可以显示为黑色,例如图4A中界面310的312部分所示以及图4B中界面330的332部分所示。
进一步地,参见图6A所示,本申请实施例投屏方法还提供基于投屏界面的触摸反馈流程,该流程在第二电子设备开始显示投屏界面之后的任意时刻均可以被触发执行。如图6A所示,包括:
步骤601:第二电子设备将投屏界面显示参数发送至第一电子设备。
投屏界面显示参数可以包括:视频帧在第二电子设备的屏幕上的显示区域。
虚拟屏幕的界面一般为矩形,也即录屏得到的视频流中视频帧的画面一般为矩形,上述显示区域可以通过矩形对角顶点的坐标标识。例如,参见图6B所示,可以建立第二电子设备的屏幕坐标系,以第二电子设别屏幕左上角顶点作为原点,经过原点水平向右为x轴,竖直向下为y轴,则第二电子设备的屏幕上的每个像素可以通过坐标(x,y)标识,相应的,视频帧对角顶点也可以通过对应像素的坐标标识,举例来说,如果第二电子设备的屏幕分辨率是1920*1440,视频帧的长宽比例为16:9,则视频帧在屏幕上的显示区域可以为(0,180,1920,1260)。
可选地,如果第二电子设备的屏幕纵横比与视频帧的长宽比例相同,则投屏界面显示参数可以不发送至第一电子设备。
步骤602:第二电子设备接收到针对于投屏界面的第一触摸事件。
触摸事件中可以包括:触摸类型和第一坐标,第一坐标是触摸事件在第二电子设备的屏幕上的位置坐标。
可选地,触摸类型可以包括但不限于:点击、双击、滑动等等。
可选地,位置坐标可以是触摸操作在屏幕上对应像素的坐标,其中位置坐标可以是一个像素的坐标也可以包括多个像素的坐标,其与触摸操作的类型相关。
步骤603:第二电子设备将第一触摸事件发送给第一电子设备。
可选地,在发送第一触摸事件时,可以携带第二电子设备的标识,以便向第一电子设备指示第一触摸事件是第二电子设备中的触摸事件。
步骤604:第一电子设备根据投屏界面显示参数以及虚拟屏幕的可见区域的设置信息计算第一触摸事件中的第一坐标在第一电子设备屏幕上对应的第二坐标。
具体的,第一电子设备可以根据投屏界面显示参数将第一坐标转换为视频帧中的坐标;再根据虚拟屏幕的可见区域的设置信息将视频帧中的坐标转换为第一电子设备屏幕上的坐标。
举例来说,第一电子设备的屏幕分辨率为2340*1080,播放的视频的长宽比例为16:9,从而将虚拟屏幕的可见区域设置为(210,0,2130,1080),第二电子设备的屏幕分辨率为1920*1440,视频帧的显示区域为(0,180,1920,1260),则,对于一触摸操作,如果该触摸操作在第二电子设备的屏幕上的位置坐标包括像素坐标(x,y),则根据视频帧的显示区域(0,180,1920,1260),将像素坐标(x,y)转换为其在视频帧中的像素坐标(x,y-180),再根据虚拟屏幕的可见区域的设置信息(210,0,2130,1080)将其转换为第一电子设备屏幕上的像素坐标(x+210,y-180)。需要说明的是,如果第二电子设备显示视频帧的区域的分辨率与视频帧的分辨率不一致,在将第二电子设备的屏幕上的位置坐标转换为视频帧中的像素坐标时,还需要按照两者的分辨率对第二电子设备的屏幕上的位置坐标进行比例适配,具体的比例适配的计算方法这里不赘述。
可选地,如果第二电子设备的屏幕纵横比与视频帧的长宽比例相同,则第一电子设备根据投屏界面显示参数将位置坐标转换为视频帧中的位置坐标的步骤可以省略。此时,如图6C所示,只要根据虚拟屏幕的可见区域的设置信息,通过上述举例的几何关系平移的方法将第二电子设备发送来的位置坐标转换为第一电子设备屏幕上对应的位置坐标即可。
步骤605:第一电子设备向第一应用发送第二触摸事件,第一应用根据第二触摸事件进行触摸事件的响应。
第二触摸事件可以包括:第二坐标以及触摸类型。第二触摸事件的触摸类型与第一触摸事件的触摸类型相同。第一电子设备可以将第一触摸事件中的第一坐标更新为第二坐标,得到第二触摸事件。
其中,第一应用如何进行触摸操作的响应本申请实施例不作限定。
通过以上处理,当用户在投屏界面上执行触摸操作时,第一电子设备可以基于该触摸操作进行准确的响应处理。
应理解,图6A中的触摸事件也可以扩展至用户使用鼠标在第二电子设备的屏幕上触发的鼠标事件等其他用户针对于投屏界面触发的控制事件,这里不再一一列举。
下面结合图7所示的第一电子设备内各模块与第二电子设备内各模块的交互流程示意图、图8所示的第一电子设备内各模块交互的时序图、图9所示的第一电子设备和第二电子设备内各模块交互的时序图,对图5A所示的投屏过程进行详细说明。
图8所示的第一电子设备内各模块交互的时序图用于说明源界面的生成流程,包括:
步骤801:发送绘制请求。
以第一应用是视频播放应用、第一应用对播放的全屏视频画面进行投屏为例,第一应用向显示框架中的视频播放模块发送视频流控件的绘制请求。
可选地,绘制请求中包括但不限于:第一应用(例如视频播放应用)的应用ID(例如可以是应用程序包名)、需要绘制的控件的ID(例如可以是控件名)等。
步骤802:确定视频流控件信息。
显示框架中的视频播放模块根据绘制请求中携带的信息,确定需要绘制的视频流控件对应的控件信息。
可选地,控件信息可以包括:应用类型以及控件类型。
可选地,视频播放模块可以根据抓取到的应用ID确定应用类型,例如上述发起绘制请求的是视频播放应用,则根据视频播放应用的ID确定的应用类型可以为视频播放类型。
可理解的,关于应用类型的确定,可以通过预设应用ID与应用类型的对应关系,进而在抓取到应用ID时,直接根据预设的对应关系确定对应的应用类型。
可选地,视频播放模块可以根据抓取到的控件名确定控件类型,例如在抓取到的控件名为SurfaceView时,确定的控件类型为视频流播放控件,或者3D图片显示控件。
可理解的,关于控件类型的确定,同样可以通过预设对应关系的方式确定,即预先确定不同控件名与控件类型的对应关系,进而在抓取到控件名时,直接根据预设的对应关系确定对应的控件类型。
由此,视频播放模块根据接收到的绘制请求,便可以确定需要绘制的控件的控件信息。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
步骤803:发送渲染请求。
视频播放模块向渲染框架中的渲染模块发送渲染请求,用于请求渲染视频流控件。
示例性的,在实际的应用场景中,视频播放模块可以根据确定的视频播放类型和控件类型,获取视频播放应用对应的配置信息,例如可以是视频播放应用显示的画面对应的分辨率(例如1080*720),以及控件的配置信息,例如可以是控件的大小、位置等信息,然后根据确定的信息生成渲染请求,并将渲染请求发送给渲染模块。
步骤804:绘制视频流控件,得到界面A。
渲染模块接收到渲染请求,根据渲染请求绘制视频流控件,得到界面A。渲染模块根据渲染请求绘制视频流控件,得到界面A的具体实现方法这里不赘述。
本申请实施例中界面A的尺寸可以与物理屏幕的显示内容层的尺寸一致,如果视频流控件无法铺满上述界面A,渲染模块在绘制视频流控件时,可以按照界面A的尺寸将界面A中视频流控件无法铺满的区域显示为黑色(可选地,也可以是其他颜色例如灰色等)。
步骤805:显示界面A。
渲染模块可以将生成的界面A发送至内核层的显示驱动,进而通过第一电子设备的物理屏幕显示界面A。
基于前述举例,物理屏幕的显示内容层和观察窗口层(对应物理屏幕的可见区域)尺寸可以相同,由于界面A中存在黑色区域,那么物理屏幕在显示界面A时,用户观看到的界面中存在黑色区域。
通过以上步骤可以完成第一应用播放的全屏视频画面的显示。
在第一应用播放全屏视频画面(对应上述的界面A)时,如果检测到用户的投屏操作,将执行本申请实施例的投屏方法,图9示出了该投屏方法中第一电子设备和第二电子设备内各模块交互的时序图,如图9所示,包括:
步骤901:投屏操作。
第一应用检测到将源界面(对应上述的界面A)投屏到第二电子设备的投屏操作,该步骤对应图5A所示方法中的步骤501。
步骤902:发送投屏请求。
第一应用向渲染模块发送投屏请求。
步骤903:发送屏幕纵横比。
第二电子设备中的屏幕参数识别模块可以获取第二电子设备的屏幕纵横比,发送至第一电子设备的显示框架中的比例适配模块。
可选地,如图7所示,第一电子设备和第二电子设备的投屏框架中可以分别设置消息管理模块,上述屏幕纵横比可以由屏幕参数识别模块发送后,依次通过第二电子设备的消息管理模块、第一电子设备的消息管理模块中转至第一电子设备的比例适配模块。
在第一应用检测到上述投屏操作后,第一电子设备和第二电子设备之间可以建立连接,以便传输投屏数据,步骤903可以在上述连接建立后触发执行,本步骤与步骤902之间不具有执行顺序的限制。
步骤904:发送屏幕纵横比。
比例适配模块可以将接收到的第二电子设备的屏幕纵横比发送至渲染框架中的尺寸比例换算模块。
本步骤在步骤906之前执行即可,与步骤902和步骤905之间没有执行顺序的限制。
步骤905:发送界面A。
渲染模块接收到投屏请求,可以将渲染得到的界面A(也即源界面)发送至虚拟屏幕缓冲区进行缓存。尺寸比例换算模块可以从虚拟屏幕缓冲区中获取界面A,转发至屏幕录制模块进行界面录制。
步骤906:设置虚拟屏幕的可见区域。
尺寸比例换算模块中可以预设第一电子设备的屏幕纵横比,对第一电子设备的屏幕纵横比和比例适配模块发送来的第二电子设备的屏幕纵横比进行比较,判断两者是否相同,根据判断结果设置虚拟屏幕的可见区域,具体实现可以参考步骤503~步骤504,这里不赘述。
步骤907:发送界面B。
尺寸比例换算模块可以从虚拟屏幕缓冲区中获取界面A,根据界面A确定虚拟屏幕的可见区域中显示的界面B,将界面B发送至屏幕录制模块。
可见区域信息的实现可以参考步骤404中的对应说明,这里不赘述。
虚拟屏幕的可见区域可以小于等于物理屏幕的可见区域,因此,虚拟屏幕的可见区域中显示的界面B是界面A的部分或者全部。
步骤908:对界面B进行录制,得到投屏内容。
屏幕录制模块可以对界面B进行录制,在录制完成后对录制的内容进行视频编码,进而得到投屏内容。
可理解的,在实际的应用场景中,第一应用播放的视频画面是连续的,在投屏后,视频播放过程中的每一帧视频帧均作为源界面(即界面A),从而发送至虚拟缓冲区的界面也是连续的视频帧,虚拟屏幕显示的界面B也是连续的视频帧,因此,屏幕录制模块在进行录制时,可以按照预设的录制要求对连续的多帧视频帧进行录制,比如每秒30帧。因此,得到的投屏内容实质为动态的视频流。
需要说明的,屏幕录制模块为具备投屏功能的电子设备系统自带的,关于具体的录制过程本申请不做描述,对于录制后进行的视频编码本申请也不做限制。
步骤909:发送投屏内容。
屏幕录制模块将投屏内容发送至第二电子设备的投屏框架中的内容送显模块。
可选地,第一电子设备的投屏框架中可以设置视频流发送模块,第二电子设备的投屏框架中可以设置视频流接收模块,则屏幕录制模块发送的投屏内容可以依次通过第一电子设备的视频流发送模块、第二电子设备的视频流接收模块转发至第二电子设备的内容送显模块。
步骤908和步骤909用以实现上述图5A中的步骤505。
步骤910:解码投屏内容,得到界面B。
第二电子设备的内容送显模块对接收到的投屏内容(视频流)进行解码处理,得到界面B。具体的解码方法本申请实施例不赘述。
步骤911:发送界面B。
内容送显模块可以将界面B发送至第二电子设备的内核层的显示驱动,进而发送至第二电子设备的屏幕。
步骤912:显示界面C。
第二电子设备的屏幕显示界面C。如果第二电子设备的屏幕纵横比与界面B的长宽比例相同,则界面C与界面B相同,如果第二电子设备的屏幕纵横比与界面B的长宽比例不相同,界面C是在界面B的基础上增加黑边后的界面。
步骤910~步骤912用以实现上述图5A中的步骤506。
图10示出了第一电子设备和第二电子设备内各模块交互的时序图,用以实现图6A所示的投屏方法中的触摸反馈流程。如图10所示,包括:
步骤1001:发送投屏界面显示参数。
第二电子设备的投屏框架中的屏幕参数识别模块向第一电子设备的显示框架中的比例适配模块发送投屏界面显示参数。
步骤1002:发送投屏界面显示参数。
比例适配模块将投屏界面显示参数发送至第一电子设备触摸框架中的触摸比例适配模块。
步骤1001和步骤1002可以对应图6A中的步骤601。
步骤1003:发送虚拟屏幕的可见区域信息。
尺寸比例换算模块可以将设置的虚拟屏幕可见区域的信息发送至第一电子设备触摸框架中的触摸报点转换模块。
步骤1003可以在步骤1009之前任意时刻执行。
步骤1004:发送触摸事件1。
第二电子设备的屏幕检测到投屏界面中的触摸事件1,将触摸事件1发送给第二电子设备的投屏框架中的触摸控制模块。
触摸事件1可以包括:触摸类型和坐标1。坐标1是触摸事件1在第二电子设备的屏幕中的位置坐标。
步骤1005:发送触摸事件2。
第二电子设备的触摸控制模块向第一电子设备投屏框架中的触摸控制模块发送触摸事件2。
可选地,第二电子设备的触摸控制模块可以在触摸事件1的基础上增加第二电子设备的标识,得到触摸事件2,第二电子设备的标识用于表示该触摸事件是第二电子设备中检测到的触摸事件。
步骤1006:发送触摸事件2。
第一电子设备的触摸控制模块向第一电子设备触摸框架中的触摸比例适配模块发送触摸事件2。
步骤1004~步骤1006可以对应图6A中的步骤602~步骤603。
步骤1007:坐标1转换为坐标2。
触摸比例适配模块可以根据投屏界面显示参数将触摸事件2中的坐标1转换为界面B中的坐标2,也即是虚拟屏幕可见区域中显示的界面中的坐标。
步骤1008:发送触摸事件3。
触摸比例适配模块将触摸事件2中的坐标1更新为坐标2,得到触摸事件3,向第一电子设备触摸框架中的触摸报点转换模块发送触摸事件3。
步骤1009:坐标2转换为坐标3。
触摸报点转换模块根据虚拟屏幕的可见区域信息将接收到的触摸事件3中的坐标2转换为坐标3,坐标3是界面A中的坐标,也即物理屏幕可见区域中的坐标。
步骤1007~步骤1009可以对应图6A中的步骤604。
步骤1010:发送触摸事件4。
触摸报点转换模块将触摸事件3中的坐标2更新为坐标3,得到触摸事件4,向第一应用发送触摸事件4。
步骤1011:响应触摸事件。
第一应用根据触摸事件4的触摸类型和坐标3对触摸事件进行响应,具体的响应处理与触摸事件相关,这里不赘述。
步骤1010和步骤1011可以对应图6A中的步骤605。
图11A和图11B是本申请投屏方法的另一种场景示意图。
源界面中除了包括左右黑边外,还包括上下黑边,也即源界面中显示内容的四周均存在黑边。例如图4B中界面320所示,界面320中显示的视频画面是4:3或者2.39:1的老电影转录为16:9的视频。从而,视频画面本身包括上下黑边,例如界面320中3211部分所示。
在选择将源界面投屏后,本申请投屏方法检测到上下左右均有黑边,如果想要去掉上下黑边,而为了保证第二电子设备中投屏画面没有黑边,需要按照第二电子设备的屏幕纵横比截取部分视频画面,去掉黑边后的视频画面可能存在画面损失,例如图11C中虚线框71所示为截取的视频画面区域,虚线框71之外的视频画面区域,也即视频画面的左右两侧均存在画面损失,因此,可以为用户提供去掉黑边的方案供用户选择,按照用户选择的去黑边方案来显示对应的投屏界面。
手机为用户提供去黑边方案选择界面,例如界面610所示,包括:控件611~613,控件611对应的方案为:投屏时去掉左右上下黑边,但是,如图11C所示,如果去掉黑边,又要配合电视的屏幕纵横比,因此,需要将源界面的画面按照屏幕纵横比进行裁切,从而使得左右两侧出现画面损失;控件612对应的方案为:投屏时去掉左右黑边(不去掉上下黑边),投屏界面不存在视频画面损失;控件613对应的方案为:投屏时不去掉黑边。
参见图11B所示,用户如果选择控件611,则,按照控件611对应的去黑边方案进行投屏,投屏界面例如界面620所示,其损失了左右两侧的部分视频画面;
用户如果选择控件612,则,按照控件612对应的去黑边方案进行投屏,投屏界面与图4B中界面330相同,其上下两侧存在黑边,但是不存在画面损失;
用户如果选择控件613,则,按照现有技术的投屏方案进行投屏,投屏界面例如界面630所示。
基于图11A和图11B所示的场景示意图,本申请提供另一种投屏方法,该方法可以参考图5A所示方法,区别仅在于步骤504具体通过如图12所示的流程实现:
步骤1201:第一电子设备获取源界面尺寸以及源界面中应用显示控件的尺寸;
步骤1202:判断应用显示控件的尺寸是否小于源界面尺寸,如果是,执行步骤1203;如果否,执行步骤1204。
步骤1203:根据应用显示控件的显示区域设置虚拟屏幕的可见区域,本分支结束。
上述步骤的实现可以参考步骤504中的对应说明,这里不赘述。
在另一种可能的实现方式中,步骤601~步骤603也可以省略,直接执行步骤604。
步骤1204:第一电子设备对源界面进行截屏,对截屏得到的图片进行黑边检测;如果未检测到黑边,执行步骤1205;如果检测到左右黑边,执行步骤1206;如果检测到上下左右均具有黑边,执行步骤1207。
步骤1205:将虚拟屏幕的可见区域设置为与屏幕的显示区域相同,本分支结束。
步骤1206:显示是否去除黑边的选择界面,根据检测到的指示操作设置虚拟屏幕的可见区域。
可选地,如果检测到去除黑边的指示操作,根据非黑边区域在源界面中的位置设置虚拟屏幕的可见区域;如果检测到不去除黑边的指示操作,将虚拟屏幕的可见区域设置为与屏幕的显示区域相同。
是否去除黑边的选择界面可以是图5D中所示的界面410,用户选择界面410中的控件411,相应的,第一电子设备检测到去除黑边的指示操作,用户选择界面410中的控件412,相应的,第一电子设备检测到不去除黑边的指示操作。
其中,显示是否去除黑边的选择界面可以省略,此时,可以直接执行根据非黑边区域在源界面中的位置设置虚拟屏幕的可见区域的步骤。
步骤1207:显示去黑边方案选择界面,根据检测到的指示操作设置虚拟屏幕的可见区域。
可选地,如果第一电子设备在去黑边方案选择界面中检测到去除上下左右黑边的指示操作,按照第二电子设备的屏幕纵横比以及检测到的非黑边区域设置虚拟屏幕的可见区域;
如果第一电子设备在去黑边方案选择界面中检测到去除左右黑边的指示操作,根据无左右黑边区域在源界面中的位置设置虚拟屏幕的可见区域;
如果第一电子设备在去黑边方案选择界面中检测到不去除黑边的指示操作,将虚拟屏幕的可见区域设置为与屏幕的显示区域相同。
去黑边方案选择界面可以是图11A中的界面610;用户选择界面610中的控件611,相应的,第一电子设备在选择界面中检测到去除上下黑边的指示操作;用户选择界面610中的控件612,相应的,第一电子设备在选择界面中检测到去除左右黑边的指示操作;用户选择界面610中的控件613,相应的,第一电子设备在选择界面中检测到不去除黑边的指示操作。
按照第二电子设备的屏幕纵横比以及检测到的非黑边区域设置虚拟屏幕的可见区域时,可以以在虚拟屏幕的可见区域位于非黑边区域的中间位置且无黑边的条件下包括最多非黑边区域为原则,按照第二电子设备的屏幕纵横比设置虚拟屏幕的可见区域。例如图11C中虚线框出的可见区域。
在实现图11A和图11B所示场景下的投屏方法时,第一电子设备内各模块与第二电子设备内各模块的交互流程示意图、第一电子设备和第二电子设备内各模块交互的时序图可以参考上述的图7~图10,区别主要在于:图9中步骤906,设置虚拟屏幕的可见区域时,可以通过上述的图12实现。
可选地,在某些视频画面中,可能存在下边的黑边中包括电影字幕的情况,例如图13中的界面1310所示,界面1310与界面320的区别主要在于:界面1310中视频画面下边的黑边中存在字幕;
此时,在去除上下黑边时,可以为用户提供选择界面,由用户来选择在去除上下黑边时是否保留字幕。例如界面1320所示,相对于界面610,修改控件611为控件1311和控件1312,控件1311对应的方案为:去除上下左右黑边时保留字幕,控件1312对应的方案为:去除上下左右黑边时不保留字幕。
其中,如果用户选择控件1312,投屏界面例如图11B中界面620所示,如果用户选择控件612,投屏界面例如图11B中界面330所示,如果用户选择控件613,投屏界面例如图11B中界面630所示。
如果用户选择控件1311,则按照控件1311对应的去黑边方案进行投屏,投屏界面例如界面1330所示,其损失了左右两侧的部分视频画面且保留了字幕。
基于图13所示的场景示意图,本申请提供另一种投屏方法,该方法可以参考图11A和图11B所示场景下的投屏方法,区别主要在于,参见图14所示,将图12所示方法中的步骤1207替换为以下的步骤1401。具体的,
步骤1401:第一电子设备检测到黑边中包括字幕,显示去黑边方案选择界面1;第一电子设备未检测到黑边中包括字幕,显示去黑边方案选择界面2。
去黑边方案选择界面1例如界面1320所示;去黑边方案选择界面2例如界面610所示。
可选地,如果第一电子设备在去黑边方案选择界面1中检测到去除上下左右黑边且保留字幕的指示操作,第一电子设备可以将界面1划分为黑边区域、字幕区域和视频画面区域,按照第二电子设备的屏幕纵横比以及检测到的非黑边区域(字幕区域和视频画面区域)设置虚拟屏幕的可见区域;
如果第一电子设备在去黑边方案选择界面1中检测到去除上下左右黑边且不保留字幕的指示操作,第一电子设备可以将界面1划分为黑边区域、字幕区域和视频画面区域,按照第二电子设备的屏幕纵横比以及检测到的视频画面区域设置虚拟屏幕的可见区域;
如果第一电子设备在去黑边方案选择界面中检测到去除左右黑边的指示操作,根据无左右黑边区域在源界面中的位置设置虚拟屏幕的可见区域;
如果第一电子设备在去黑边方案选择界面中检测到不去除黑边的指示操作,将虚拟屏幕的可见区域设置为与屏幕的显示区域相同。
在按照第二电子设备的屏幕纵横比以及检测到的非黑边区域(字幕区域和视频画面区域)设置虚拟屏幕的可见区域时,可以以虚拟屏幕的可见区域位于非黑边区域的中间位置且无其他黑边的条件下包括最多非黑边区域为原则,按照第二电子设备的屏幕纵横比设置虚拟屏幕的可见区域。例如图15中虚线72框出的可见区域。
在实现图13所示场景下的投屏方法时,第一电子设备内各模块与第二电子设备内各模块的交互流程示意图、第一电子设备和第二电子设备内各模块交互的时序图可以参考上述的图7~图10,区别主要在于:图9中步骤906,设置虚拟屏幕的可见区域时,可以通过上述的图14实现。
本申请实施例还提供一种电子设备,所述设备包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现本申请图3~图14任一实施例提供的方法。
本申请实施例还提供一种第一电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行图3~图14任一实施例提供的方法。
本申请实施例还提供一种第二电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行图3~图14任一实施例提供的方法。
本申请还提供一种投屏系统,所述系统包括第一电子设备和第二电子设备,所述第一电子设备和第二电子设备用于实现图3~图14任一实施例提供的方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请图3~图14任一实施例提供的方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请图3~图14任一实施例提供的方法。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (9)

1.一种投屏方法,应用于第一电子设备,所述第一电子设备包括尺寸相同的物理屏幕和虚拟屏幕,所述物理屏幕用于显示供用户看到的界面,所述虚拟屏幕显示的界面不向用户显示,所述第一电子设备用于对所述虚拟屏幕显示的界面进行录制,其特征在于,包括:
检测到将所述第一电子设备中的第一应用显示的界面投屏至第二电子设备的投屏操作;
获取所述第一电子设备的屏幕纵横比和所述第二电子设备的屏幕纵横比,并确定所述第一电子设备的屏幕纵横比与所述第二电子设备的屏幕纵横比不相同;
设置所述第一电子设备的所述虚拟屏幕的可见区域;其中,所述虚拟屏幕的可见区域是所述物理屏幕的显示区域的部分区域;
对所述虚拟屏幕的可见区域中显示的界面进行录制,将录制得到的视频流发送至所述第二电子设备,以使得所述第二电子设备根据所述视频流显示投屏界面;
所述方法还包括:
接收到所述第一应用发送的所述显示的界面数据;
对所述显示的界面数据进行合成渲染,得到渲染后的界面,并在所述第一电子设备的所述物理屏幕上显示所述渲染后的界面;
其中,所述设置所述第一电子设备的所述虚拟屏幕的可见区域,包括:
获取所述渲染后的界面尺寸以及所述渲染后的界面中应用显示控件的尺寸;其中,所述应用显示控件是所述渲染后的界面中用于显示第一应用的界面的控件;如果判断所述应用显示控件的尺寸小于所述渲染后的界面尺寸,则根据所述应用显示控件的显示区域设置所述虚拟屏幕的可见区域;如果判断所述应用显示控件的尺寸不小于所述渲染后的界面尺寸,则将所述虚拟屏幕的可见区域设置为与所述物理屏幕的显示区域相同;
或者,
对所述渲染后的界面进行截屏,对截屏得到的图片进行黑边检测;如果检测到黑边,则根据非黑边区域在所述渲染后的界面中的位置设置所述虚拟屏幕的可见区域;如果未检测到黑边,则将所述虚拟屏幕的可见区域设置为与所述物理屏幕的显示区域相同;
或者,
获取所述渲染后的界面尺寸以及所述渲染后的界面中应用显示控件的尺寸;其中,所述应用显示控件是所述渲染后的界面中用于显示第一应用的界面的控件;如果判断所述应用显示控件的尺寸小于所述渲染后的界面尺寸,则根据所述应用显示控件的显示区域设置所述虚拟屏幕的可见区域;如果判断所述应用显示控件的尺寸不小于所述渲染后的界面尺寸,则对所述渲染后的界面进行截屏,对截屏得到的图片进行黑边检测;如果检测到黑边,则根据非黑边区域在所述渲染后的界面中的位置设置所述虚拟屏幕的可见区域;如果未检测到黑边,则将所述虚拟屏幕的可见区域设置为与所述物理屏幕的显示区域相同。
2.根据权利要求1所述的方法,其特征在于,
在所述检测到将所述第一电子设备中的第一应用显示的界面投屏至第二电子设备的投屏操作后,所述方法还包括:
将所述渲染后的界面发送至虚拟屏幕缓冲区进行缓存;
在所述设置所述第一电子设备的所述虚拟屏幕的可见区域后,所述方法还包括:
从所述虚拟屏幕缓冲区中获取所述渲染后的界面,根据所述渲染后的界面确定所述虚拟屏幕的可见区域中显示的界面。
3.根据权利要求1所述的方法,其特征在于,所述第一应用显示的界面中存在黑边区域;所述虚拟屏幕的可见区域中显示的界面不包括所述第一应用显示的界面中的所述黑边区域。
4.根据权利要求1所述的方法,其特征在于,所述第一应用显示的界面中存在黑边区域;所述虚拟屏幕的可见区域中显示的界面的长宽比与所述第二电子设备的屏幕纵横比相同,所述虚拟屏幕的可见区域中显示的界面不包括所述第一应用显示的界面中的所述黑边区域。
5.根据权利要求1所述的方法,其特征在于,所述第一应用显示的界面中存在字幕区域和黑边区域;所述虚拟屏幕的可见区域中显示的界面的长宽比与所述第二电子设备的屏幕纵横比相同,所述虚拟屏幕的可见区域中显示的界面不包括所述第一应用显示的界面中的字幕区域和黑边区域。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述将录制得到的视频流发送至所述第二电子设备之后,还包括:
接收所述第二电子设备发送的第一控制事件;所述第一控制事件包括:第一坐标,所述第一坐标是所述第二电子设备的屏幕坐标系中的坐标;
将所述第一坐标转换为第二坐标,所述第二坐标是所述第一电子设备的屏幕坐标系中的坐标;
使用所述第二坐标更新所述第一控制事件中的所述第一坐标;
将更新后的第一控制事件发送至所述第一应用,以便所述第一应用对所述更新后的第一控制事件进行响应。
7.根据权利要求6所述的方法,其特征在于,所述将所述第一坐标转换为第二坐标,包括:
根据所述虚拟屏幕的可见区域中显示的界面在所述第二电子设备的屏幕中的显示区域,将所述第一坐标转换为第三坐标,所述第三坐标是所述第一坐标在所述虚拟屏幕的可见区域中显示的界面坐标系中对应的坐标;
根据所述虚拟屏幕的可见区域,将所述第三坐标转换为所述第二坐标。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行权利要求1至7任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行权利要求1至7任一项所述的方法。
CN202310695920.9A 2021-08-27 2021-08-27 投屏方法、电子设备和计算机可读存储介质 Active CN116887005B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310695920.9A CN116887005B (zh) 2021-08-27 2021-08-27 投屏方法、电子设备和计算机可读存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202310695920.9A CN116887005B (zh) 2021-08-27 2021-08-27 投屏方法、电子设备和计算机可读存储介质
CN202110997887.6A CN113891167B (zh) 2021-08-27 2021-08-27 投屏方法和电子设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202110997887.6A Division CN113891167B (zh) 2021-08-27 2021-08-27 投屏方法和电子设备

Publications (2)

Publication Number Publication Date
CN116887005A CN116887005A (zh) 2023-10-13
CN116887005B true CN116887005B (zh) 2024-05-03

Family

ID=79011354

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310695920.9A Active CN116887005B (zh) 2021-08-27 2021-08-27 投屏方法、电子设备和计算机可读存储介质
CN202110997887.6A Active CN113891167B (zh) 2021-08-27 2021-08-27 投屏方法和电子设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110997887.6A Active CN113891167B (zh) 2021-08-27 2021-08-27 投屏方法和电子设备

Country Status (1)

Country Link
CN (2) CN116887005B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114463359A (zh) * 2022-01-30 2022-05-10 深圳创维-Rgb电子有限公司 投屏显示方法、装置、电子设备及可读存储介质
CN117440194A (zh) * 2022-07-14 2024-01-23 华为技术有限公司 一种投屏画面的处理方法及相关装置
CN117676237A (zh) * 2022-08-29 2024-03-08 华为技术有限公司 投屏方法及设备
CN118368462A (zh) * 2023-01-17 2024-07-19 华为技术有限公司 一种投屏方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377960A (zh) * 2010-08-24 2012-03-14 腾讯科技(深圳)有限公司 视频画面显示方法及装置
CN108874258A (zh) * 2017-05-11 2018-11-23 腾讯科技(深圳)有限公司 分享录屏视频的方法及装置
CN111640191A (zh) * 2020-06-05 2020-09-08 南京爱奇艺智能科技有限公司 基于vr一体机的投录屏画面采集处理方法
CN112083867A (zh) * 2020-07-29 2020-12-15 华为技术有限公司 一种跨设备的对象拖拽方法及设备
CN112672201A (zh) * 2020-12-18 2021-04-16 努比亚技术有限公司 一种录屏帧率控制方法、设备及计算机可读存储介质
CN112667184A (zh) * 2021-01-28 2021-04-16 青岛海信传媒网络技术有限公司 一种显示设备
CN112667181A (zh) * 2020-12-31 2021-04-16 努比亚技术有限公司 投屏方法及投屏设备、投屏控制系统、存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7339627B2 (en) * 2003-10-30 2008-03-04 Broadcom Corporation Method and system for automatic detection and display of aspect ratio
US20050180858A1 (en) * 2004-02-04 2005-08-18 Halgas Joseph F.Jr. Customized video processing modes for HD-capable set-top decoders
CN103297729A (zh) * 2013-06-17 2013-09-11 华为终端有限公司 视频处理方法及装置
KR102276855B1 (ko) * 2015-04-13 2021-07-13 삼성전자주식회사 영상 컨텐츠를 재생하는 재생 장치 및 그 동작방법
CN106975219B (zh) * 2017-03-27 2019-02-12 网易(杭州)网络有限公司 游戏画面的显示控制方法及装置、存储介质、电子设备
CN107105184A (zh) * 2017-04-01 2017-08-29 深圳市蓝莓派科技有限公司 一种移动终端在竖屏广告机上的同屏投射方法
CN111192544B (zh) * 2018-11-14 2021-11-26 腾讯科技(深圳)有限公司 投屏控制方法、装置、计算机可读存储介质和计算机设备
CN110287949B (zh) * 2019-07-30 2021-04-06 腾讯音乐娱乐科技(深圳)有限公司 视频片段提取方法、装置、设备及存储介质
CN111443884A (zh) * 2020-04-23 2020-07-24 华为技术有限公司 投屏方法、装置和电子设备
CN111544886B (zh) * 2020-04-30 2021-07-09 腾讯科技(深圳)有限公司 一种画面显示的方法以及相关装置
CN112905289A (zh) * 2021-03-10 2021-06-04 Oppo广东移动通信有限公司 应用画面的显示方法、装置、终端、投屏系统及介质
CN113206964B (zh) * 2021-04-29 2022-07-26 深圳康佳电子科技有限公司 一种投屏数据显示处理方法、装置、终端设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377960A (zh) * 2010-08-24 2012-03-14 腾讯科技(深圳)有限公司 视频画面显示方法及装置
CN108874258A (zh) * 2017-05-11 2018-11-23 腾讯科技(深圳)有限公司 分享录屏视频的方法及装置
CN111640191A (zh) * 2020-06-05 2020-09-08 南京爱奇艺智能科技有限公司 基于vr一体机的投录屏画面采集处理方法
CN112083867A (zh) * 2020-07-29 2020-12-15 华为技术有限公司 一种跨设备的对象拖拽方法及设备
CN112672201A (zh) * 2020-12-18 2021-04-16 努比亚技术有限公司 一种录屏帧率控制方法、设备及计算机可读存储介质
CN112667181A (zh) * 2020-12-31 2021-04-16 努比亚技术有限公司 投屏方法及投屏设备、投屏控制系统、存储介质
CN112667184A (zh) * 2021-01-28 2021-04-16 青岛海信传媒网络技术有限公司 一种显示设备

Also Published As

Publication number Publication date
CN116887005A (zh) 2023-10-13
CN113891167B (zh) 2023-07-04
CN113891167A (zh) 2022-01-04

Similar Documents

Publication Publication Date Title
CN116887005B (zh) 投屏方法、电子设备和计算机可读存储介质
US11303881B2 (en) Method and client for playing back panoramic video
US10242714B2 (en) Interface for application-specified playback of panoramic video
US20210082197A1 (en) Method and device for compositing an image
US8289345B2 (en) Display device
US10298903B2 (en) Method and device for processing a part of an immersive video content according to the position of reference parts
US8218025B2 (en) Image capturing apparatus, image capturing method, and computer program product
CN109040792B (zh) 一种视频重定向的处理方法、云终端和云桌面服务器
CN113051432B (zh) 显示设备及媒资播放方法
US9414042B2 (en) Program guide graphics and video in window for 3DTV
US9756282B2 (en) Method and apparatus for processing a video signal for display
US20240144976A1 (en) Video processing method, device, storage medium, and program product
CN112367479B (zh) 一种全景视频图像显示方法及显示设备
CN111901660B (zh) 一种图像显示方法、终端、电子设备及存储介质
CN112055256A (zh) 一种全景图像的图像处理方法及显示设备
US9875521B2 (en) Image output apparatus, image output method, and program
CN111930326A (zh) 图像处理方法、设备及系统
US20140056524A1 (en) Image processing device, image processing method, and program
KR101773929B1 (ko) 광 시야각 영상 처리 시스템, 광 시야각 영상의 전송 및 재생 방법, 및 이를 위한 컴퓨터 프로그램
US11962743B2 (en) 3D display system and 3D display method
CN117812305A (zh) 显示设备、4k分辨率展示epos的方法、及存储介质
CN115988252A (zh) 一种遮挡视频字幕的方法及装置
CN111601140A (zh) 远程播放视频的方法及装置
CN114302206A (zh) 一种内容显示方法、显示设备及服务器
JP2023085913A (ja) 動画配信システム、動画配信装置、方法、及びプログラム

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