CN114995732B - 一种投屏方法、电子设备以及存储介质 - Google Patents

一种投屏方法、电子设备以及存储介质 Download PDF

Info

Publication number
CN114995732B
CN114995732B CN202111037600.1A CN202111037600A CN114995732B CN 114995732 B CN114995732 B CN 114995732B CN 202111037600 A CN202111037600 A CN 202111037600A CN 114995732 B CN114995732 B CN 114995732B
Authority
CN
China
Prior art keywords
electronic device
screen
data stream
channel
protocol
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
CN202111037600.1A
Other languages
English (en)
Other versions
CN114995732A (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 CN202111037600.1A priority Critical patent/CN114995732B/zh
Publication of CN114995732A publication Critical patent/CN114995732A/zh
Application granted granted Critical
Publication of CN114995732B publication Critical patent/CN114995732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • 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/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供了一种投屏方法,应用于第一电子设备,所述方法包括:检测到用于投屏的第一操作,响应于所述第一操作,在所述第一电子设备与所述第二电子设备之间建立第一通道;检测到用于播放视频的第二操作,响应于所述第二操作,在所述第一电子设备与所述第二电子设备之间建立第二通道,并通过所述第二通道,向所述第二电子设备发送第二数据流;检测到用于停止向所述第二电子设备发送所述第二数据流的第三操作,响应于所述第三操作,基于所述第一消息,停止向所述第二电子设备发送所述第二数据流,基于本申请提供投屏方法可以表面投屏过程中投屏设备出现黑屏现象。

Description

一种投屏方法、电子设备以及存储介质
技术领域
本申请涉及终端技术领域,尤其涉及一种投屏方法、电子设备以及存储介质。
背景技术
随着科技的发展,越来越多的电子设备支持无线投屏技术,例如,电子设备A(如手机、平板)可将显示界面“实时”显示到另一个电子设备B(如电脑、电视、一体机、投影仪)的屏幕上,用户可通过电子设备B观看电子设备A的画面内容。
发明内容
为了解决大屏端设备由媒体流投屏切换到镜像投屏出现黑屏问题,本申请提供了一种投屏方法,应用于第一电子设备,该投屏方法包括:
第一方面,本申请提供了一种投屏方法,应用于第一电子设备。第一电子设备检测到用于投屏的第一操作,响应于第一操作,在第一电子设备与第二电子设备之间建立第一通道。其中该第一电子设备可以为本申请中的电子设备100,第二电子设备可以为本申请中的电子设备101。示例性地,该第一操作可以为用户点击投屏控件104的操作。示例性地,该第一通道可以为本申请中的第一物理通道,用于传输镜像数据流。第一电子设备检测到用于播放视频的第二操作,响应于第二操作,在第一电子设备与第二电子设备之间建立第二通道,并通过第二通道,向第二电子设备发送第二数据流。其中,该第二通道可以为本申请中的第二物理通道,第二数据流可以为媒体数据流。示例性地,该第二操作可以为用户在视频应用中播放视频的操作。第一电子设备检测到用于停止向第二电子设备发送第二数据流的第三操作,响应于第三操作,通过第一通道,向第二电子设备发送第一数据流。示例性地,该第三操作可以为用户点击结束控件108的操作,该第一数据流可为本申请中的镜像数据流。第一电子设备从第二电子设备接收第一消息,第一消息用于指示第二电子设备成功接收第一数据流。第一电子设备基于第一消息,断开第二通道,以停止向第二电子设备发送第二数据流。
本申请中,第一通道在建立后始终处于连接状态,不会断开。因此,在第一电子设备检测到用于停止向第二电子设备发送第二数据流的第三操作时,可以直接通过第一通道向第二电子设备推送第一数据流,并在第一数据流推送成功后,断开第二通道,从而避免了黑屏现象。
在本申请的一个实现方式中,第一电子设备基于第一投屏协议,在第一电子设备与第二电子设备之间建立第一通道。示例性地,该第一投屏协议为Miracast协议。
在本申请的一个实现方式中,第一电子设备基于第一投屏协议,进行设备搜索,并显示搜索到的设备列表,第一电子设备检测到用于在设备列表中选择第二电子设备的第四操作,在第一电子设备与第二电子设备之间建立第一通道。示例性地,该第四操作可以为用户在图6C中点击“智慧屏”的操作。
在本申请的一个实现方式中,基于第二投屏协议,在第一电子设备与第二电子设备之间建立第二通道。示例性地,该第二投屏协议可以为DLNA协议。
在本申请的一个实现方式中,第一电子设备在检测到用于投屏的第一操作,响应于第一操作,在第一电子设备与第二电子设备之间建立第一通道之后,以及在第一电子设备检测到用于播放视频的第二操作之前,第一电子设备通过第一通道向第二电子设备发送第一数据流。
在本申请的一个实现方式中,第一电子设备通过第一通道向第二电子设备发送第一数据流之后,以及第一电子设备检测到用于播放视频的第二操作之前,第一电子设备将第二电子设备的设备信息写入到数据库,以及将第一标识写入到配置文件,第一标识用于指示第一电子设备正在向第二电子设备发送第一数据流。示例性地,该数据库可以为实施例中无线投屏模块的数据库,该配置文件可以为实施例中框架层中的配置文件。该第一标识可以为实施例中开启镜像投屏的标识。
在本申请的一个实现方式中,第一电子设备从数据库获取第二电子设备的设备信息,以及从配置文件获取第一标识。第一电子设备可以基于第二电子设备的设备信息、第一标识以及第二投屏协议,在第一电子设备与第二电子设备之间建立第二通道。
在本申请的一个实现方式中,第一电子设备通过第一通道向第二电子设备发送第一数据流。具体地,第一电子设备调用第一接口,以通过第一通道向第二电子设备发送第一数据流。第一接口用于开启第一数据流的发送。该第一接口可以为本申请中的接口onDisplayAdd。
在本申请的一个实现方式中,第一电子设备检测到用于播放视频的第二操作之后,以及第一电子设备检测到用于停止向第二电子设备发送第二数据流的第三操作之前,第一电子设备停止向第二电子设备发送第一数据流。
在本申请的一个实现方式中,第一电子设备停止向第二电子设备发送第一数据流,第一电子设备调用第二接口,停止向第二电子设备发送第一数据流。第二接口用于停止第一数据流的发送。该第二接口可以为本申请中的接口onDisplayRemove。
在本申请的一个实现方式中,第一电子设备断开第二通道之后,第一电子设备和第二电子设备不处于同一局域网。
在本申请的一个实现方式中,第一投屏协议包括Miracast协议,第二协议包括DLNA协议。
第二方面,本申请提供了一种电子设备,包括处理器和存储设备,存储设备存有程序指令,程序指令由处理器运行时,使得电子设备执行如第一方面提供的的投屏方法。
第三方面,本申请提供了一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面提供的投屏方法。
附图说明
图1为相关技术中提供的电子设备100与电子设备101进行镜像投屏的图形界面;
图2为相关技术中提供的电子设备101的图形界面;
图3为本申请一个实施例提供的电子设备100的结构示意图;
图4为本申请一个实施例提供的电子设备100的软件框架示例图;
图5为本申请一个实施例提供的电子设备100由媒体流投屏切换到镜像投屏的示例图;
图6A-6F为本申请一个实施例提供的电子设备100和电子设备101投屏过程中的图形界面;
图7为本申请一个实施例提供的电子设备100与电子设备101之间的交互流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
参见图1,具体示出了相关技术中电子设备100(如手机)与电子设备101(如大屏设备)进行镜像投屏的示意图。其中,镜像投屏又可被称为“镜像投屏模式”。具体地,镜像投屏是指被投屏设备(下文可指示电子设备100)向投屏电子设备(下文可指示电子设备101)推送镜像数据流,使得投屏电子设备显示该镜像数据流。镜像数据流是指被投屏设备整个显示屏的图形界面所对应的数据流。但是,相关技术中,电子设备100进行镜像投屏时,若电子设备100中运行的视频应用在播放视频等媒体资源,即使视频应用全屏播放,电子设备101也会出现黑边103等问题,影响用户体验。
为了解决黑边问题,电子设备100进行镜像投屏时,三方应用(如视频应用等)可调用其内部接口,由镜像投屏切换为媒体流投屏。其中,媒体流投屏又被称为“推送模式投屏”,媒体流投屏是指被投屏设备向投屏电子设备推送媒体数据流,使得投屏电子设备显示该媒体数据流,媒体数据流是指被投屏设备中三方应用播放的媒体资源对应的数据流,如视频资源对应的视频数据流或音频资源对应的音频数据流等。电子设备100与电子设备101进行媒体流投屏时,可以避免电子设备101出现图1所示黑边问题。但是,电子设备100退出媒体流投屏时,会重新切换到镜像投屏,并且在切换过程中,与电子设备100连接的电子设备101的显示屏会出现如图2所示的黑屏现象(电子设备101可显示加载、正在连接等),该黑屏现象非常影响用户体验。
申请人通过大量的研究和投入发现,上述黑屏现象基于以下原因发生:
相关技术中,电子设备100基于镜像投屏协议进行镜像投屏,基于媒体流投屏协议进行媒体流投屏,但是相关技术中镜像投屏协议和媒体流投屏协议所使用的底层物理通道相同,这样,电子设备100由媒体流投屏切换为镜像投屏过程中,需要先断开物理通道,停止传输媒体数据流,然后再重新建立物理通道,传输镜像数据流。因此,电子设备101(大屏设备)会出现黑屏现象。
相关技术中,电子设备100所使用的镜像协议包括Lelink、Airplay协议等,Lelink、Airplay协议都是基于WiFi站点(station,STA)的无线显示标准。Airplay协议一般支持两种投屏模式:推送模式投屏和镜像模式投屏,Lelink仅支持镜像模式投屏。电子设备100所使用的媒体流投屏协议包括数字生活网络联盟(digital living networkalliance,DLNA)等协议,DLNA协议可以支持视频、音频、图片等媒体数据流的推送,以电子设备100通过DLNA协议向大屏设备推送视频数据流为例,电子设备100(手机端)可基于DLNA协议从手机端获取手机所播放的视频资源的统一资源定位符(uniform/universalresource locator,URL),并将URL推送到对端大屏设备,对端大屏设备通过URL下载视频资源,然后对下载的视频资源进行播放。
此外,Lelink、Airplay协议和DLNA协议不仅使用相同的物理通道,并且Lelink、Airplay镜像协议以及DLNA协议所使用的环境条件都要求电子设备100和电子设备101在同一局域网,这样,电子设备100和电子设备101之间才能够进行投屏。
为了解决上述黑屏问题,申请人提供了一种投屏方法,应用于电子设备100,电子设备100在进行镜像投屏时,可建立用于向电子设备101传输镜像数据流的第一物理通道。当电子设备100由镜像投屏切换到媒体流投屏时,可以建立用于向电子设备101传输媒体数据流的第二物理通道,第一物理通道和第二物理通道并不相同,并且,在电子设备100由镜像投屏切换到媒体流投屏时第一物理通道并不断开。当电子设备100由媒体流投屏切换回镜像投屏时,电子设备100可以直接基于第一物理通道向电子设备101传输镜像数据流,电子设备100在接收到镜像数据流传输成功的消息后,再停止传输媒体数据流或者断开第二物理通道,这样可以保证投屏数据连续地的传输,避免出现黑屏现象。
本申请所公开的投屏方法中,第二物理通道可以基于上文所述的媒体流投屏协议建立,但第一物理通道基于WiFi P2P下的镜像协议建立,如基于Miracast协议建立。电子设备100基于Miracast协议投屏时,并不需要与被投屏设备(如电子设备101)处于同一局域网,且所使用第一物理通道也就与媒体流投屏协议(如DLNA)所使用的物理通道并不相同,第一物理通道和第二物理通道可以分别传输镜像数据流和媒体数据流,这样在媒体流投屏切换为镜像数据流时,也就可以使数据流更为连续、无间隙地切换,不会出现黑屏现象。
下面参见图3,具体为本申请一个实施例提供的电子设备100的结构示意图,该电子设备100可以执行本申请所示的投屏方法。本申请实施例中,该电子设备100可以包括但不限于手机、平板等电子设备。该电子设备101可以为智慧屏等大屏设备。
参见图3,电子设备100可以包括处理器110,天线无线通信模块160,显示屏194、音频模块170、存储器121以及天线,可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
电子设备100的无线通信功能可以通过天线,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,WiFi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
下面参见图4,图4具体示出了本申请一个实施例中电子设备100的软件框架示例图,该软件框架用于执行本申请公开的投屏方法。
如图4所示,电子设备100的软件框架可以包括应用程序层、业务层、框架层以及驱动层。图4中虚线是指各层模块与数据库之间的交互过程,实线是指各层模块之间的交互过程,标号(如①)顺序指示各个模块之间以及模块与数据库之间的交互顺序。
应用层包括三方应用(如视频应用)以及SystemUI等。业务层包括无线投屏模块和投屏能力中心,无线投屏模块可具体以***应用的形式在电子设备100中运行。框架层包括无线视频显示管理器以及多屏交互框架,无线视频显示管理器(WiFi DisplayManager)可以用于无线投屏管理,例如建立用于传输数据流的物理通道等,多屏交互框架可以提供传输镜像数据流和停止传输镜像数据流的接口(如onDisplayRemove或onDisplayAdd)。驱动层也称内核层,驱动层可至少包含音频驱动,低功耗蓝牙(bluetooth low energy,BLE)驱动、WiFi STA驱动以及WiFi P2P驱动等。驱动层用于实现硬件层和软件层之间的交互,示例性地,电子设备100通过调用WiFi P2P驱动,可实现WiFi P2P对应的硬件与软件之间的交互。
应用层内的SystemUI可以实现多个功能,例如快速设置功能(quick settings)。如图4标号①所示步骤,SystemUI可以基于用户的投屏操作,向业务层中无线投屏模块发送投屏指示。
如图4标号②所示步骤,业务层内的无线投屏模块在接收SystemUI发送的投屏指示后,可以基于投屏能力中心提供的协议(如镜像协议),搜索具有投屏能力的电子设备,并将搜索到的设备的名称或者图标在电子设备100中显示。用户可通过点击搜索到的电子设备图标或名称,选择要投屏的电子设备。进一步地,无线投屏模块可以基于用户选择的设备,通过投屏能力中心,向无线视频显示管理器发送连接指示,使得电子设备100与用户选择的电子设备(如电子设备101)建立连接。具体地,无线视频显示管理器接收到无线投屏模块发送的指示后,在电子设备100与电子设备101之间建立第一物理通道。示例性地,无线视频显示管理器可以先向电子设备101发送建立第一物理通道的请求,电子设备101可以响应该请求,与电子设备100建立第一物理通道。
进一步地,该第一物理通道具体基于镜像协议建立,用于传输镜像数据流。该镜像协议可具体为Miracast协议。Miracast是由Wi-Fi联盟所制定,以Wi-Fi直连(Wi-FiDirect)为基础的无线显示标准,采用Miracast协议进行无线投屏的设备无需接入无线局域网,电子设备可通过该协议将视频或照片直接在投屏设备上播放而无需任何连接线,也不需要通过无线热点(access point,AP)。在Miracast应用场景中,一台支持P2P的智能手机可直接连接上一台支持P2P的大屏设备,智能手机便可以将自己的屏幕或者媒体资源传送给大屏设备显示或播放。
进一步地,在建立第一物理通道后,如图4标号③④⑤所示步骤,无线投屏模块和投屏能力中心可向无线视频显示管理器推送镜像数据流,无线视频显示管理器通过调用多屏交互框架提供的接口(如onDisplayAdd),向电子设备101推送镜像数据流。
进一步地,如图4标号⑥⑦所示步骤,在电子设备100与电子设备101建立连接后,投屏能力中心可以将电子设备101的设备标识写入到无线投屏模块的数据库(database,DB)中,多屏交互框架将已开启镜像投屏的标识写入到配置文件中。
进一步地,视频应用在播放视频时(或者检测到用户播放视频的操作时),可以实时地读取数据库DB以及配置文件中的信息,当视频应用读取到数据库DB中设备包括电子设备101以及配置文件中已开启镜像投屏的标识后,视频应用可以调用自己内部的接口,使得电子设备100由镜像投屏切换到媒体流投屏,并通过媒体流投屏协议(如DLNA)在电子设备101之间建立第二物理通道,然后通过第二物理通道向电子设备101推送媒体数据流。
在一个实施例中,视频应用从电子设备101接收到媒体流屏成功的消息后,并不断开第一物理通道,可以指示无线投屏模块停止推送镜像数据流。
在该实施例中,由于视频应用调用内部接口,由镜像投屏切换到媒体流投屏,以避免图1所示的黑边问题。
下面参见图5,具体为在图4所示框架的基础上由媒体流投屏切换到镜像投屏的示例图。其中,图5各个标号(如①)顺序指示各个模块之间的交互顺序。图5还示出了电子设备101(如大屏设备)的软件框架图。大屏设备也可以包括应用程序层、业务层。框架层以及驱动层。电子设备101的驱动层可以与电子设备100的驱动层相同,皆包括BLE驱动、WiFi STA驱动以及WiFi P2P驱动等。
上文已经示出电子设备100在进行媒体流投屏时,基于第二物理通道,向电子设备101推送媒体数据流。于此同时,第一物理通道保持连接状态,但并不传输镜像数据流。
参见图5,三方应用中包括退出模块,退出模块用于退出媒体流投屏。具体地,电子设备100检测到用户用于退出媒体流投屏的操作时,三方应用(如视频应用)可以直接调用自己内部的接口,由媒体流投屏切换为镜像投屏。
进一步地,如图5标号①所示步骤,三方应用(如视频应用)检测到用户用于退出媒体流投屏的操作时,退出模块向无线投屏模块发送推送镜像数据的指示。无线投屏投屏模块经过投屏能力中心、无线视频显示管理器将镜像数据流层层推送给多屏交互框架,多屏交互框架基于其提供的接口(onDisplayAdd)以及第一物理通道将镜像数据流推送给投屏设备(如电子设备101)。
进一步地,当电子设备101接收到电子设备100推送的镜像数据流后,会返回给电子设备100用于指示推流成功的消息。三方应用(如视频应用)在接收到该推流成功的消息后,可以指示无线投屏模块断开第二物理通道,以停止传输媒体数据流。
在该实施例中,在电子设备检测到用户用于退出媒体流投屏的操作时,三方应用(如视频应用)可以通知无线投屏模块推送镜像数据流,并且在推流成功后再断开第二物流通道,停止传输媒体数据流,也就是说,本申请中在镜像数据流覆盖媒体数据流之后再停止传输媒体数据流,可以无间隙地切换,从而避免了黑屏现象。
下面参见图6A-6F,具体涉及本申请一个实施例提供的电子设备100和电子设备101的图形界面。下面结合本申请提供的投屏场景,对图4和图5图6A-6F所示的图形界面进行说明。图6A-图6C以及图6E为电子设备100的图形界面,图6D以及图6F为电子设备101的图形界面。具体地,本申请实施例中,电子设备100可以为手机、平板等电子设备,电子设备101可以为智慧屏等大屏投屏设备。
本申请公开的方案的使用场景中,电子设备100可以基于用户的投屏操作搜索可投屏设备(如电子设备101),进一步地,电子设备100可根据用户的选择向电子设备101进行镜像投屏。具体地,在镜像投屏过程中,电子设备100可通过建立的第一物理通道向电子设备101传输镜像数据流。进一步地,在电子设备进行镜像投屏时,若视频应用正在在播放视频或者检测到用户播放视频的操作时,视频应用可以调用内部接口,将镜像投屏切换到媒体流投屏,并通过建立的第二物理通道,向电子设备101传输媒体数据流。
示例性地,参见图6A所示图形界面,包括显示区105和操作区107,用户在操作区107可以选择视频资源,使得视频资源在显示区105进行显示,示例性地,电子设备100显示区105当前正在播放资源109对应的视频。进一步地,用户可以在图6A中向下滑动,以调取图6B中所示状态栏102。其中状态栏102即为图4中所述电子设备100应用层SystemUI提供的快速设置功能。状态栏102包括“蓝牙”功能、“移动数据”功能以及“投屏”功能所对应的控件,用户可以点击任务栏102中的投屏控件104,指示电子设备100向电子设备101进行投屏。
进一步地,当用户点击投屏控件104时,电子设备100可以响应用户的点击操作,跳转到图6C所示的图形界面。图6C中所示的图形界面中包括状态栏106,状态栏106中示出了智慧屏和平板电脑的名称和图标。电子设备100在用户点击投屏控件104后,业务层中无线投屏模块通过投屏能中心提供的镜像协议搜索并显示智慧屏和平板电脑的名称和图标。用户可以在图6C点击智慧屏(电子设备101)对应的图标,电子设备100可以响应于用户的点击智慧屏图标的操作,通过无线视频显示管理器建立第一物理通道,并且可通过该第一物理通道向智慧屏推送镜像数据流,使得电子设备101对电子设备100推送的镜像数据流进行显示。
进一步地,视频应用可从无线投屏模块中读取到电子设备100当前与智慧屏正连接状态,以及从配置文件中读取到电子设备100正处于镜像投屏状态时,视频应用调用其内部接口,进行媒体流投屏(如DLNA投屏)。示例性地,参见图6D,具体地为电子设备100进行媒体流投屏时电子设备101的图形界面,图6E具体为电子设备100进行媒体流投屏的示例图。进一步地,在电子设备100在进行媒体流投屏时,第一物理通道依然保持连接状态,并且通过第二物理通道向电子设备101传输媒体数据流。
进一步地,在用户退出媒体流投屏后,电子设备100直接通过第一物理通道向电子设备101传输镜像数据流,并在镜像数据流传输成功之后,停止向大屏设备推送媒体数据流。
示例性地,参见图6E,图6E中包括结束投屏控件108,用户点击结束投屏控件108时,电子设备108结束媒体流投屏,并换回镜像投屏。具体地,当用户点击结束控件时108时,视频应用调用内部接口由媒体流投屏切换回镜像投屏。电子设备100可基于图5中的退出模块通知无线投屏模块推送镜像数据流。具体地,电子设备100可通过上述第一物理通道推送镜像数据流。电子设备101会直接由图6D所示图形界面切换为图6E所示图形界面,而不会出现图2所示的黑屏现象。
下面参见图7对本申请公开的投屏方法进行说明,图7具体涉及电子设备100与电子设备101之间的交互流程图。其中,本实施例中电子设备100可为手机,电子设备101为大屏设备,当然,电子设备100和电子设备101还可以为其他具有投屏能力的电子设备,具体本申请不进行限定。
图7中手机中包括视频应用、SystemUI、无线投屏模块、投屏能力中心、无线视频显示管理器、多屏交互框架以及配置文件。手机的投屏状态变化具体如下:进入镜像投屏、由镜像投屏切换到媒体流投屏,再由媒体流投屏切换到镜像投屏,下面结合手机中每个具体模块,对手机与大屏设备之间的投屏状态切换以及数据之间的传输进行说明。
步骤1,SystemUI接收用户点击无线投屏的操作。
具体地,SystemUI提供的快速设置功能(如提供投屏控件104),用户通过点击投屏控件104,指示电子设备100进行投屏。
步骤2,SystemUI显示搜索到的设备列表。
具体地,手机中SystemUI接收到用户的投屏指示后,通知无线投屏模块。无线投屏模块基于投屏能力中心的投屏协议进行设备搜索,SystemUI可显示搜索到的设备列表。示例性地,搜索到设备列表的具体示例可以参照图6C。
步骤3-5,无线投屏模块向无线投屏中心下发投屏指示,无线投屏中心将投屏指示发送给无线视频显示管理器,使得无线视频显示管理器在手机与大屏设备之间建立第一物理通道。
具体地,用户可以点击投屏列表中大屏设备的图标进行投屏设备选择。无线投屏模块可以基于用户对大屏设备的选择操作,向无线投屏中心发送连接指示,投屏中心将该连接指示发送给无线视频显示管理器,无线显示视频管理器基于连接指示中大屏设备信息,在手机与大屏设备之间建立第一物理通道,该第一物理通道基于镜像协议建立,特别是可基于WiFi P2P标准下的镜像协议建立,如Miracast协议。
步骤6,可选地,在第一物理通道建立完成后,无线视频显示管理器可以调用第一接口(onDisplayAdd),向大屏设备传输镜像数据流。
步骤7,多屏交互框架可以将已开启镜像投屏的标识写入到配置文件。
步骤8,在第一物理通道建立完成后,无线投屏模块可以将与手机建立连接的大屏设备的设备信息写入到无线投屏模块的数据库DB。
需要说明的是,步骤7和8的顺序并不限于图中顺序,例如步骤7和步骤8的顺序可以互换。
步骤9-12,无线投屏模块接收已开启镜像投屏的标识写入配置文件的消息。
步骤13-14,手机视频应用检测到用户播放视频的操作时,向DB查询已连接的电子设备(如大屏设备)。
步骤15-16,手机视频应用检测到用户播放视频的操作时,还可向配置文件查询电子设备是否已开启镜像投屏的标识。
需要说明的是,电子设备可以同时进行步骤13和15。或者先执行步骤13,后执行步骤15。或者先执行步骤15,后执行步骤13,对此,本申请不进行限定。
步骤18,视频应用查询手机已连接大屏设备以及配置文件中包括已开启镜像投屏的标识,则视频应用调用内部接口,以使得电子设备100切换到媒体流投屏。
步骤19,视频应用调用内部接口后,视频应用与大屏设备建立第二物理通道,并通过第二物理通道传输媒体数据流。
步骤20-23,可选地,视频应用可通知***应用(无线投屏模块等)停止推送镜像数据流,无线投屏模块可将停止推送镜像数据流的消息通过无线视频显示管理器,无线视频显示管理器可以调用多屏交互框架提供的第二接口(如onDisplayRemove),停止向大屏设备推送镜像数据流.
步骤24-28,大屏设备可以将停流成功的消息返回给多屏交互框架,并层层地返回给无线投屏模块。
在媒体流投屏过程中,通过第二接口停止向大屏设备推送镜像数据流,可避免第一物理通道处于连接状态时传输镜像数据流,导致功耗过大。
步骤29,视频应用检测到用户退出媒体流投屏的操作,调用内部接口,以使得电子设备由媒体流投屏切换到镜像投屏。
用户可以通过多种方式退出媒体流投屏,示例性地,参见图6E,用户可以点击视频应用中的结束控件108来指示退出媒体流投屏。具体地,视频应用检测到用于退出媒体流的操作时,可以调用其内部接口,由媒体流投屏切换到镜像投屏。
步骤30-33,在检测到用户退出媒体流投屏的操作后,视频应用可以向无线投屏模块发送推送镜像数据流的指示,该指示并经由投屏中心发送给无线视频显示管理器,无线视频显示管理器可以调用上文所示的多屏交互框架提供的第一接口,向大屏设备推送镜像数据流。
步骤34-37,大屏设备在成功接收到手机通过第一物理通道推送的镜像数据后,可以使得该镜像数据流覆盖掉手机通过第二物理通道推送的媒体数据流,并且将成功接收镜像数据里的消息返回给多屏交互框架,多屏交互框架可以先后经过无线视频显示管理器、无线投屏中心将该消息发送给无线投屏模块。
步骤38,在无线投屏模块接收到该消息后,多屏交互框架再将该镜像投屏成功的消息返回给视频应用。
需要说明的是,该实施例中,无线投屏模块接收到大屏设备返回的镜像投屏成功的消息,并不返回给视频应用,而是由多屏交互框架来返回,其原因在于:若要实现***应用向视频应用传递上述成功接收镜像数据里的消息,需要给三方应用另开接口并且提供SDK,这样工作量大并且会使得***应用跟三方应用(视频应用)紧耦合,***应用跟三方应用(视频应用)紧耦合不利于业务扩展。而本申请中使用ContentResolver,三方应用(视频应用)注册数据库监听,通过监听结果,判断监听***是否处于镜像投屏状态。
步骤39-40,镜像投屏成功后,三方应用(视频应用)监听到成功的消息,内部调用DLNA断开接口,真正将DLNA断开。
综上,从图7所示的实施例可以看出,第一物理通道在建立后一致保持连接,与第二物理通道分开传输数据流。这样,本申请中在镜像数据流覆盖媒体数据流之后在停止传输媒体数据流,可以无间隙地切换数据流,从而避免了黑屏现象。
在本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种投屏方法,其特征在于,应用于第一电子设备,所述方法包括:
检测到用于投屏的第一操作,响应于所述第一操作,在所述第一电子设备与第二电子设备之间建立第一通道;
在所述第一操作之后,检测到用于播放视频的第二操作,响应于所述第二操作,在所述第一电子设备与所述第二电子设备之间建立第二通道,并通过所述第二通道,向所述第二电子设备发送第二数据流;在建立所述第二通道、向所述第二电子设备发送所述第二数据流期间,保持所述第一通道的连接状态;所述第二数据流包括媒体数据流;
在所述第二操作之后,检测到用于停止向所述第二电子设备发送所述第二数据流的第三操作,响应于所述第三操作,通过所述第一通道,向所述第二电子设备发送第一数据流;所述第一数据流包括镜像数据流;
从所述第二电子设备接收第一消息,所述第一消息用于指示所述第二电子设备成功接收所述第一数据流;
基于所述第一消息,断开所述第二通道,以停止向所述第二电子设备发送所述第二数据流;在响应所述第三操作之后且断开所述第二通道之前,保持使用所述第二通道发送所述第二数据流。
2.根据权利要求1所述的方法,其特征在于,所述建立第一通道之后,所述检测到用于播放视频的第二操作之前,还包括:
通过所述第一通道,向所述第二电子设备发送第一数据流。
3.根据权利要求2所述的方法,其特征在于,所述检测到用于播放视频的第二操作之后,所述检测到用于停止向所述第二电子设备发送所述第二数据流的第三操作之前,还包括:
停止向所述第二电子设备发送第一数据流。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述从所述第二电子设备接收第一消息,包括:
从多屏交互框架接收所述第一消息,所述多屏交互框架用于从所述第二电子设备接收所述第一消息;所述多屏交互框架位于所述第一电子设备中,用于提供传输所述镜像数据流和停止传输所述镜像数据流的接口。
5.根据权利要求1至3任一项所述的投屏方法,其特征在于,在所述第一电子设备与所述第二电子设备之间建立第一通道,包括:
基于第一投屏协议,在所述第一电子设备与所述第二电子设备之间建立第一通道。
6.根据权利要求5所述的投屏方法,其特征在于,所述基于第一投屏协议,在所述第一电子设备与所述第二电子设备之间建立第一通道,包括:
基于第一投屏协议,进行设备搜索,并显示搜索到的设备列表;
检测到用于在所述设备列表中选择第二电子设备的第四操作,在所述第一电子设备与所述第二电子设备之间建立第一通道。
7.根据权利要求1至3任一项所述的投屏方法,其特征在于,所述在所述第一电子设备与所述第二电子设备之间建立第二通道,包括:
基于第二投屏协议,在所述第一电子设备与所述第二电子设备之间建立第二通道。
8.根据权利要求7所述的投屏方法,其特征在于,所述通过所述第一通道向所述第二电子设备发送第一数据流之后,所述检测到用于播放视频的第二操作之前,还包括:
将所述第二电子设备的设备信息写入到数据库,以及将第一标识写入到配置文件,所述第一标识用于指示所述第一电子设备正在向所述第二电子设备发送第一数据流。
9.根据权利要求8所述的投屏方法,其特征在于,所述基于第二投屏协议,在所述第一电子设备与所述第二电子设备之间建立第二通道,包括:
从数据库获取所述第二电子设备的设备信息,以及从配置文件获取所述第一标识;
基于所述第二电子设备的设备信息、所述第一标识以及所述第二投屏协议,在所述第一电子设备与所述第二电子设备之间建立第二通道。
10.根据权利要求2所述的投屏方法,其特征在于,所述通过所述第一通道,向所述第二电子设备发送第一数据流,包括:
调用第一接口,通过所述第一通道,向所述第二电子设备发送第一数据流,所述第一接口用于开启所述第一数据流传输。
11.根据权利要求3所述的投屏方法,其特征在于,所述停止向所述第二电子设备发送第一数据流,包括:
调用第二接口,停止向所述第二电子设备发送第一数据流,所述第二接口用于停止所述第一数据流的传输。
12.根据权利要求1至3任一项所述的投屏方法,其特征在于,所述断开所述第二通道之后,所述第一电子设备和所述第二电子设备不处于同一局域网。
13.根据权利要求5所述的投屏方法,其特征在于,所述第一投屏协议包括Miracast协议。
14.根据权利要求7所述的投屏方法,其特征在于,所述第二投屏协议包括DLNA协议。
15.一种电子设备,其特征在于,包括处理器和存储设备,所述存储设备存有程序指令,所述程序指令由所述处理器运行时,使得所述电子设备执行如权利要求1至14任一项所述的投屏方法。
16.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在所述电子设备上运行时,使得所述电子设备执行如权利要求1至14任一项所述的投屏方法。
CN202111037600.1A 2021-09-06 2021-09-06 一种投屏方法、电子设备以及存储介质 Active CN114995732B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111037600.1A CN114995732B (zh) 2021-09-06 2021-09-06 一种投屏方法、电子设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111037600.1A CN114995732B (zh) 2021-09-06 2021-09-06 一种投屏方法、电子设备以及存储介质

Publications (2)

Publication Number Publication Date
CN114995732A CN114995732A (zh) 2022-09-02
CN114995732B true CN114995732B (zh) 2024-04-23

Family

ID=83018506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111037600.1A Active CN114995732B (zh) 2021-09-06 2021-09-06 一种投屏方法、电子设备以及存储介质

Country Status (1)

Country Link
CN (1) CN114995732B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117135396B (zh) * 2023-02-14 2024-07-19 荣耀终端有限公司 投屏方法及其相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123298A (zh) * 2004-05-03 2011-07-13 微软公司 用于流传送媒体的快速启动的方法和***
CN103618941A (zh) * 2013-12-13 2014-03-05 深圳市特纳电子有限公司 一种基于多屏互动的交互式***及方法
CN108901024A (zh) * 2018-06-25 2018-11-27 北京小鱼在家科技有限公司 控制投屏接收设备连网及投屏接收设备连网方法、设备
CN112350981A (zh) * 2019-08-09 2021-02-09 华为技术有限公司 一种切换通信协议的方法、装置和***
CN113014972A (zh) * 2021-01-28 2021-06-22 维沃移动通信有限公司 投屏方法、装置和***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5383276B2 (ja) * 2009-02-25 2014-01-08 京セラ株式会社 携帯電子機器
US20160188279A1 (en) * 2014-12-27 2016-06-30 Intel Corporation Mode-switch protocol and mechanism for hybrid wireless display system with screencasting and native graphics throwing
CN106101836B (zh) * 2016-07-07 2019-04-16 深圳创维-Rgb电子有限公司 智能电视的播放方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123298A (zh) * 2004-05-03 2011-07-13 微软公司 用于流传送媒体的快速启动的方法和***
CN103618941A (zh) * 2013-12-13 2014-03-05 深圳市特纳电子有限公司 一种基于多屏互动的交互式***及方法
CN108901024A (zh) * 2018-06-25 2018-11-27 北京小鱼在家科技有限公司 控制投屏接收设备连网及投屏接收设备连网方法、设备
CN112350981A (zh) * 2019-08-09 2021-02-09 华为技术有限公司 一种切换通信协议的方法、装置和***
CN113014972A (zh) * 2021-01-28 2021-06-22 维沃移动通信有限公司 投屏方法、装置和***

Also Published As

Publication number Publication date
CN114995732A (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
WO2021004381A1 (zh) 一种投屏显示方法及电子设备
CN112394895B (zh) 画面跨设备显示方法与装置、电子设备
WO2023061093A1 (zh) WiFi P2P连接方法、电子设备、程序产品和介质
CN112350981B (zh) 一种切换通信协议的方法、装置和***
WO2022121775A1 (zh) 一种投屏方法及设备
WO2017202348A1 (zh) 一种视频播放方法、装置及计算机存储介质
WO2022089271A1 (zh) 无线投屏方法、移动设备及计算机可读存储介质
CN112367543B (zh) 显示设备、移动终端、投屏方法及投屏***
EP3276973B1 (en) Content projection method and mobile terminal
CN105573609A (zh) 内容分享方法与装置
US20100110995A1 (en) Method and system for performing tasks on collaborating wireless devices
CN112398855A (zh) 应用内容跨设备流转方法与装置、电子设备
CN113014972B (zh) 投屏方法、装置和***
CN104426588A (zh) 用于移动终端协同拍摄的方法和装置
WO2014190655A1 (zh) 应用同步方法、应用服务器及终端
CN107040498B (zh) 同屏方法及终端
CN114995732B (zh) 一种投屏方法、电子设备以及存储介质
CN114173183B (zh) 投屏方法和电子设备
CN115695928B (zh) 一种投屏方法、装置、电子设备及存储介质
CN116056053B (zh) 投屏方法、电子设备、***及计算机可读存储介质
WO2023035834A1 (zh) 一种Wi-Fi直连通信方法及装置
US9253743B2 (en) Systems and methods for reduced latency and improved beacon reception in devices capable of providing multiple wireless interfaces via a single radio
KR20130078300A (ko) 단말로부터 요청된 가상 어플리케이션을 실행하는 서버 및 방법, 그리고 단말
KR101425544B1 (ko) 듀얼 프로세서형 이동통신 단말기 및 그의 usb 접속처리 방법
CN114095764B (zh) 投屏方法和电子设备

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