投屏方法、电子设备以及系统与流程

文档序号:18409140发布日期:2019-08-10 00:47阅读:712来源:国知局
投屏方法、电子设备以及系统与流程

本申请涉及计算机技术领域,尤其涉及一种投屏方法、电子设备以及系统。



背景技术:

随着计算机技术的发展,多屏互动应用越来越普遍。多屏互动指的是运用闪联协议、miracast协议等,通过无线保真(wirelessfidelity,wifi)网络连接,在不同的电子设备之间进行多媒体内容的传输、解析、展示和/或控制等一系列操作,可以在不同电子设备上共享展示内容,丰富用户的多媒体生活。

目前,随着多屏互动技术的出现,用户在第一电子设备(如手机)上观看视频播放时,由于第一电子设备的屏幕大小有限,不适合多人观看。用户在这种情况下可以选择将第一电子设备上的视频播放画面同步到第二电子设备(如电视、笔记本电脑等)上呈现,第二电子设备的屏幕可以比第一电子设备的屏幕大。此时用户可以在第一电子设备上退出视频播放画面,进行社交互动,第一电子设备显示全屏的社交互动画面。但是,如果用户此时既想观看视频又想进行社交互动,那么用户的眼睛就不得不在第一电子设备和第二电子设备的屏幕上来回切换,用户体验差。



技术实现要素:

本申请实施例提供一种投屏方法、电子设备以及系统,可以将两份图像数据合成为一份图像数据后投屏到第二电子设备上呈现,增加了投屏内容的丰富性,提高了投屏方式的多样性,增强投屏的用户体验。

第一方面,本申请实施例提供一种投屏方法,该方法包括:

当第一电子设备接收到用户针对第一媒体数据的投屏指示且探测到第一电子设备的投屏端口有投屏数据输出时,第一电子设备确定第一图像数据和第二图像数据的投屏方式。第一电子设备根据确定出的投屏方式对该第一图像数据和该第二图像数据进行合成,以生成合成图像数据。第一电子设备将该合成图像数据通过上述投屏端口输出至第二电子设备,以触发第二电子设备根据上述投屏方式显示该合成图像数据对应的合成图像。其中,第一电子设备可以为手机,第二电子设备可以为电视。上述投屏端口输出的投屏数据由第二媒体数据生成,上述第一媒体数据包括第一图像数据,上述第二媒体数据包括第二图像数据。由于第一电子设备的投屏端口正在输出投屏数据,说明第一电子设备中有一份数据当前正在投屏,当第一电子设备接收到针对另外一份数据的投屏指示时,第一电子设备将这两份数据进行合成,将合成后的数据投屏至第二电子设备上显示,增加了投屏内容的丰富性,提高了投屏方式的多样性,丰富了投屏功能,增强投屏的用户体验。

结合第一方面,在一种可能的实施方式中,第一电子设备可以根据上述投屏方式将多个第一图像帧和多个第二图像帧进行合成,得到多个合成图像帧数据,并可以根据该多个合成图像帧数据生成合成图像数据。其中,该第一图像数据和该第二图像数据在每个时间节点上均包括一个图像帧,该多个第一图像帧为该第一图像数据在多个连续的时间节点上的图像帧,该多个第二图像帧为该第二图像数据在多个连续的时间节点上的图像帧。本申请将第一图像数据中的一段图像数据(即多个第一图像帧)与第二图像数据中的一段图像数据(即多个第二图像帧)进行合成后再传输,即分时间段合成后再传输,可以提高传输效率。

结合第一方面,在一种可能的实施方式中,第一电子设备可以将上述多个合成图像帧数据压缩编码之后生成合成图像数据。本申请通过对多个合成图像帧数据进行压缩编码,减少了数据传输时的数据量,提高了传输效率,减少了时延。

结合第一方面,在一种可能的实施方式中,上述多个合成图像帧数据的任一合成图像帧数据由上述多个第一图像帧中的任一第一图像帧和上述多个第二图像帧中对应于该任一第一图像帧的第二图像帧合成得到,该任一第一图像帧所在的时间节点与对应于该第一图像帧的该第二图像帧所在的时间节点相同。本申请将第一图像数据和第二图像数据在同一时间节点上的图像帧进行合成,可以实现第一图像数据与第二图像数据在第二电子设备上的同步呈现。

结合第一方面,在一种可能的实施方式中,上述投屏方式包括画中画投屏方式,第一电子设备根据上述投屏方式将多个第一图像帧和多个第二图像帧进行合成,得到多个合成图像帧数据时,可以对该多个第一图像帧中各个第一图像帧对应的图像进行压缩,再可以将该多个第一图像帧对应的压缩后的多个图像按照该画中画投屏方式对应的第一相对位置叠加至该多个第二图像帧对应的多个图像中得到多个合成图像,并可以基于该多个合成图像对应的图像数据获得该多个合成图像帧数据。可以理解的,上述第一电子设备将上述多个第一图像帧对应的压缩后的多个图像按照该画中画投屏方式对应的第一相对位置叠加至上述多个第二图像帧对应的多个图像中得到多个合成图像时,可以针对该多个第一图像帧中的任一第一图像帧i和该多个第二图像帧中任一第二图像帧j进行如下操作:将该第一图像帧i对应的压缩后的图像按照该画中画投屏方式对应的第一相对位置叠加至该第二图像帧j对应的图像中得到一个合成图像。其中该第一相对位置用于表示该画中画投屏方式中两个图像帧对应的图像在合成一个合成图像帧数据对应的合成图像时的相对位置。该各个第一图像帧对应的图像压缩后的图像尺寸与该画中画投屏方式对应的图像尺寸相同。画中画可以理解为一大一小两个画面叠加在一起呈现。本申请将第一图像帧对应的压缩后的图像叠加至第二图像帧对应的图像中得到合成图像,该合成图像即为画中画的形式,提供了一种画中画投屏方式,增加了第一电子设备上的投屏方式。

结合第一方面,在一种可能的实施方式中,上述投屏方式包括平铺投屏方式,第一电子设备根据上述投屏方式将多个第一图像帧和多个第二图像帧进行合成,得到多个合成图像帧数据时,可以根据该平铺投屏方式对应的图像尺寸参数对该多个第一图像帧对应的多个图像和该多个第二图像帧对应的多个图像进行压缩,并可以根据该平铺投屏方式对应的图像位置参数,对该多个第一图像帧对应的压缩后的多个图像以及该多个第二图像帧对应的压缩后的多个图像进行合成,得到多个合成图像。第一电子设备基于该多个合成图像对应的图像数据获得所述多个合成图像帧数据。其中,该图像位置参数用于表示两个图像帧对应的图像在合成一个合成图像帧数据对应的合成图像时的相对位置。平铺投屏方式包括水平平铺投屏方式和垂直平铺投屏方式,水平平铺可以理解为两个画面水平排列且无重叠,垂直平铺可理解为两个画面垂直排列且无重叠。本申请将第一图像帧对应的压缩后的图像与第二图像帧对应的压缩后的图像进行合成得到合成图像,该合成图像为水平平铺或垂直平铺的形式,提供了一种平铺投屏方式,增加了第一电子设备上的投屏方式。

结合第一方面,在一种可能的实施方式中,上述平铺投屏方式对应的图像尺寸参数包括第一图像尺寸和第二图像尺寸,上述平铺投屏方式对应的图像位置参数包括第二相对位置。第一电子设备合成多个合成图像时,可以将上述多个第一图像帧中各个第一图像帧对应的图像进行压缩,并可以将该多个第二图像帧中各个第一图像帧对应的图像进行压缩。第一电子设备可以将该多个第一图像帧对应的压缩后的多个图像和该多个第二图像帧对应的压缩后的多个图像按照该第二相对位置进行拼接得到多个合成图像。其中,该各个第一图像帧对应的图像压缩后的图像尺寸与该第一图像尺寸相同,该各个第二图像帧对应的图像压缩后的图像尺寸与该第二图像尺寸相同。可以理解的,上述第一电子设备将上述多个第一图像帧对应的压缩后的多个图像和上述多个第二图像帧对应的压缩后的多个图像按照上述第二相对位置进行拼接得到上述多个合成图像时,可以针对该多个第一图像帧中的任一第一图像帧i和该多个第二图像帧中任一第二图像帧j进行如下操作:将该第一图像帧i对应的压缩后的图像和该第二图像帧j对应的压缩后的图像按照该第二相对位置进行图像拼接得到一个合成图像。本申请对第一图像帧对应的图像和第二图像帧对应的图像进行不同程度的压缩,再合成,提供了平铺投屏情况下的实现方式以及增加了合成图像的多样性。

结合第一方面,在一种可能的实施方式中,第二媒体数据还包括音频数据。第一电子设备在将上述合成图像数据通过上述投屏端口输出至第二电子设备的同时,还可以将该音频数据通过该投屏端口输出至第二电子设备,以触发第二电子设备根据上述投屏方式显示该合成图像数据对应的合成图像以及播放该音频数据对应的音频。在第二媒体数据包括音频的情况下,将合成图像数据投屏到第二电子设备上显示的同时,将第二媒体数据中的音频数据也投屏到第二电子设备上播放,保证了第二媒体数据在投屏时的完整性。

结合第一方面,在一种可能的实施方式中,第一电子设备在将上述音频数据通过上述投屏端口输出至第二电子设备时,可以将该音频数据压缩编码之后通过该投屏端口输出至第二电子设备。本申请通过对音频数据进行压缩编码,减少了数据传输时的数据量,提高了传输效率。

结合第一方面,在一种可能的实施方式中,上述第一媒体数据还包括第一音频数据,上述第二媒体数据还包括第二音频数据。第一电子设备在根据上述投屏方式对上述第一图像数据和上述第二图像数据进行合成,以生成合成图像数据的同时,可以对该第一音频数据和该第二音频数据进行合成,以生成合成音频数据。再可以将该合成图像数据通过该投屏端口输出至该第二电子设备的同时,还可以将该合成音频数据通过该投屏端口输出至该第二电子设备,以触发第二电子设备根据该投屏方式显示该合成图像数据对应的合成图像以及播放该合成音频数据对应的合成音频。当第一媒体数据和第二媒体数据均包括音频的情况下,将在将第一媒体数据中的音频数据和第二媒体数据中的音频数据进行合成以得到合成音频数据,再将合成图像数据投屏到第二电子设备上显示的同时,将合成音频数据也投屏到第二电子设备上播放,保证了媒体数据在投屏时的完整性。

结合第一方面,在一种可能的实施方式中,第一电子设备在对上述第一音频数据和上述第二音频数据进行合成,以生成合成音频数据时,可以将该第一音频数据中的第一音频覆盖该第二音频数据中的第二音频,得到合成音频,并可以将该合成音频压缩编码之后生成该合成音频数据。其中,该第一音频为该第一音频数据在多个连续时间节点确定的时间段内的音频数据,该第二音频为该第二音频数据在该时间段内的音频数据。本申请将一个音频数据覆盖另一个音频数据来实现音频的合成,降低了两个音频投屏到一个电子设备上播放的嘈杂感,进一步提高用户体验。

结合第一方面,在一种可能的实施方式中,第一电子设备确定第一图像数据和第二图像数据的投屏方式时,可以输出投屏选择信息,该投屏选择信息用于提示用户从多种投屏方式中选择一种投屏方式进行投屏,该多种投屏方式包括画中画投屏方式、平铺投屏方式和/或覆盖投屏方式。当用户在第一电子设备上选择一种投屏方式时,第一电子设备响应于该用户的选择确定第一图像数据和第二图像数据的投屏方式。本申请输出多种投屏方式供用户选择,使得投屏方式更灵活、用户可控。

结合第一方面,在一种可能的实施方式中,上述第一媒体数据来源于社交应用,上述第二媒体数据来源于音视频应用。

结合第一方面,在一种可能的实施方式中,上述投屏端口为无线投屏端口,用于第一电子设备基于无线显示标准miracast与第二电子设备建立无线投屏连接,以传输上述投屏数据和上述合成图像数据。

第二方面,本申请提供一种电子设备,该电子设备包括用于执行上述第一方面和/或第一方面的任意一种可能的实现方式所提供的投屏方法的单元和/或模块,因此也能实现第一方面提供的投屏方法所具备的有益效果(或优点)。

第三方面,本申请提供一种电子设备,电子设备用作第一电子设备,包括处理器、输入设备、输出设备和存储器,其中,该存储器用于存储计算机程序,该计算机程序包括程序指令,当该处理器运行该程序指令时,使第一电子设备执行上述第一方面提供的投屏方法。

第四方面,本申请提供一种投屏系统,包括第二方面提供的第一电子设备以及第二电子设备。该第二电子设备用于接收该第一电子设备输出的上述合成图像数据,并显示上述合成图像数据对应的合成图像。

第五方面,本申请的实施例提供一种计算机可读存储介质,用于储存为第一电子设备所用的计算机程序请求,其包含用于执行上述第一方面所涉及的程序。

第六方面,本申请提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面描述的投屏方法。

实施本申请实施例,可以将两份不同图像数据融合为一份合成图像数据投屏到第二电子设备上呈现,增加了投屏内容的丰富性,提高了投屏方式的多样性,丰富了投屏功能,增强了投屏的用户体验。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。

图1是本申请实施例提供的投屏系统的系统架构图;

图2是本申请实施例提供的第一电子设备的结构示意图;

图3是本申请实施例提供的第一电子设备的软件结构框图;

图4是本申请实施例提供的投屏方法的一流程示意图;

图5是本申请实施例提供的第一电子设备的用户界面示意图;

图6是本申请实施例提供的第一电子设备的一界面交互示意图;

图7是本申请提供的第一电子设备建立投屏连接的界面示意图;

图8是本申请实施例提供的第一电子设备和第二电子设备的一界面示意图;

图9是本申请实施例提供的投屏方法的另一流程示意图;

图10是本申请实施例提供的第一电子设备的另一界面交互示意图;

图11a是本申请实施例提供的一合成图像示意图;

图11b是本申请实施例提供的另一合成图像示意图;

图11c是本申请实施例提供的又一合成图像示意图;

图12是本申请实施例提供的第一电子设备和第二电子设备的另一界面示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

本申请所涉及的投屏是指某个电子设备上的媒体数据(如音频、视频、图片等)传输至另外的电子设备上呈现,实现多个电子设备之间同步显示相同媒体数据的效果。本申请所涉及的投屏可包括有线投屏和无线投屏,其中有线投屏可以通过高清多媒体接口(highdefinitionmultimediainterface,hdmi)建立多个电子设备之间的连接,并通过hdmi传输线传输媒体数据;无线投屏可以通过miracast协议建立多个电子设备之间的连接,并通过wifi传输媒体数据。

本申请的投屏系统至少包括两个电子设备和一个投屏端口,这里的投屏端口可包括有线端口和/或无线端口。有线端口可以为hdmi;无线端口可以为应用编程接口(applicationprogramminginterface,api),也可以为硬件投屏模块。参见图1,图1是本申请实施例提供的投屏系统的系统架构图。如图1所示,投屏系统包括第一电子设备100、第二电子设备200、第一有线端口101、第一无线端口102、第二有线端口201以及第二无线端口202。第一有线端口101和第一无线端口102可以集成在第一电子设备100上,也可独立于第一电子设备100存在;第二有线端口201和第二无线端口202可以集成在第二电子设备200上,也可以独立于第二电子设备200存在,本申请实施例不做限定。第一电子设备100与第二电子设备200可通过投屏端口建立投屏连接。其中,第一电子设备100上至少可以运行视频应用和社交应用,且第一电子设备100至少具备投屏发送(source)能力。可选的,第一电子设备100可包括第一投屏控件,该第一投屏控件用于实现投屏发送(source)能力。第二电子设备100至少具备投屏接收(sink)能力、图像显示能力以及声音输出能力。可选的,第二电子设备200可包括第二投屏控件,该第二投屏控件用于实现投屏接收(sink)能力。第一电子设备100的示例包括但不限于搭载ios、android、microsoft或者其他操作系统的电子设备,可选的,第一电子设备100可以为手机、平板电脑、个人数字助理(personaldigitalassistant,pda)或台式电脑等电子设备。第二电子设备200可以为电视、平板电脑或台式电脑等电子设备。在一些可行的实施方式中,本申请的投屏系统还可包括遥控器,该遥控器用于控制第二电子设备200上第二媒体数据(视频)的播放或暂停等。

在一些可行的实施方式中,本申请的投屏方法可应用在第一电子设备100中。当第一电子设备100接收到投屏指示时,探测第一电子设备100的投屏端口是否有投屏数据输出。如果有投屏数据输出,说明第一电子设备100此时不是第一次投屏,则第一电子设备100可以确定投屏方式,并可以根据该投屏方式对投屏指示所针对的媒体数据中的第一图像数据和第一次投屏的媒体数据中的第二图像数据进行合成处理,以生成合成图像数据,并将合成图像数据通过该投屏端口发送至第二电子设备200上显示。第二电子设备200接收第一电子设备100发送的合成图像数据并根据该投屏方式显示该生成合成图像数据所对应的合成图像。

为便于理解,下面将对本申请实施例提供的第一电子设备100的结构进行示例说明。参见图2,图2是本申请实施例提供的第一电子设备的结构示意图。

如图2所示,第一电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserialbus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentificationmodule,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。

可以理解的是,本申请实施例示意的结构并不构成对第一电子设备100的具体限定。在本申请另一些可行的实施方式中,第一电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,具体可根据实际应用场景确定,在此不做限制。图2所示的部件可以以硬件,软件,或软件与硬件的组合实现。

可选的,上述处理器110可以包括一个或多个处理单元。例如:处理器110可以包括应用处理器(applicationprocessor,ap),调制解调处理器,图形处理器(graphicsprocessingunit,gpu),图像信号处理器(imagesignalprocessor,isp),控制器,存储器,视频编解码器,数字信号处理器(digitalsignalprocessor,dsp),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

其中,控制器可以是第一电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器110中还可以设置存储器,用于存储指令和数据。存储器存储的指令用于第一电子设备100执行本申请实施例中的投屏方法。在本申请的一些可行实施方式中,存储器存储的数据可包括媒体数据,该媒体数据可以为音视频数据。在一些可行的实施方式中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从上述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。

在一些可行的实施方式中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integratedcircuit,i2c)接口,集成电路内置音频(inter-integratedcircuitsound,i2s)接口,脉冲编码调制(pulsecodemodulation,pcm)接口,通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)接口,移动产业处理器接口(mobileindustryprocessorinterface,mipi),通用输入输出(general-purposeinput/output,gpio)接口,用户标识模块(subscriberidentitymodule,sim)接口,和/或通用串行总线(universalserialbus,usb)接口等。

可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对第一电子设备100的结构限定。在本申请另一些可行的实施方式中,第一电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。

充电管理模块140用于从充电器接收充电输入,对第一电子设备100的电源管理模块141充电。其中,充电器可以是无线充电器,也可以是有线充电器。

电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。

第一电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。

在一些可行的实施方式中,第一电子设备100可以使用无线通信功能和其他设备通信。例如,第一电子设备100可以和第二电子设备200通信,第一电子设备100与第二电子设备200建立投屏连接,第一电子设备100输出投屏数据至第二电子设备200等。其中,第一电子设备100输出的投屏数据可以为音视频数据。第一电子设备100与第二电子设备200的通信过程可参照后续实施例的相关描述,在此暂不赘述。

天线1和天线2用于发射和接收电磁波信号。第一电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些可行的实施方式中,天线可以和调谐开关结合使用。

移动通信模块150可以提供应用在第一电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoiseamplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些可行的实施方式中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些可行的实施方式中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。

调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些可行的实施方式中,调制解调处理器可以是独立的器件。在另一些可行的实施方式中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。

无线通信模块160可以提供应用在第一电子设备100上的包括无线局域网(wirelesslocalareanetworks,wlan)如wi-fi网络,蓝牙(bluetooth,bt),全球导航卫星系统(globalnavigationsatellitesystem,gnss),调频(frequencymodulation,fm),近距离无线通信技术(nearfieldcommunication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。

在一些可行的实施方式中,第一电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得第一电子设备100可以通过无线通信技术与网络以及其他设备(例如第二电子设备200等)通信。无线通信技术可以包括全球移动通讯系统(globalsystemformobilecommunications,gsm),通用分组无线服务(generalpacketradioservice,gprs),码分多址接入(codedivisionmultipleaccess,cdma),宽带码分多址(widebandcodedivisionmultipleaccess,wcdma),时分码分多址(time-divisioncodedivisionmultipleaccess,td-scdma),长期演进(longtermevolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。上述gnss可以包括全球卫星定位系统(globalpositioningsystem,gps),全球导航卫星系统(globalnavigationsatellitesystem,glonass),北斗卫星导航系统(beidounavigationsatellitesystem,bds),准天顶卫星系统(quasi-zenithsatellitesystem,qzss)和/或星基增强系统(satellitebasedaugmentationsystems,sbas)。

第一电子设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。

在一些可行的实施方式中,gpu可用于使用两个不同图像数据生成合成图像数据。例如,gpu可使用第一图像数据中的多个第一图像帧和第二图像数据中的第二图像帧进行合成,得到多个合成图像帧数据;还可将该多个合成图像帧数据压缩编码之后生成合成图像数据。其中,合成图像帧数据的生成过程可参考后续实施例的相关描述,在此暂不赘述。

显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquidcrystaldisplay,lcd),有机发光二极管(organiclight-emittingdiode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganiclightemittingdiode的,amoled),柔性发光二极管(flexlight-emittingdiode,fled),miniled,microled,micro-oled,量子点发光二极管(quantumdotlightemittingdiodes,qled)等。在一些可行的实施方式中,第一电子设备100可以包括1个或n个显示屏194,n为大于1的正整数。

在一些可行的实施方式中,显示屏194可用于显示第一电子设备100的系统输出的各个界面。第一电子设备100输出的各个界面可参考后续实施例的相关描述。

第一电子设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。

isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将上述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些可行的实施方式中,isp可以设置在摄像头193中。

摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些可行的实施方式中,第一电子设备100可以包括1个或n个摄像头193,n为大于1的正整数。在一些可行的实施方式中,摄像头193用于获取用户的真实图像。

数字信号处理器dsp用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。

视频编解码器用于对数字视频压缩或解压缩。第一电子设备100可以支持一种或多种视频编解码器。这样,第一电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(movingpictureexpertsgroup,mpeg)1,mpeg2,mpeg3,mpeg4等。

npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现第一电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。

外部存储器接口120可以用于连接外部存储卡,例如microsd卡,实现扩展第一电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。

内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行第一电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储第一电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflashstorage,ufs)等。

第一电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。在一些可行的实施方式中,音频模块170可用于播放视频对应的声音。例如,显示屏194显示视频播放画面时,音频模块170输出视频播放的声音。

音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。

扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。

受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。

麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。

耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(openmobileterminalplatform,omtp)标准接口,美国蜂窝电信工业协会(cellulartelecommunicationsindustryassociationoftheusa,ctia)标准接口。

压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些可行的实施方式中,压力传感器180a可以设置于显示屏194。陀螺仪传感器180b可以用于确定第一电子设备100的运动姿态。气压传感器180c用于测量气压。

加速度传感器180e可检测电子设备100在各个方向上(一般为三轴)加速度的大小。

距离传感器180f,用于测量距离。

环境光传感器180l用于感知环境光亮度。

指纹传感器180h用于采集指纹。

温度传感器180j用于检测温度。

触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些可行的实施方式中,触摸传感器180k也可以设置于第一电子设备100的表面,与显示屏194所处的位置不同。

按键190包括开机键,音量键等。按键190可以是机械按键,也可以是触摸式按键。

马达191可以产生振动提示。

指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。

sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和第一电子设备100的接触和分离。在一些可行的实施方式中,第一电子设备100采用esim,即:嵌入式sim卡。esim卡可以嵌在第一电子设备100中,不能和第一电子设备100分离。

第一电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的android系统为例,示例性说明第一电子设备100的软件结构。

参见图3,图3是本申请实施例提供的第一电子设备的软件结构框图。

如图3所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些可行的实施方式中,可将安卓系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(androidruntime)和系统库,以及内核层。

应用程序层可以包括一系列应用程序包。

如图3所示,应用程序包可以包括社交应用(用于进行视频、语音、文字聊天的应用)、相机,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用(也可以称为应用程序)。

应用程序框架层为应用程序层的应用程序提供应用编程接口和编程框架。应用程序框架层包括一些预先定义的函数。

如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。

窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。

内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。上述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。

视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。

电话管理器用于提供第一电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。

资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。

通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话界面形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。

androidruntime包括核心库和虚拟机。androidruntime负责安卓系统的调度和管理。

核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。

应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。

系统库可以包括多个功能模块。例如:表面管理器(surfacemanager),媒体库(medialibraries),三维图形处理库(例如:opengles),2d图形引擎(例如:sgl)等。

表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。

媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。

三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。在一些可行的实施方式中,三维图形处理库可用于生成合成图像。例如,三维图形处理库可使用第一图像数据中多个第一图像帧对应的图像和第二图像数据中多个第二图像帧对应的图像进行合成,得到多个合成图像。

2d图形引擎是2d绘图的绘图引擎。

内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。

本申请实施例提供的投屏方法可适用于多个电子设备配合的多屏互动场景中。以下实施例将以第一电子设备100为手机、第二电子设备200为电视为例,对本申请实施例提供的投屏方法进行说明。

实施例一:

在本申请实施例中,第一电子设备100中可安装有多个应用,例如视频应用和社交应用。其中,该视频应用可用于观看视频、直播、小说和/或漫画等,该社交应用可用于进行视频聊天、语音聊天和/或文字聊天等。该视频应用和该社交应用至少具备投屏发送功能和/或分屏功能。该视频应用和该社交应用可以是第一电子设备100出厂时预装的,也可以是用户下载后安装的。该视频应用可以是第一电子设备100的厂商开发的视频应用(application,app),也可以是第三方厂商开发的视频app;该社交应用可以是第一电子设备100的厂商开发的社交app,也可以是第三方厂商开发的社交app。为便于理解,以下将以视频app和社交app为例进行说明。

本申请实施例中的第一电子设备100可将上述任一应用(比如视频app)中的内容投屏至第二电子设备200上显示,从而实现第一电子设备100与第二电子设备200之间的多屏互动,并可以在不同平台或设备上同时共享展示内容,丰富用户的多媒体生活。参见图4,图4是本申请实施例提供的投屏方法的一流程示意图,示出了第一电子设备100和第二电子设备200之间的投屏交互以及第一电子设备100的内部数据处理过程。本申请实施例提供的投屏方法可包括如下步骤:

s1、用户在第一电子设备100上点击视频app的图标。

s2、第一电子设备100响应用户的点击操作,启动视频app并显示视频app的主界面。

示例性的,参见图5,图5是本申请实施例提供的第一电子设备的用户界面示意图。如图5所示,其为第一电子设备100的触摸屏上显示的一个用户界面30,该用户界面30可以包括:状态栏301、以及多个应用程序的图标例如视频app的图标302、社交app的图标303等。其中,状态栏301可包括wi-fi图标、信号强度、当前的剩余电量和/或当前的时间等。在一些可行的实施方式中,状态栏301还可包括蓝牙图标、闹钟图标等。当第一电子设备100检测到用户的手指或者触控笔针对某一个应用图标的点击事件后,响应于该点击事件,第一电子设备100启动应用,显示与该应用图标对应的用户界面。例如,当第一电子设备100检测到用户的手指触摸视频app的图标302时,第一电子设备100响应于该触摸事件启动视频app,并显示视频app的主界面。

s3、用户在视频app的主界面上选定视频。

s4、第一电子设备100接收用户选定的视频并显示视频播放界面。

在一些可行的实施方式中,第一电子设备100启动视频app之后,用户可以在视频app的主界面中搜索或选择自己想要播放的视频,第一电子设备100从云平台中搜索用户在搜索栏中输入的视频名称,并显示搜索到的视频的图标。在用户选定想要播放的视频之后,可以点击视频的图标进入视频播放界面。第一电子设备100的视频app从云平台获取用户选定的视频的资源(如视频流),并解析输出该视频的视频图像。参见图6,图6为本申请实施例提供的第一电子设备的一界面交互示意图。示例性地,用户选定的视频为《哆啦a梦》第一集,对应的视频播放界面40可以如图6的6a所示。其中,用户选定的视频《哆啦a梦》第一集为第二媒体数据。为方便描述,以下描述将用户选定的视频称为视频400。

如图6的6a所示,视频播放界面40可包括视频图像401、投屏控件402、选集403、返回控件404以及全屏控件405等。当第一电子设备100检测到用户点击全屏控件405时,第一电子设备100显示如图6的6b所示的全屏播放界面50。如图6的6b所示,全屏播放界面50包括视频图像501、暂停/播放控件502、切换下一集控件503、更多控件504等。

除了上述元素以及控件,视频播放界面40还可包括更多内容,例如还可包括缓存控件、评论控件等。用户可通过手指在视频播放界面40上触摸缓存控件下载视频400;或用户可通过手指在视频播放界面40上触摸评论控件查看评论、发表评论等。可理解的,图6的6a、6b仅为示例,不同的视频app或者不同视频,其对应的视频播放界面、全屏播放界面包含的元素及控件、各个元素及控件的排布方式等有可能不同,这里不做限制。

s5、用户在视频播放界面上点击投屏控件。

s6、第一电子设备100接收用户点击投屏控件所产生的投屏指示。

在一些可行的实施方式中,如果用户想要将视频400投屏到第二电子设备200上播放,则可以通过手指或触控笔在视频播放界面40上点击投屏控件402;第一电子设备100接收用户点击投屏控件402所产生的投屏指示。在第一电子设备100接收到投屏请求之后,第一电子设备100探测第一电子设备100当前是否已经建立投屏连接。可以理解,用户点击投屏控件所产生的投屏指示可以是投屏请求,也可以为投屏指令。在一些可行的实施方式中,如果用户想要将视频400投屏到第二电子设备200上播放,还可以通过手指或触控笔在全屏播放界面50上点击更多控件504,在更多控件504中点击投屏控件来实现视频400的投屏播放。

s7、当第一电子设备100探测到当前未建立投屏连接时,第一电子设备100搜索投屏设备。

s8、第一电子设备100显示搜索到的投屏设备并提示用户选择投屏设备。

s9、第一电子设备100接收用户选定的投屏设备并将用户选定的投屏设备确定为第二电子设备200。

s10、第一电子设备100与第二电子设备200建立投屏连接。

在一些可行的实施方式中,当第一电子设备100探测到当前未建立投屏连接时,第一电子设备100会通过无线网络搜索连接到该无线网络上的一个或多个投屏设备。本申请实施例所涉及的投屏设备为具备投屏发送(source)/接收(sink)能力的电子设备。当第一电子设备100搜索到一个或多个投屏设备时,第一电子设备100会在视频播放界面40上显示投屏连接的搜索框。如图6的6c所示,投屏连接的搜索/选择框406包括搜索到的一个或多个投屏设备的名称。示例性地,搜索/选择框406包括搜索到的具备投屏接收能力的设备名称:客厅的电视、我的电脑、平板电脑等。用户选定想要投屏的设备后,第一电子设备100与用户选定的设备通过无线视频显示(wi-fidisplay,wfd)技术中的无线显示标准miracast协议建立投屏连接。示例性地,用户选定的投屏设备为客厅的电视,则第一电子设备100与客厅的电视建立投屏连接。为方便描述,以下描述将用户选定的投屏设备称为第二电子设备200。

可选的,在一些可行的实施方式中,用户点击视频播放界面40上的投屏控件402之后,第一电子设备100探测当前是否已经建立投屏连接。如果第一电子设备100探测到当前已经建立投屏连接,则如图4所示的投屏方法在步骤s6后执行步骤s11,即第一电子设备100接收到投屏指示之后,可以获取视频播放界面所对应视频400,并将视频400处理成视频流。

在一些可行的实施方式中,用户在视频播放界面40上点击投屏控件402之前,用户已经触发第一电子设备100与第二电子设备200建立投屏连接。如图7所示,图7是本申请提供的第一电子设备建立投屏连接的界面示意图。如图7的7a所示,用户的手指在第一电子设备100的主界面上向下滑动。当第一电子设备100在主界面上检测到下滑操作时,显示如图7的7b所示的通知管理界面80。如图7的7b所示,通知管理界面80包括移动数据图标801、无线网络图标802以及无线投屏图标803等等。用户在通知管理界面80上点击无线投屏图标803,第一电子设备100启动无线投屏功能。在一些可行的实施方式中,如果用户在通知管理界面80上点击无线投屏图标803时,无线网络未打开,则第一电子设备100提示或自动打开无线网络,并提示用户选择一个无线网络连接。第一电子设备100通过wifi自动搜索连接到该wifi上的投屏设备(表示具有投屏发送/接收能力的电子设备)。第一电子设备100在通知管理界面80上显示如图7的7c所示的搜索/选择框804,搜索/选择框804中包括搜索到的一个或多个投屏设备的名称,以提示用户从搜索到的投屏设备中选择一个投屏设备建立投屏连接。用户选定想要投屏的投屏设备后,第一电子设备100与用户选定的投屏设备建立投屏连接。在另一些可行的实施方式中,用户还可在第一电子设备100的主界面上通过设置图标来启动第一电子设备100的无线投屏功能。在另一些可行的实施方式中,用户可以将第一电子设备100与第二电子设备200通过hdmi建立有线投屏连接。

在一些可行的实施方式中,当第一电子设备100与第二电子设备200建立好投屏连接之后,第二电子设备200可以返回投屏连接响应。其中,第一电子设备100与第二电子设备200建立投屏连接的过程中,第一电子设备100与第二电子设备200会进行性能参数的交换与协商,即第一电子设备100可以获取第二电子设备200上图像尺寸参数、第二电子设备200能够接收的数据格式参数等等。

s11、第一电子设备100获取视频播放界面所对应视频400,并将视频400处理成视频流。

在一些可行的实施方式中,第一电子设备100获取视频400的图像数据。为了方便描述,在本申请实施例中,可将上述视频400作为第二媒体数据,将上述视频400中的图像数据作为第二图像数据,将视频400的图像数据中的图像帧作为第二图像帧进行说明。第一电子设备100将视频400的图像数据中各个图像帧对应的图像进行压缩,该各个图像帧对应的图像压缩后的图像尺寸与第二电子设备200上的图像尺寸相同。示例性地,当图像尺寸以像素点为单位时,假设第二电子设备200上的图像尺寸为400×800个像素点,该各个图像帧对应的图像的图像尺寸为800×800个像素点,则第一电子设备100将各图像帧对应的图像进行压缩时,可将各图像帧对应的图像的图像尺寸800×800个像素点压缩至400×800个像素点以得到各图像帧对应的压缩后的图像。第一电子设备100可以将多个图像帧对应的压缩后的图像进行视频压缩编码后得到视频流。该多个图像帧可以为视频400的图像数据在多个连续的时间节点上的图像帧,其中视频400的图像数据在一个时间节点上存在一个图像帧。在另一些可行的实施方式中,第一电子设备100在获得视频400的图像数据之后,可以直接将该图像数据在多个连续的时间节点上的多个图像帧进行视频压缩编码后得到视频流。

在一些可行的实施方式中,第一电子设备100获取视频400在一段时间内的音频数据,这一段时间由上述多个连续的时间节点确定。第一电子设备100对这一段时间内的音频数据进行音频压缩编码,如高级音频编码(advancedaudiocoding,aac)。第一电子设备将上述多个图像帧经过视频压缩编码后与该段时间内的音频数据经过音频压缩编码后混成视频流。该视频流的数据格式为第二电子设备200能够接收的任一数据格式,如mp4(mpeg-4part14)格式的视频流。该视频流对应的图像和音频在第二电子设备200上同步呈现。

s12、第一电子设备100将视频流发送给第二电子设备200。

s13、第二电子设备200接收到视频流后,将视频流处理成图像和音频输出。

在一些可行的实施方式中,第一电子设备100可将视频流作为投屏数据通过投屏端口以视频流媒体协议(如实时流传输协议(realtimestreamingprotocol,rtsp))承载输出给第二电子设备200。第二电子设备200对投屏数据(即视频流)进行视频流媒体协议接收处理以及视频音频解码处理,再渲染输出,此时第二电子设备200全屏显示投屏数据对应的图像和/或播放投屏数据对应的音频。如图8所示,图8是本申请实施例提供的第一电子设备和第二电子设备的一界面示意图。图8中第一电子设备100的屏幕宽为s-w1,屏幕高为s-h1;第二电子设备100的屏幕宽为s-w2,屏幕高为s-h2。第二电子设备200在显示投屏数据对应的图像时,可以将该投屏数据对应的图像的宽高比例调整至与第二电子设备200的屏幕宽高比例s-w2:s-h2相同后,再显示。假设视频400在第一电子设备100上全屏播放且无黑或白边,且第一电子设备100的屏幕宽高比例s-w1:s-h1与第二电子设备200的屏幕宽高比例s-w2:s-h2相同,那么如图8所示的第二电子设备200显示的视频播放画面也无黑边或白边,第一电子设备100与第二电子设备200显示相同的图像且播放相同的音频。

在一些可行的实施方式中,当第一电子设备100将视频400投屏到第二电子设备200上呈现后,用户可通过第二电子设备200的遥控器来控制视频400在第二电子设备200上的播放。示例性地,如果用户在第二电子设备200的遥控器上按压暂停键,则第二电子设备200向第一电子设备100发送暂停播放指令。第一电子设备100接收到暂停播放指令时,在第一电子设备100上暂停视频400的播放。同时,第一电子设备100会暂停视频400的视频流的传输,第二电子设备200会因为没有视频流传输过来也暂停播放。如果用户在第二电子设备200的遥控器上按压播放键,则第二电子设备200向第一电子设备100发送继续播放指令。第一电子设备100接收到继续播放指令时,第一电子设备100从视频400的当前播放进度开始继续播放,并且,第一电子设备100继续视频400的视频流的传输,故第二电子设备200接收到视频流也继续播放。由于视频流的传输是分片传输的,所以第一电子设备100每次传输视频流时,只传输固定时间段内的视频流。示例性地,如果视频400的播放时长为25分34秒,第一电子设备100可以每次传输10秒长的视频流,那么视频400需要传输154次才能全部传输到第二电子设备200中。

在一些可行的实施方式中,当用户再次点击视频播放界面40上的投屏控件402时,第一电子设备100退出视频400的投屏,即第一电子设备100终止输出视频400的视频流,此时第一电子设备100与第二电子设备200的投屏连接未断开。在另一些可行的实施方式中,当用户再次点击视频播放界面40上的投屏控件402时,第一电子设备100断开与第二电子设备200的投屏连接。

在本申请实施例中,用户触发第一电子设备100将视频app中的内容(上述视频400)投屏到第二电子设备200上显示之后,可以通过第二电子设备200的遥控器控制第二电子设备上的显示内容。不仅可以在不同平台或设备上同时共享展示内容,丰富用户的多媒体生活,还可以更灵活的显示内容的控制方式。

实施例二:

在本申请实施例中,用户触发第一电子设备将该第一电子设备上的视频播放画面投屏到第二电子设备上观看,那么此时用户就可以在第一电子设备上退出视频播放画面,并在第一电子设备上打开其他应用进行其他的操作,比如打开社交app进行社交互动操作。

例如,用户此时在第一电子设备100(如手机)上打开社交app与亲人进行视频聊天,或者此时用户的亲人通过手机、平板电脑或笔记本电脑等电子设备给用户的第一电子设备100发送了视频或语音聊天请求。由于用户并未在第一电子设备100上退出视频app,故视频app仍然运行,且视频400的投屏也仍然在第一电子设备100的后台进行,所以即使用户在第一电子设备100上打开社交app进行视频聊天,第二电子设备200上也可以继续显示视频播放画面。当用户通过第一电子设备100与亲人进行全屏的视频聊天时,由于第一电子设备100的屏幕大小有限,不适合同时多人观看,用户需要将视频聊天画面投放到大屏电子设备(比如第二电子设备200)上呈现,以便于用户一家人实时观看对面亲人的情况。然而目前的社交app无法在第一电子设备100上实现投屏,且第一电子设备100不支持多次投屏操作。

因此,本申请实施例提供的投屏方法,可以在第一电子设备100上实现多次投屏操作,并可以将视频应用中的视频图像和社交应用中的社交图像的合成图像投屏到第二电子设备200上呈现,增加了投屏内容的丰富性,提高了投屏方式的多样性,丰富了投屏功能,增强了投屏的用户体验。

参见图9,图9是本申请实施例提供的投屏方法的另一流程示意图。

s21、用户在视频聊天请求界面上点击接听控件。

s22、第一电子设备100响应用户的点击操作,打开前置摄像头并显示视频聊天界面。

在一些可行的实施方式中,当第一电子设备100将视频400投屏到第二电子设备200上呈现后,如果用户的亲人此时给用户的第一电子设备100发送了视频聊天请求。当第一电子设备100接收到视频聊天请求时,如果用户此时未退出视频播放界面40或全屏播放界面50,则第一电子设备100会自动退出视频播放界面40或全屏播放界面50,再全屏显示视频聊天请求界面。

示例性的,如图10所示,图10是本申请实施例提供的第一电子设备的另一界面交互示意图。如图10的10a所示,聊天请求界面60包括:拒绝控件601、接听控件602、切换到语音接听控件603以及头像图标604等。当用户点击接听控件602时,第一电子设备100会调用并打开前置摄像头,并显示如图10的10b所示的视频聊天界面70。

s23、用户在视频聊天界面上点击投屏/分屏控件。

s24、第一电子设备100接收用户针对第一媒体数据的投屏指示。

如图10的10b所示,视频聊天界面70包括:第一电子设备100的前置摄像头采集的图像701、转换摄像头控件702、挂断控件703、切换到语音聊天控件704、分屏控件705以及实时视频图像706等。为方便描述,以下描述将第一电子设备100上视频聊天的视频(也即实时视频图像706对应的视频)称为实时视频500。为便于描述,在本申请实施例中,可将实时视频500作为第一媒体数据进行说明。

当用户点击分屏控件705时,社交app调用第一电子设备100的投屏发送能力,第一电子设备100输出如图10的10c所示的投屏提示框707。如图10的10c所示,投屏提示框707包括按钮7071以及按钮7072。如果用户想要将实时视频500投屏到第二电子设备200上观看,则可以通过手指或触控笔在视频聊天界面70的投屏提示框707上点击按钮7071(即“是”按钮)。

在一些可行的实施方式中,视频聊天界面70上还包括投屏控件。如果用户想要将实时视频图像706投屏到第二电子设备200上观看,则可以通过手指或触控笔在视频聊天界面70点击投屏控件。当用户在视频聊天界面70上点击按钮7071或投屏控件时,第一电子设备100接收到用户针对实时视频500的投屏指示。示例性地,按钮7071对应的投屏指示为信令“1”,按钮7072对应的投屏指示为信令“0”。在第一电子设备100接收到投屏指令之后,第一电子设备100可以探测第一电子设备100的投屏端口是否有投屏数据(图4中的视频流)输出。若第一电子设备100的投屏端口有投屏数据输出,则说明第一电子设备100的此次投屏为非首次投屏,也可以说明第一电子设备100与第二电子设备200已经建立好投屏连接,还可以说明第一电子设备100中有一份数据正在投屏。若第一电子设备100的投屏端口没有投屏数据输出,则说明第一电子设备100的此次投屏为首次投屏,且可以说明第一电子设备100中没有数据在投屏。

在一些可行的实施方式中,本申请实施例以第一媒体数据为视频聊天对应的实时视频为例,来对本申请实施例提供的投屏方法进行介绍。但在实际应用中,第一媒体数据也可以为语音聊天或文字聊天对应的媒体数据,本申请提供的投屏方法对此不做限定。其中,当第一媒体数据为语音聊天对应的媒体数据时,第一媒体数据中的图像数据(即第一图像数据)可以为空。当第一媒体数据为文字聊天对应的媒体数据时,第一媒体数据中的音频数据(即第一音频数据)可以为空。

s25、当第一电子设备100探测到第一电子设备100的投屏端口有投屏数据输出时,输出投屏选择信息并提示用户从多种投屏方式中选择一种投屏方式进行投屏。

s26、第一电子设备100响应于用户的选择确定第一图像数据和第二图像数据的投屏方式。

在一些可行的实施方式中,为了方便描述,在本申请实施例中,可将上述视频400作为第二媒体数据进行说明。第一电子设备100的投屏端口输出的投屏数据(如上述视频流)由视频400生成。实时视频500包括第一图像数据,视频400包括第二图像数据。当第一电子设备100的投屏端口有投屏数据输出时,第一电子设备100输出包括多种投屏方式的投屏选择信息,并提示用户选择一种投屏方式进行投屏。例如,第一电子设备100输出如图10的10d所示的投屏方式选择框708。如图10的10d所示的投屏方式选择框708包括画中画投屏方式7081、水平/垂直平铺投屏方式7082以及覆盖投屏方式7083。用户可以在投屏方式选择框708中选择自己想要投屏的方式。第一电子设备100响应于用户的选择并将用户选定的投屏方式确定为第一图像数据和第二图像数据的投屏方式。

在另一些可行的实施方式中,上述投屏端口输出的投屏数据可以在第二电子设备200上呈现,也可以在其他电子设备(除第二电子设备200外的一个或多个其他电子设备)上呈现,本申请实施例对此不作限定。其中,如果上述投屏端口输出的投屏数据(投屏数据可以由第二媒体数据)在第三电子设备上呈现,第一电子设备100可以将第一媒体数据中的第一图像数据和第二媒体数据中的第二图像数据合成后再投屏到第二电子设备200上呈现,此时第三电子设备可以不再呈现上述投屏数据对应的图像。

s27、第一电子设备100根据投屏方式对第一图像数据和第二图像数据进行合成,以生成合成图像数据。

在一些可行的实施方式中,第一电子设备100可以根据上述投屏方式将第一图像数据中的多个第一图像帧和第二图像数据中的多个第二图像帧进行合成,得到多个合成图像帧数据。第一电子设备100可以将该多个合成图像帧数据进行视频压缩编码后生成合成图像数据。其中,该第一图像数据和该第二图像数据在每个时间节点上均包括一个图像帧,该多个第一图像帧为该第一图像数据在多个连续的时间节点上的图像帧,该多个第二图像帧为该第二图像数据在多个连续的时间节点上的图像帧。换句话说,第一电子设备100每次合成一段时间内(多个连续的时间节点确定的时间段)的合成图像帧数据(即多个合成图像帧数据)之后再视频压缩编码得到合成图像数据,即每次传输至第二电子设备200的合成图像数据为一段时间内的图像数据(包括多帧合成图像),可以提高传输效率。可选的,第一电子设备100可以根据该投屏方式将该第一图像数据中的一个第一图像帧与该第二图像数据中的一个第二图像帧进行合成得到一个合成图像帧数据,并可以将该一个合成图像帧数据进行视频压缩编码后生成合成图像数据。本申请实施例还可以每次合成一个合成图像帧数据,即第一电子设备100传输至第二电子设备200的合成图像数据中只包括一帧合成图像。

在一些可行的实施方式中,第一电子设备100可以根据上述投屏方式将第一图像数据和第二图像数据在相同时间节点上的图像帧进行合成,得到合成图像帧数据。其中,第一图像数据和第二图像数据在一个时间节点上的图像帧用于生成一个合成图像帧数据。第一电子设备100可以获取多个连续的时间节点上的多个合成图像帧数据,并可以将该多个合成图像帧数据进行视频压缩编码后生成合成图像数据。本申请实施例可以对第一图像数据和第二图像数据在同一时间节点上的图像帧进行合成,以实现两份数据的同步呈现。

在一些可行的实施方式中,用户选定的投屏方式不同,第一电子设备100生成合成图像数据的方式也不相同,具体可参见如下合成图像数据生成方式1至合成图像数据生成方式3:

合成图像数据生成方式1、用户选中的投屏方式为画中画投屏方式。

(a1)第一电子设备100对多个第一图像帧中各个第一图像帧对应的图像进行压缩。

(a2)第一电子设备100将多个第一图像帧对应的压缩后的多个图像按照画中画投屏方式对应的第一相对位置叠加至多个第二图像帧对应的多个图像中得到多个合成图像。

在一些可行的实施方式中,为了方便描述,在本申请实施例中,可将实时视频500中的实时视频图像帧作为第一图像帧,可将视频400中的视频图像帧作为第二图像帧。画中画可以理解为一大一小两个画面或图像叠加在一起呈现。第一电子设备100获取预设的画中画投屏方式对应的图像尺寸和第一相对位置,该第一相对位置用于表示画中画投屏方式中两个图像帧对应的图像在合成一个合成图像帧数据对应的合成图像时的相对位置。第一电子设备100获取实时视频500中的多个实时视频图像帧,并获取视频400中的多个视频图像帧。第一电子设备100将多个实时视频图像帧中的各个实时视频图像帧对应的图像进行压缩,该各个第一图像帧对应的图像压缩后的图像尺寸与该画中画投屏方式对应的图像尺寸相同。第一电子设备100针对该多个实时视频图像帧中的任一实时视频图像帧i和该多个视频图像帧中的任一视频图像帧j进行如下操作:将实时视频图像帧i对应的压缩后的图像按照该第一相对位置叠加至视频图像帧j对应的图像中得到一个合成图像。n个实时视频图像帧对应的n个图像与n个视频图像帧对应的n个图像合成n个合成图像,n为大于或等于2的整数。其中,实时视频图像帧i所在的时间节点可以与视频图像帧j所在的时间节点相同。换句话说,第一电子设备100每次将一个实时视频图像帧对应的压缩后的图像按照画中画投屏方式对应的第一相对位置叠加至一个视频图像帧对应的图像中得到一个合成图像,第一电子设备100将前述图像叠加过程循环多次以得到多个合成图像。

示例性地,当图像尺寸以像素点为单位时,假设第一电子设备100中预设的画中画投屏方式对应的图像尺寸为200×200个像素点,第一相对位置为左上位置(表示实时视频图像位于视频图像的左上角)。假设每个实时视频图像帧对应的图像的图像尺寸为800×800个像素点,每个视频图像帧对应的图像的图像尺寸为800×800个像素点。第一电子设备100将各个实时视频图像帧对应的图像的图像的图像尺寸800×800个像素点压缩至200×200个像素点,以得到各实时视频图像帧对应的压缩后的图像。第一电子设备100将任一实时视频图像帧对应的压缩后的图像中的200×200个像素点覆盖任一视频图像帧对应的图像(包括800×800个像素点)中左上位置的200×200个像素点,以得到一个800×800个像素点的合成图像。例如,图像可以用矩阵来表示,矩阵中的一个元素表示一个像素点。实时视频图像帧对应的图像用矩阵s表示,s的大小(即尺寸大小)为800行800列。实时视频图像帧对应的压缩后的图像用矩阵s’表示,s’的大小为200行200列。视频图像帧对应的图像用v来表示,v的大小也为800行800列。第一电子设备100可以将v的第0-200行中的第600-800列共200×200个元素替换为s’中的200×200个元素,得到矩阵c,c表示的图像即为合成图像。其中,c的大小为800行800列。换句话说,第一电子设备可通过对图像的像素矩阵的叠加来实现两个图像之间的叠加。

如图11a所示,图11a是本申请实施例提供的一合成图像示意图。图11a中的时间轴t表示第一电子设备100的时钟信息,图像a1为视频400在8点08分1.07秒的视频图像帧所对应的图像,图像b1为视频500在8点08分1.07秒的实时视频图像帧所对应的图像。第一电子设备100将图像a1进行压缩,并将压缩后的图像a1叠加至图像b1的左上位置得到如图11a所示的合成图像c1。

(a3)第一电子设备100基于多个合成图像对应的图像数据获得多个合成图像帧数据。

在一些可行的实施方式中,合成图像对应的图像数据即为合成图像帧数据。合成图像可以表示为像素点,合成图像帧数据可以为机器能够识别的图像数据,比如像素点转换后的二进制图像数据。

(a4)第一电子设备100将多个合成图像帧数据压缩编码之后生成合成图像数据。

在一些可行的实施方式中,第一电子设备100将上述得到的多个合成图像帧数据进行视频压缩编码(如h.264编码)后生成合成图像数据。

合成图像数据生成方式2、用户选中的投屏方式为水平/垂直平铺投屏方式。

(b1)第一电子设备100根据水平/垂直平铺投屏方式对应的图像尺寸参数对多个第一图像帧对应的多个图像和多个第二图像帧对应的多个图像进行压缩。

(b2)第一电子设备100根据平铺投屏方式对应的图像位置参数,对多个第一图像帧对应的压缩后的多个图像以及多个第二图像帧对应的压缩后的多个图像进行合成,得到多个合成图像。

在一些可行的实施方式中,水平平铺可以理解为两个画面或图像水平排列且无重叠;垂直平铺可理解为两个画面或图像垂直排列且无重叠。为方便描述,以下描述以水平平铺投屏方式为例进行介绍。第一电子设备100获取预设的水平平铺投屏方式对应的图像尺寸参数(包括第一图像尺寸和第二图像尺寸)以及图像位置参数(包括第二相对位置,如左右位置,表示视频400的视频图像与实时视频500的实时视频图像左右排列)。其中,该图像位置参数用于表示两个图像帧对应的图像在合成一个合成图像帧数据对应的合成图像时的相对位置。第一电子设备100获取实时视频500中的多个实时视频图像帧(即第一图像帧),并获取视频400中的视频图像(即第二图像帧)。第一电子设备100将多个实时视频图像帧中的各个实时视频图像帧对应的图像进行压缩,该各个实时视频图像帧对应的图像压缩后的图像尺寸与该第一图像尺寸相同,将多个视频图像帧中的各个视频图像帧对应的图像进行压缩,该各个视频图像帧对应的图像压缩后的图像尺寸与该第二图像尺寸相同。第一电子设备100针对多个实时视频图像帧中的任一实时视频图像帧i和多个视频图像帧中的任一视频图像帧j进行如下操作:将实时视频图像帧i对应的压缩后的图像与视频图像帧j对应的压缩后的图像按照左右位置进行图像拼接,得到一个合成图像。n个实时视频图像帧对应的n个图像与n个视频图像帧对应的n个图像拼接为n个合成图像,n为大于或等于2的整数。其中,实时视频图像帧i所在的时间节点可以与视频图像帧j所在的时间节点相同。换句话说,第一电子设备100每次将一个实时视频图像帧对应的压缩后的图像与一个视频图像帧对应的压缩后的图像按照水平平铺投屏方式对应的第二相对位置进行图像拼接,得到一个合成图像,第一电子设备100将前述图像拼接过程循环多次以得到多个合成图像。

示例性地,当图像尺寸以像素点为单位时,假设第一电子设备100中预设的水平平铺投屏方式对应的第一图像尺寸为800×400个像素点,第二图像尺寸也为800×400个像素点。预设的水平平铺投屏方式对应的第二相对位置为左右位置。假设每个实时视频图像帧对应的图像的图像尺寸为800×800个像素点,每个视频图像帧对应的图像的图像尺寸为800×800个像素点。第一电子设备100将各个实时视频图像帧对应的图像的图像尺寸800×800个像素点压缩至800×400个像素点,以得到各实时视频图像帧对应的压缩后的图像,并将多个视频图像帧中各个视频图像帧对应的图像的图像尺寸800×800个像素点也压缩至800×400个像素点,以得到各视频图像帧对应的压缩后的图像。第一电子设备100将任一实时视频图像帧对应的压缩后的图像(包括800×400个像素点)与任一视频图像帧对应的压缩后的图像(包括800×400个像素点)按照左右位置进行图像拼接,得到一个800×800个像素点的合成图像。例如,图像可以用矩阵来表示,矩阵中的一个元素表示一个像素点。实时视频图像帧对应的图像用矩阵s表示,s的大小为800行800列。压缩后的任一实时视频图像帧对应的图像用矩阵s’表示,s’的大小为800行400列。视频图像帧对应的图像用v来表示,v的大小也为800行800列。任一视频图像帧对应的压缩后的图像用矩阵v’表示,v’的大小为800行400列。第一电子设备100可以将v’和s’按照左右位置进行图像拼接,得到800行800列的矩阵c,c表示的图像即为合成图像。其中,c的前400列元素与v’相同,后400列元素与s’相同,或c的前400列元素与s’相同,后400列元素与v’相同,本申请实施例对此不做限定。换句话说,第一电子设备可通过对图像的像素矩阵的拼接来实现两个图像之间的拼接。

如图11b所示,图11b是本申请实施例提供的另一合成图像示意图。图11b中的时间轴t表示第一电子设备100的时钟信息,图像a1为视频400在8点08分1.07秒的视频图像帧所对应的图像,图像b1为视频500在8点08分1.07秒的实时视频图像帧所对应的图像。第一电子设备100分别对图像a1和图像b1进行压缩。第一电子设备100将压缩后的图像a1和压缩后的图像b1左右拼接得到如图11b所示的合成图像c2。

在一些可行的实施方式中,垂直平铺投屏方式可参考水平平铺投屏方式。垂直平铺投屏方式对应的图像尺寸参数(包括第三图像尺寸和第四图像尺寸)以及图像位置参数(包括第三相对位置,如上下位置)。第一电子设备100将多个实时视频图像帧中的各个实时视频图像帧对应的图像进行压缩,该各个实时视频图像帧对应的图像压缩后的图像尺寸与该第三图像尺寸相同,并将多个视频图像帧中的各个视频图像帧对应的图像进行压缩,该各个视频图像帧对应的图像压缩后的图像尺寸与该第四图像尺寸相同。第一电子设备100将任一实时视频图像帧对应的压缩后的图像与任一视频图像帧对应的压缩后的图像按照上下位置进行图像拼接,得到一个合成图像。n个实时视频图像帧对应的n个图像与n个视频图像帧对应的n个图像拼接为n个合成图像,n为大于或等于2的整数。其中,该任一实时视频图像帧所在的时间节点可以与该任一视频图像帧所在的时间节点相同。

(b3)第一电子设备100基于多个合成图像对应的图像数据获得多个合成图像帧数据。

(b4)第一电子设备100将多个合成图像帧数据压缩编码之后生成合成图像数据。

在一些可行的实施方式中,(b3)-(b4)的实现方式可以参考上述(a3)-(a4)的实现方式,在此不再赘述。

合成图像数据生成方式3、用户选中的投屏方式为覆盖投屏方式。

(c1)第一电子设备100终止投屏端口的投屏数据输出以使第二媒体数据为空。

在一些可行的实施方式中,覆盖可以理解为一个画面(图像)完全遮盖另一个画面(图像)。当用户点击投屏方式选择框708中的覆盖投屏方式7083时,第一电子设备100退出视频400的投屏,即第一电子设备100终止投屏端口的投屏数据(如上述视频400)输出,那么第二媒体数据就为空。

(c2)第一电子设备100获取第一图像数据在多个连续的时间节点上的多个第一图像帧。

(c3)第一电子设备100将多个第一图像帧压缩编码之后生成合成图像数据。

在一些可行的实施方式中,第一电子设备100退出了视频400的投屏,此时相当于实时视频500的投屏为首次投屏,那么第一电子设备100获取实时视频500中的多个实时视频图像帧,并将多个实时视频图像帧进行视频压缩编码(如h.264)后生成合成图像数据。该多个实时视频图像帧为第一图像数据在多个连续的时间节点上的图像帧。可选的,第一电子设备100在获取到多个实时视频图像帧之后,可以将该多个实时视频图像帧中的各个实时视频图像帧对应的图像进行压缩,该各个实时视频图像帧对应的图像压缩后的图像尺寸与覆盖投屏方式对应的图像尺寸相同,并可以将多个实时视频图像帧对应的压缩后的图像进行视频压缩编码后生成合成图像数据。

在另一些可行的实施方式中,若用户选中的投屏方式为覆盖投屏方式,合成图像数据的生成方式还可为:(d1)第一电子设备100获取预设的覆盖投屏方式对应的图像位置参数(如第四相对位置),该图像位置参数用于表示两个不同图像之间的相对位置。(d2)第一电子设备100获取第一图像数据在多个连续的时间节点上的多个第一图像帧,并获取第二图像数据在多个连续的时间节点上的多个第二图像帧。(d3)第一电子设备100针对多个第一图像帧中的任一第一图像帧i和多个第二图像帧中的任一第二图像帧j进行如下操作:将第一图像帧i对应的图像按照第四相对位置叠加至第二图像帧j对应的图像中得到一个合成图像。其中,n个实时视频图像帧对应的n个图像与n个视频图像帧对应的n个图像合成n个合成图像,n为大于或等于2的整数。(d4)第一电子设备100基于多个合成图像对应的图像数据获得多个合成图像帧数据。(d5)第一电子设备100将多个合成图像帧数据压缩编码之后生成合成图像数据。

如图11c所示,图11c是本申请实施例提供的又一合成图像示意图。图11c中的时间轴t表示第一电子设备100的时钟信息,图像a1为视频400在8点08分1.07秒的视频图像帧所对应的图像,图像b1为视频500在8点08分1.07秒的实时视频图像帧所对应的图像。第一电子设备100将图像a1按照边缘对齐的方式叠加进图像b1中得到如图11c所示的合成图像c3。

s28、第一电子设备100对第一媒体数据中包括的第一音频数据和第二媒体数据中包括的第二音频数据进行合成,以生成合成音频数据。

在一些可行的实施方式中,为了方便描述,在本申请实施例中,可将实时视频500中的音频数据作为第一音频数据,可将视频400中的音频数据作为第二音频数据进行说明。第一电子设备100可以获取实时视频500的音频数据在多个连续时间节点确定的时间段内的第一音频,并可以获取视频400的音频数据在该时间段内的第二音频。第一电子设备100可以将该第一音频覆盖该第二音频,得到合成音频,并可以将该合成音频进行音频压缩编码,得到合成音频数据。

在一些可行的实施方式中,若第二媒体数据中包括的第二音频数据为空,则第一电子设备100可以直接将实时视频500的音频数据在多个连续时间节点确定的时间段内的第一音频进行音频压缩编码,得到合成音频数据。

在一些可行的实施方式中,步骤s27与步骤s28之间的执行顺序不做限定。例如,步骤s27可以在步骤s28之前执行,步骤s27也可以在步骤s28之后执行,步骤s27还可以与步骤s28同时执行,等等。

s29、第一电子设备100将合成图像数据和合成音频数据通过投屏端口发送至第二电子设备200。

s30、第二电子设备200接收到合成图像数据以及合成音频数据后,根据投屏方式将合成图像数据处理成对应的合成图像输出显示,并播放合成音频数据对应的合成音频。

在一些可行的实施方式中,第一电子设备100将上述合成图像数据和上述合成音频数据封装在一个数据包中,以视频流媒体协议承载输出给第二电子设备200。第二电子设备200接收到数据包后,对数据包进行视频流媒体协议接收处理以及视频音频解码处理,再渲染输出,此时第二电子设备200按照投屏方式显示合成图像数据对应的合成图像,并播放合成音频数据对应的合成音频。其中,合成图像数据和合成音频数据封装成的数据包格式为第二电子设备200能够接收的任一数据格式,如mp4格式。在第一电子设备100将实时视频500和视频400的合成图像数据均投屏到第二电子设备200上显示时,不同的投屏方式,第二电子设备200上显示的包括合成图像的画面不相同。

可选的,第二电子设备200在显示合成图像时,可以通过在合成图像上增加黑边的形式将该合成图像的宽高比例调整至与第二电子设备200的屏幕宽高比例相同,或者可以缩放合成图像的尺寸以使合成图像铺满第二电子设备200的整个屏幕。如图12所示,图12是本申请实施例提供的第一电子设备和第二电子设备的另一界面示意图。第一电子设备100的屏幕宽高比例为s-w1:s-h1,第二电子设备200的屏幕宽高比例为s-w2:s-h2。如图12的12a所示,第一电子设备100上全屏显示实时视频500的实时视频图像706,第二电子设备200上显示是包括画中画投屏方式所对应的合成图像的播放画面80。如图12的12b所示,第一电子设备100上全屏显示实时视频500的实时视频图像706,第二电子设备200上显示是包括水平平铺投屏方式所对应的合成图像的播放画面81。如图12的12c所示,第一电子设备100上全屏显示实时视频500的实时视频图像701,第二电子设备200上显示是包括覆盖投屏方式所对应的合成图像的播放画面82。

在一些可行的实施方式中,当用户再次点击视频聊天界面70上的分屏控件705时,第一电子设备100退出实时视频500的投屏,即第一电子设备100终止输出实时视频500的对应的图像数据和音频数据,此时第一电子设备100与第二电子设备200的投屏连接未断开。在另一些实施例中,当用户再次点击视频聊天界面70上的分屏控件705时,第一电子设备100断开与第二电子设备200的投屏连接。

在一些可行的实施方式中,本申请实施例提供的投屏方法是在视频app的媒体数据(如上述视频400)已经投屏的情况下,再进行社交app的媒体数据(如上述实时视频500)的投屏。但在实际应用中,本申请实施例提供的投屏方法也可以在社交app的媒体数据已经投屏的情况下,再进行视频app的媒体数据的投屏,本申请提供的投屏方法对视频app的媒体数据和社交app的媒体数据的投屏先后顺序不做限定。

在另一些可行的实施方式中,第一电子设备100中预先设置了多次投屏时的投屏方式。当用户在视频聊天请求界面上点击接听控件时,第一电子设备100响应用户的点击操作,打开前置摄像头并显示视频聊天界面的同时,第一电子设备100还接收到用户点击接听控件所产生的投屏指示,可以探测第一电子设备100的投屏端口是否有投屏数据输出。若探测到第一电子设备100的投屏端口有投屏数据输出时,第一电子设备100可以根据预先设置的投屏方式对第一图像数据和第二图像数据进行合成,以生成合成图像数据,并可以对第一媒体数据中包括的第一音频数据和第二媒体数据中包括的第二音频数据进行合成,以生成合成音频数据。最后第一电子设备100可以将合成图像数据和合成音频数据通过投屏端口发送至第二电子设备200,以使第二电子设备200显示合成图像数据对应的合成图像并播放合成音频数据对应的合成音频。

在本申请实施例中,用户将第一电子设备上视频app中的视频投到第二电子设备上观看后,再触发第一电子设备将第一电子设备上社交app的实时视频与视频app的视频合成后投屏到第二电子设备上观看。实现了用户在第一电子设备上的多次投屏操作,同时可以将两份图像数据合成为一份图像数据后投屏到第二电子设备上呈现,实现了用户在第二电子设备上观看视频和社交互动的效果,增加了投屏内容的丰富性,提高了投屏方式的多样性,增强投屏的用户体验。

本申请的各实施方式可以任意进行组合,以实现不同的技术效果。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk)等。

总之,以上所述仅为本申请技术方案的实施例而已,并非用于限定本申请的保护范围。凡根据本申请的揭露,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1