无线投屏方法、移动设备及计算机可读存储介质与流程

文档序号:29932739发布日期:2022-05-07 13:05阅读:128来源:国知局
无线投屏方法、移动设备及计算机可读存储介质与流程

1.本技术涉及投屏技术领域,尤其涉及无线投屏方法、移动设备及计算机可读存储介质。


背景技术:

2.无线投屏使得诸如手机、平板等的移动设备可将本地或网络上的多媒体内容投放到pc、智慧屏等具有音频、视频等播放能力的电子设备上,在电子设备上播放上述多媒体数据。典型的无线投屏包括镜像投屏(如miracast)、在线投屏(如dlna)等。
3.镜像投屏中,电子设备可以不需接入互联网或局域网,但整个过程中移动设备和电子设备均要实时地处理投放数据,比如移动设备要实时地进行投放数据的编码、发送等,电子设备要实时地进行投放数据的接收、解码等;如此导致参与设备较多,投放数据的时延较大,投屏效果易受移动设备的影响。在线投屏中,移动设备仅参与初始的网络地址传输,并不参与后续的过程,投放数据的时延较小,投屏效果不易受移动设备的影响,投屏效果较好,但需要电子设备接入互联网或局域网。


技术实现要素:

4.发明人经过长期地研究发现,不同的应用侧重不同的要求,在投屏中却都采用同一投屏方式,这样带给用户的体验不好。比如,游戏应用侧重实时性,对低时延要求较高,音画同步要求相对较低;而视频应用(比如腾讯视频),侧重音画同步,实时性要求相对较低,即低时延要求相对较低。而若在投屏中都采用同一投屏方式,在用户切换不同的应用后,会使得同一投屏方式适合切换前的应用,但不适合切换后的应用。比如,用户在通过镜像投屏将手机画面投屏至智能电视(也称为大屏)上后,打开游戏应用,用手机和大屏配合打游戏,此时时延较低,用户体验较好;之后,用户将游戏应用切换至视频应用,此时会出现音画不同步的现象,用户体验不好。
5.为了解决上述技术问题,兼顾镜像投屏和在线投屏的特点,以及不同应用的要求,本技术提供一种无线投屏方法、移动设备及计算机可读存储介质,自动识别当前应用的类别,自动给出建议,并自动提示用户是否更改,甚至自动更改投屏方式,使得更改后的投屏方式最适合当前应用的投屏,从而提升用户体验。比如,用户在通过镜像投屏将手机画面投屏至大屏上后,打开游戏应用,用手机和大屏配合打游戏,此时自动识别场景,并判断出镜像投屏为最合适游戏应用的投屏方式,保持不变;之后,用户将游戏应用切换至视频应用(比如腾讯视频),此时自动识别场景,并判断出在线投屏是最适合视频应用的投屏方式,自动提示用户更改,甚至将当前的镜像投屏方式自动更改为在线投屏方式。这样,兼顾不同应用的要求,以及镜像投屏和在线投屏的特点,用户的体验较高。
6.第一方面,本技术提供一种移动设备,移动设备在前台运行第一应用,移动设备以第一无线投屏方式向电子设备无线投屏,移动设备包括:处理器;存储器;以及计算机程序,其中计算机程序存储在存储器上,当计算机程序被处理器执行时,使得移动设备执行以下
步骤:在检测到第一应用属于第一类应用后,移动设备自动输出第一提示信息,第一提示信息用于提示将第一无线投屏方式切换为第二无线投屏方式;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备无线投屏;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向移动设备检测到的支持第二无线投屏方式的一个或多个电子设备无线投屏。这样,移动设备可以自动识别前台正在运行的应用的类别,并自动提示用户是否更改,或者自动更改投屏方式,使得更改后的投屏方式最适合当前应用的投屏,从而兼顾不同应用的要求,以及镜像投屏和在线投屏的特点,提升用户体验。在该方案中,具体的执行主体为所述移动设备上当前运行的操作系统,或者所述移动设备上默认的系统级应用(比如,移动设备开机后即启动的系统级应用)。
7.示意性的举例说明第一方面的第三个方案。比如,移动设备的周围有电子设备1、电子设备2和电子设备3;移动设备运行第一应用,且移动设备以第一无线投屏方式向电子设备1无线投屏;在检测到第一应用属于第一类应用后,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,移动设备断开与电子设备1的无线投屏,以第二无线投屏方式,向电子设备2、电子设备3中的至少一个无线投屏。可替换地,在检测到第一应用属于第一类应用后,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,移动设备以第二无线投屏方式,向电子设备1、电子设备2和电子设备3中的至少一个无线投屏。
8.根据第一方面,在移动设备自动输出第一提示信息之后,移动设备还执行以下步骤:检测到第一用户输入,第一用户输入用于将第一无线投屏方式切换为第二无线投屏方式;响应于第一用户输入,移动设备自动输出一个或多个电子设备的标识,电子设备为移动设备检测到的支持第二无线投屏方式的电子设备;检测到第二用户输入,第二用户输入用于从电子设备的标识中选择一个电子设备的标识;响应于第二用户输入,移动设备将第一无线投屏方式切换为第二无线投屏方式,并以第二无线投屏方式向所选择的电子设备投屏。这样,在移动设备输出提示信息后,给用户提供了自行选择投屏方式是否切换,并选择切换后的投屏方式和接受投屏的电子设备的机会。用户可根据提示,进行选择。
9.根据第一方面,或者以上第一方面的任意一种实现方式,移动设备还执行以下步骤:在检测到属于第二类应用的第二应用启动后,或者,在检测到属于第二类应用的第二应用被切换为前台运行的应用后,移动设备自动输出第二提示信息,第二提示信息用于提示将第二无线投屏方式切换为第一无线投屏方式;或者,移动设备自动将第二无线投屏方式切换为第一无线投屏方式,以第一无线投屏方式向电子设备无线投屏。这样,在移动设备的前台正在运行的应用类别再次变化后,移动设备自动识别,并自动提示用户是否更改,或者自动更改投屏方式,使得更改后的投屏方式最适合当前应用的投屏,提升用户体验。
10.根据第一方面,或者以上第一方面的任意一种实现方式,移动设备还执行以下步骤:在检测到第一应用为第三类应用后,移动设备的第一应用自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备无线投屏;或者,移动设备的第一应用自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向移动设备检测到的支持第二无线投屏方式的一个或多个电子设备无线投屏。这样,在移动设备的前台正在运行的应用类别变化后,移动设备自动识别,并自动提示用户是否更改,或者自动更改投屏方式,使得更改后的投屏方式最适合当前应用的投屏,提升用户体验。
11.根据第一方面,或者以上第一方面的任意一种实现方式,移动设备还执行以下步骤:在检测到属于第一类应用的第一应用被切换为前台运行的应用后,或者,在检测到属于第一类应用的第三应用启动后,或者,在检测到属于第一类应用的第三应用被切换为前台运行的应用后,移动设备自动输出第三提示信息,第三提示信息用于提示将第一无线投屏方式切换为第二无线投屏方式;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备无线投屏。这样,在移动设备的前台正在运行的应用类别变化回去后,移动设备自动识别,并自动提示用户是否更改回去,或者自动将投屏方式更改回去,使得更改后的投屏方式最适合当前应用的投屏,提升用户体验。
12.根据第一方面,或者以上第一方面的任意一种实现方式,在移动设备自动输出第一提示信息之后,移动设备还执行以下步骤:检测到第一用户输入,第一用户输入用于将第一无线投屏方式切换为第二无线投屏方式;响应于第一用户输入,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备无线投屏;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向移动设备检测到的支持第二无线投屏方式的一个或多个电子设备无线投屏。这样,就提供了另外一种更改投屏方式的方案,也能提升用户体验。
13.根据第一方面,或者以上第一方面的任意一种实现方式,在检测到第一应用属于第一类应用后,移动设备还执行以下步骤:在检测到移动设备通过第一应用播放网络视频后,移动设备自动输出第一提示信息,第一提示信息用于提示将第一无线投屏方式切换为第二无线投屏方式;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备无线投屏;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向移动设备检测到的支持第二无线投屏方式的一个或多个电子设备无线投屏。这样,移动设备也自动提示用户是否更改,或者自动更改投屏方式,使得更改后的投屏方式最适合当前应用的投屏,从而兼顾不同应用的要求,以及镜像投屏和在线投屏的特点,提升用户体验。
14.根据第一方面,或者以上第一方面的任意一种实现方式,第一类应用为非定制类视频应用,第二类应用为游戏应用,第三类应用为定制类视频应用;第一无线投屏方式为镜像投屏方式,第二无线投屏方式为在线投屏方式;所述一个或多个电子设备包括所述电子设备,或者,所述一个或多个电子设备不包括所述电子设备;第一用户输入和第二用户输入的输入形式包括触摸输入和语音输入。这样,无需对提供视频服务的第一应用做改进,即可保证移动设备在运行第一应用时提示用户更改,甚至将当前的镜像投屏方式自动更改为在线投屏方式,提高了投屏效率,并且能够保证电子设备播放网络视频的画质,从而保证用户得到最佳的投屏体验,还可以降低成本。另外,移动设备更换投屏方式后,可以继续向原来的电子设备进行投屏,也可以更换其他电子设备进行投屏,满足用户的不同需求。
15.根据第一方面,或者以上第一方面的任意一种实现方式,镜像投屏的方式可以为wi-fi联盟制定的miracast,在线投屏的方式可以为dlna。
16.根据第一方面,或者以上第一方面的任意一种实现方式,移动设备存储有白名单,白名单用于识别哪些应用属于第一类应用,白名单包括第一类应用的一个或多个应用。该白名单为预先设置的,且能够更新。
17.根据第一方面,或者以上第一方面的任意一种实现方式,第一提示信息包括但不
限于:在显示屏上显示的界面元素、播放的音频、指示灯闪烁、马达震动等。
18.第二方面,提供一种移动设备。移动设备以第一无线投屏方式向电子设备无线投屏,移动设备包括:处理器;存储器;以及计算机程序,其中计算机程序存储在存储器上,当计算机程序被处理器执行时,使得移动设备执行以下步骤:在检测到第一应用启动,以及第一应用属于第一类应用后,移动设备自动输出第一提示信息,第一提示信息用于提示将第一无线投屏方式切换为第二无线投屏方式;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备无线投屏。
19.第三方面,提供一种无线投屏方法,无线投屏方法应用于移动设备,移动设备包括处理器和存储器,移动设备在前台运行第一应用,移动设备以第一无线投屏方式向电子设备无线投屏。该方法包括:在检测到第一应用属于第一类应用后,移动设备自动输出第一提示信息,第一提示信息用于提示将第一无线投屏方式切换为第二无线投屏方式;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备无线投屏;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向移动设备检测到的支持第二无线投屏方式的一个或多个电子设备无线投屏。
20.根据第三方面,在移动设备自动输出第一提示信息之后,无线投屏方法还包括:检测到第一用户输入,第一用户输入用于将第一无线投屏方式切换为第二无线投屏方式;响应于第一用户输入,移动设备自动输出一个或多个电子设备的标识,电子设备为移动设备检测到的支持第二无线投屏方式的电子设备;检测到第二用户输入,第二用户输入用于从电子设备的标识中选择一个电子设备的标识;响应于第二用户输入,移动设备将第一无线投屏方式切换为第二无线投屏方式,并以第二无线投屏方式向所选择的电子设备投屏。这样,在移动设备输出提示信息后,给用户提供了自行选择投屏方式是否切换,并选择切换后的投屏方式和接受投屏的电子设备的机会。用户可根据提示,进行选择。
21.根据第三方面,或者以上第三方面的任意一种实现方式,无线投屏方法还包括:在检测到属于第二类应用的第二应用启动后,或者,在检测到属于第二类应用的第二应用被切换为前台运行的应用后,移动设备自动输出第二提示信息,第二提示信息用于提示将第二无线投屏方式切换为第一无线投屏方式;或者,移动设备自动将第二无线投屏方式切换为第一无线投屏方式,以第一无线投屏方式向电子设备无线投屏。这样,在移动设备的前台正在运行的应用类别再次变化后,移动设备自动识别,并自动提示用户是否更改,或者自动更改投屏方式,使得更改后的投屏方式最适合当前应用的投屏,提升用户体验。
22.根据第三方面,或者以上第三方面的任意一种实现方式,无线投屏方法还包括:在检测到第一应用为第三类应用后,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备无线投屏;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向移动设备检测到的支持第二无线投屏方式的一个或多个电子设备无线投屏。这样,在移动设备的前台正在运行的应用类别变化后,移动设备自动识别,并自动提示用户是否更改,或者自动更改投屏方式,使得更改后的投屏方式最适合当前应用的投屏,提升用户体验。
23.根据第三方面,或者以上第三方面的任意一种实现方式,无线投屏方法还包括:在检测到属于第一类应用的第一应用被切换为前台运行的应用后,或者,在检测到属于第一类应用的第三应用启动后,或者,在检测到属于第一类应用的第三应用被切换为前台运行
的应用后,移动设备自动输出第三提示信息,第三提示信息用于提示将第一无线投屏方式切换为第二无线投屏方式;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备无线投屏。这样,在移动设备的前台正在运行的应用类别变化回去后,移动设备自动识别,并自动提示用户是否更改回去,或者自动将投屏方式更改回去,使得更改后的投屏方式最适合当前应用的投屏,提升用户体验。
24.根据第三方面,或者以上第三方面的任意一种实现方式,在移动设备自动输出第一提示信息之后,无线投屏方法还包括:检测到第一用户输入,第一用户输入用于将第一无线投屏方式切换为第二无线投屏方式;响应于第一用户输入,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备无线投屏;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向移动设备检测到的支持第二无线投屏方式的一个或多个电子设备无线投屏。这样,就提供了另外一种更改投屏方式的方案,也能提升用户体验。
25.根据第三方面,或者以上第三方面的任意一种实现方式,在检测到第一应用属于第一类应用后,无线投屏方法还包括:在检测到移动设备通过第一应用播放网络视频后,移动设备自动输出第一提示信息,第一提示信息用于提示将第一无线投屏方式切换为第二无线投屏方式;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备无线投屏;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向移动设备检测到的支持第二无线投屏方式的一个或多个电子设备无线投屏。这样,移动设备也自动提示用户是否更改,或者自动更改投屏方式,使得更改后的投屏方式最适合当前应用的投屏,从而兼顾不同应用的要求,以及镜像投屏和在线投屏的特点,提升用户体验。
26.根据第三方面,或者以上第三方面的任意一种实现方式,第一类应用为非定制类视频应用,第二类应用为游戏应用,第三类应用为定制类视频应用;第一无线投屏方式为镜像投屏方式,第二无线投屏方式为在线投屏方式;所述一个或多个电子设备包括所述电子设备,或者,所述一个或多个电子设备不包括所述电子设备;第一用户输入和第二用户输入的输入形式包括触摸输入和语音输入。这样,无需对提供视频服务的第一应用做改进,即可保证移动设备在运行第一应用时提示用户更改,甚至将当前的镜像投屏方式自动更改为在线投屏方式,提高了投屏效率,并且能够保证电子设备播放网络视频的画质,从而保证用户得到最佳的投屏体验,还可以降低成本。另外,移动设备更换投屏方式后,可以继续向原来的电子设备进行投屏,也可以更换其他电子设备进行投屏,满足用户的不同需求。
27.根据第三方面,或者以上第三方面的任意一种实现方式,镜像投屏的方式可以为wi-fi联盟制定的miracast,在线投屏的方式可以为dlna。
28.根据第三方面,或者以上第三方面的任意一种实现方式,移动设备存储有白名单,白名单用于识别哪些应用属于第一类应用,白名单包括属于第一类应用的一个或多个应用。该白名单为预先设置的,且能够更新。白名单可为用户自行添加、删减等设置。
29.根据第三方面,或者以上第三方面的任意一种实现方式,第一提示信息包括但不限于:在显示屏上显示的界面元素、播放的音频、指示灯闪烁、马达震动等。
30.第三方面及第三方面的任意一种实现方式分别与第一方面及第一方面的任意一种实现方式相对应。第三方面以及第三方面中任意一种实现方式所对应的技术效果可参见
上述第一方面以及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
31.第四方面,提供一种无线投屏方法。无线投屏方法应用于移动设备,移动设备包括处理器和存储器,移动设备以第一无线投屏方式向电子设备无线投屏,该方法包括:在检测到第一应用启动,以及所述第一应用属于第一类应用后,移动设备自动输出第一提示信息,第一提示信息用于提示将第一无线投屏方式切换为第二无线投屏方式;或者,移动设备自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备无线投屏。
32.第五方面,本技术提供一种无线投屏方法。无线投屏方法应用于移动设备,移动设备包括处理器和存储器,移动设备以第一无线投屏方式向电子设备无线投屏;无线投屏方法包括:移动设备在前台运行第一应用,移动设备识别在前台正在运行的应用所对应的场景,并将该场景通知给电子设备,以使得电子设备使用与该场景对应的播放策略来播放该多媒体内容。
33.第六方面,本技术实施例提供了一种投屏方法,应用于电子设备。该方法可包括:该电子设备以第一无线投屏方式接收移动设备发送的多媒体内容;接收到移动设备发送的该移动设备识别到的场景;使用和该场景对应的播放策略播放该多媒体内容。
34.第七方面,本技术提供一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在移动设备上运行时,使得所述移动设备执行第三方面、第四方面、第五方面以及第三方面中任意一种实现方式的方法。
35.第八方面,本技术提供一种计算机程序产品,当计算机程序产品在移动设备上运行时,使得移动设备执行第三方面、第四方面、第五方面以及第三方面的任意一种实现方式的方法。
36.本技术提供的技术方案,是从系统侧进行改进,无需第三方应用做任何适配。另外,本技术提供的技术方案,根据前台正在运行的应用的类型,甚至还根据前台正在运行的应用是否播放网络视频等,来自动选择最优投屏方式,或者,自动输出提示信息以让用户能够自主选择,使得移动设备投屏的效果得到最好,提升用户的投屏体验,还降低成本,提高投屏效率。
附图说明
37.图1a为提供的移动设备和电子设备基于镜像投屏共享网络视频的原理示意图;
38.图1b为提供的移动设备和电子设备基于在线投屏共享网络视频的原理示意图;
39.图2为本技术实施例提供的无线投屏方法的场景示意图;
40.图3a为本技术实施例提供的移动设备的硬件结构示意图;
41.图3b为本技术实施例提供的移动设备的软件结构示意图;
42.图4为本技术实施例提供的电子设备的硬件结构示意图;
43.图5a-图5c为本技术实施例提供的一种无线投屏方法的流程示意图;
44.图6a-图6c、图7a-图7c、图8a-图8h为本技术实施例提供的一种无线投屏方法中移动设备的用户界面示意图;
45.图9为本技术实施例提供的一种无线投屏方法中电子设备的用户界面示意图;
46.图10a-图10b为本技术实施例提供的一种无线投屏方法中移动设备的内部模块交
互示意图;
47.图11为本技术实施例提供的一种无线投屏方法中移动设备的内部模块交互示意图;
48.图12为本技术实施例提供的另一种无线投屏方法的流程示意图;
49.图13a-图13b为本技术实施例提供的另一种无线投屏方法中移动设备和电子设备的内部模块交互示意图。
具体实施方式
50.下面将结合附图对本技术实施例中的技术方案进行清楚、详尽地描述。其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思。例如,a/b可以表示a或b。文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
51.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
52.在本技术实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
53.本技术以下实施例中的术语“用户界面(user interface,ui)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markup language,xml)等特定计算机语言编写的源代码,界面源代码在移动设备或电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在移动设备或电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。
54.在本技术实施例中,通过无线投屏,可以将移动设备显示的内容(比如播放的多媒体内容)在电子设备上显示(比如继续播放多媒体内容),之后移动设备可以继续显示该内容,也可以不再显示该内容。无线投屏也可以采用其他词语替换,比如多屏互动等;本技术实施例不作限制。其中,移动设备也可以被称为输出端或源端(source端),电子设备也可以被称为输入端或接收端(sink端)。
55.无线投屏之后,电子设备显示或播放的多媒体内容可包括以下任意一项或多项:视频、文字、图片、照片、音频或表格等。例如,多媒体内容可以是电影、电视剧、短视频、音乐剧等。
56.多媒体内容可以是网络多媒体内容,也可以是本地多媒体内容,还可以是网络多媒体内容和本地多媒体内容的组合。其中,网络多媒体内容是指移动设备从网络中获取到的多媒体内容。例如移动设备运行视频应用时从提供音视频服务的服务器处获取到的视
频。本地多媒体内容是指移动设备本地存储或生成的多媒体内容。例如,移动设备本地存储的图片或表格等。
57.首先,介绍本技术实施例涉及的两种投屏方式:镜像投屏(mirroring technology)和在线投屏。
58.1、镜像投屏:移动设备(如智能手机、平板电脑等)与电子设备(如智能电视、智能屏等)建立通信连接,该移动设备从网络侧或本地侧获取多媒体内容,然后将所述多媒体内容经过编码后,以点对点传输等无线传输的方式传输给电子设备;电子设备经过解码后进行输出(如显示、播放等)。
59.其中,所述多媒体内容可以是网络多媒体内容、本地多媒体内容或两者的组合。所述移动设备和电子设备之间的点对点传输方式可包括但不限于:无线保真直连(wireless fidelity direct,wi-fi direct)(又称为无线保真点对点(wireless fidelity peer-to-peer,wi-fi p2p))通信连接、蓝牙通信连接、近场通信(near field communication,nfc)连接等。
60.镜像投屏可包括wi-fi联盟制定的miracast、各公司制定的私有镜像投屏解决方案例如华为公司的cast+、苹果公司的airplay等。其中,miracast建立在无线保真wi-fi联盟所发展的基础技术标准以及实时流传输协议(real time streaming protocol,rtsp)之上。wi-fi基础技术标准可包括无线传输技术802.11n、802.11ac、wi-fi direct/wi-fi p2p、通道直接链路建立(tunneled direct link setup,tdls)、管理安全的wpa2(wi-fiprotected access 2)加密、提供服务质量及流量管理的wmm(wi-fimultimedia)技术等。
61.下面结合图1a,对镜像投屏进一步阐述说明。图1a示例性示出了移动设备和电子设备基于镜像投屏共享网络视频的场景。如图1a所示,移动设备与电子设备建立通信连接(如wi-fip2p连接)。同时,移动设备接入路由设备,并通过路由设备,从服务器处获取到流媒体。其中,移动设备接入路由设备,具体可为移动设备接入路由设备提供的接入点(access point,ap)。之后,移动设备在本身播放流媒体的过程中通过录屏、录音等方式获取到录屏内容以及录音内容,然后实时地将所述录屏内容和所述录音内容,分别经编码后,通过诸如wi-fi p2p连接发送给电子设备;电子设备接收到后,实时播放、显示。
62.从图1a可以看出,基于镜像投屏共享网络视频时,电子设备接收到的网络视频经过了多次的网络传递以及编解码转换,过程繁琐。并且,电子设备播放网络视频的画质(例如分辨率)受到移动设备的限制,播放效果可能较差,影响用户体验。不过,镜像投屏的音画同步效果较好。
63.在一些实施方式中,镜像投屏也可以被称为诸如全分享投屏、无线显示等。
64.2、在线投屏:移动设备和电子设备均接入互联网或局域网,移动设备仅将欲投屏的多媒体资源对应的网络地址,比如统一资源定位符(uniform resource locator,url),发送给电子设备;电子设备根据该网络地址,从互联网侧或局域网侧获取对应的多媒体内容,从而进行输出(如播放、显示)。
65.其中,多媒体内容可以是网络多媒体内容、本地多媒体内容或两者的组合。这里,电子设备可以和移动设备接入同一个无线wi-fi接入点ap组建的局域网,也可以和移动设备连接不同的网络,比如接入不同的ap组建的不同的局域网,该不同的局域网通过互联网互联。
66.在线投屏可包括dlna,以及各公司制定的私有在线投屏解决方案。比如,谷歌公司的google cast、苹果公司的airplay等。其中,dlna建立在通用即插即用(universal plug and play,upnp)协议之上。
67.下面结合图1b,对在线投屏进一步阐述说明。图1b示例性示出了移动设备和电子设备基于在线投屏共享网络视频的场景。如图1b所示,移动设备和电子设备共同接入由wi-fi ap组建的局域网中,移动设备将播放的网络视频的网址通过ap发送给电子设备,然后电子设备根据该网址获取多媒体内容。该网址为提供网络音视频服务的服务器的地址。基于在线投屏共享网络视频时,电子设备可以直接从网络侧获取多媒体内容,无需对网络视频进行多次网络传递和编解码转换,过程简便,电子设备播放网络视频时可以有较好的播放效果,用户体验较佳。不过,相对于镜像投屏而言,在线投屏的音画同步相对较差。
68.在一些实施方式中,在线投屏也可以被称为网络投屏等。
69.在本技术实施例中,镜像投屏方式可以被称为第一无线投屏方式,在线投屏方式可以被称为第二无线投屏方式。
70.图2为本技术实施例提供的无线投屏方法的场景示意图。如图2所示,移动设备100可以通过镜像投屏向电子设备200投放多媒体内容,也可以通过在线投屏向电子设备200投放多媒体内容。
71.在移动设备100通过镜像投屏向电子设备200投放多媒体内容时,移动设备100与电子设备200之间可以建立wi-fip2p连接;也可以建立其他的短距离通信直接连接,比如蓝牙、zigbee等。在镜像投屏中,移动设备100投放的多媒体内容可以来自自身;也可以来自服务器400,此时移动设备100经wi-fi接入点300连接服务器400。
72.在移动设备100通过在线投屏向电子设备200投放多媒体内容时,移动设备100和电子设备200都可以接入wi-fi接入点300,从而处于同一个局域网内。在其他一些实施例中,移动设备100和电子设备200也可以接入不同的网络,本技术实施例对此不作限制。需要强调的是,在没有特殊说明的情况下,本技术以下实施例中移动设备100和电子设备200均通过wi-fi接入点300接入同一个局域网。在线投屏中,移动设备100投放的多媒体内容来自服务器400。
73.服务器400提供网络音视频服务。示例性地,服务器400可以为存储有多种多样的多媒体内容的服务器。比如,服务器400可以为提供音视频服务的腾讯视频服务器。服务器400的数量可以为一个,也可以为多个。
74.在一些实施例中,移动设备100在通过镜像投屏与电子设备200共享网络视频的过程中,可以自动或者在用户的触发下,将镜像投屏切换为在线投屏,通过在线投屏继续与电子设备200共享该网络视频。示例性地,该网络视频可以是移动设备100运行视频应用程序(application,app)时从服务器400处获取到的。
75.在一些实施例中,移动设备100将镜像投屏切换为在线投屏后,在一些情况下,移动设备100还可以将在线投屏切换回镜像投屏。
76.本技术实施例的移动设备包括但不限于智能手机、平板电脑、个人数字助理(personal digital assistant,pda)、具备无线通讯功能的可穿戴电子设备(如智能手表、智能眼镜)等。移动设备的示例性实施例包括但不限于搭载linux或者其它操作系统的便携式电子设备。上
述移动设备也可为其它便携式电子设备,诸如膝上型计算机(laptop)等。还应当理解的是,在其他一些实施例中,上述移动设备也可以不是便携式电子设备,而是台式计算机。
77.示例性地,图3a示出了本技术实施例提供的移动设备100的硬件结构。如图3a所示,移动设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
78.可以理解的是,本技术实施例示意的结构并不构成对移动设备100的具体限定。在本技术另一些实施例中,移动设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
79.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
80.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
81.移动设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
82.天线1和天线2用于发射和接收电磁波信号。移动设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
83.移动通信模块150可以提供应用在移动设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
84.无线通信模块160可以提供应用在移动设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙
(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),nfc,红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
85.在一些实施例中,移动设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得移动设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
86.无线通信模块160可用于和电子设备200建立通信连接(例如wi-fi直连通信连接、蓝牙通信连接等),并基于该通信连接将移动设备100通过录屏、录音采集到的数据编码后发送给电子设备200。即,无线通信模块160可支持移动设备100和电子设备200之间基于镜像投屏(如miracast)来共享多媒体内容。
87.无线通信模块160还可以接入wi-fi接入点300组建的局域网或其他网络,并可以将当前播放的多媒体内容的网址通过网络发送给电子设备200。之后,电子设备200可以通过该网址直接获取多媒体内容。即,无线通信模块160可支持移动设备100和电子设备200之间基于在线投屏(如dlna)来共享多媒体内容。
88.在本技术的一些实施例中,处理器110用于在移动设备100基于镜像投屏和电子设备200共享多媒体内容时,识别当前场景,并通过无线通信模块160将该场景通知给电子设备200,以使得电子设备200根据该场景适应性选择对应的播放策略来播放多媒体内容。处理器110识别当前场景的方式、无线通信模块160通知电子设备200当前场景的方式,可参考后续方法实施例的相关描述,在此暂不赘述。
89.在本技术的另一些实施例中,处理器110还用于在移动设备100基于镜像投屏和电子设备200共享网络视频的过程中,自动或者在用户的触发下,指示无线通信模块160将镜像投屏切换为在线投屏。无线通信模块160将镜像投屏切换为在线投屏的具体实现,可参考后续方法实施例的相关描述,在此暂不赘述。
90.在一些实施例中,无线通信模块160将镜像投屏切换为在线投屏后,在一些情况下,处理器110还可用于指示无线通信模块160将在线投屏切换回镜像投屏。无线通信模块160将在线投屏切换回镜像投屏的情况可参考后续方法实施例的相关描述。
91.移动设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲
染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
92.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或自动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,移动设备100可以包括1个或n个显示屏194,n为大于1的正整数。
93.在本技术实施例中,显示屏194用于显示本技术实施例提及的在移动设备100上实现的用户界面。该用户界面的具体实现可参考后续方法实施例的相关描述。
94.视频编解码器用于对数字视频压缩或解压缩。移动设备100可以支持一种或多种视频编解码器。这样,移动设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
95.移动设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
96.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
97.触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于移动设备100的表面,与显示屏194所处的位置不同。
98.移动设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明移动设备100的软件结构。图3b是本技术实施例提供的移动设备100的一种软件结构的示意性框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
99.如图3b所示,应用程序包可以包括投屏服务、视频应用程序、游戏应用程序、办公类应用程序、相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,短信息等应用程序。为了描述简便,后续将视频应用程序简称为视频应用,将游戏应用程序简称为游戏应用。
100.投屏服务提供移动设备100的镜像投屏功能。投屏服务支持移动设备100基于镜像投屏和电子设备200共享多媒体内容。投屏服务可调用移动设备100的无线通信模块160来提供镜像投屏功能。
101.视频应用程序可以称为视频应用,用于为移动设备100提供音视频服务。移动设备100可以运行视频应用,并从该视频应用对应的服务器中获取网络视频。视频应用的数量可
以为一个或多个。比如,视频应用可包括腾讯视频。
102.视频应用可以提供在线投屏功能。视频应用支持移动设备100通过在线投屏与电子设备200共享多媒体内容。具体地,移动设备100在运行视频应用且播放其中的网络视频中,若用户开启该视频应用的在线投屏功能,则移动设备100可以将该网络视频的网址发送给电子设备200。
103.游戏应用程序可以称为游戏应用,用于为移动设备100提供游戏服务。移动设备100可以运行游戏应用,并从本地或者该游戏应用对应的服务器中获取游戏资源。游戏应用的数量可以为一个或多个。
104.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
105.如图3b所示,应用程序框架层可以包括场景感知模块、窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
106.具体的,场景感知模块用于侦听当前使用的应用程序的操作,并据此识别出移动设备100当前使用的应用程序,从而确定移动设备100所处的场景。场景感知模块为可选模块。在一些实施例中,场景感知模块的功能可以集成到应用程序层的投屏服务中。
107.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
108.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
109.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
110.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
111.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
112.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
113.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
114.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
115.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
116.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
117.2d图形引擎是2d绘图的绘图引擎。
118.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
119.需要强调的是,图3b仅为示意性举例;本技术实施例提供的移动设备100的软件结构还可采用其他的软件架构,比如linux或者其它操作系统的软件架构。
120.本技术实施例的电子设备包括但不限于平板电脑、台式计算机、便携式电子设备(如膝上型计算机,laptop)、智能电视(如智慧屏)、车载电脑、智能音箱、增强现实(augmented reality,ar)设备、虚拟现实(virtual reality,vr)设备、带有显示屏的电子广告牌、单独使用(比如,投影在墙壁上)或与显示装置(比如幕布)组合使用的投影仪、其他带有显示屏的智能设备、以及其他带有扬声器的智能设备等。电子设备的示例性实施例包括但不限于搭载linux或者其它操作系统的便携式电子设备。在一些实施例中,电子设备200可以为配置有电视盒子的电视机,电视盒子用于接收来自移动设备100或服务器400的多媒体内容并提供投屏功能,电视机仅提供显示功能。在一些实施例中,电子设备200还可以与遥控器配合使用。遥控器与电子设备200之间可以通过红外线信号通信。
121.示例性地,图4示出了本技术实施例提供的电子设备200的硬件结构。如图4所示,电子设备200可包括:视频编解码器221、处理器222、存储器223、无线通信处理模块224、电源开关225、有线lan通信处理模块226、高清晰度多媒体接口(high definition multimedia interface,hdmi)通信处理模块227、usb通信处理模块228、显示屏229、音频模块230。各个模块可通过总线连接。其中:
122.处理器222可用于读取和执行计算机可读指令。具体实现中,处理器222可主要包括控制器、运算器和寄存器。其中,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责执行定点或浮点算数运算操作、移位操作以及逻辑操作等,也可以执行地址运算和转换。寄存器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。具体实现中,处理器222的硬件架构可以是专用集成电路(asic)架构、mips架构、arm架构或者np架构等。
123.无线通信处理模块224可以包括wlan通信处理模块224a,还可包括蓝牙(bt)通信处理模块224b、nfc处理模块224c、蜂窝移动通信处理模块(未示出)等。
124.在一些实施例中,无线通信处理模块224可用于与移动设备100建立通信连接,并基于该通信连接接收到移动设备100发送的经过编码的数据。例如,wlan通信处理模块224a可用于与移动设备100建立wi-fi直连通信连接,蓝牙(bt)通信处理模块224b可用于与移动设备200建立蓝牙通信连接,nfc处理模块224c可用于与移动设备100建立nfc连接等。即,无线通信处理模块224可支持移动设备100与移动设备200之间通过镜像投屏(如miracast)来共享多媒体内容。
125.在一种实施方式中,无线通信处理模块224可以监听到移动设备100发射的信号如探测请求、扫描信号,发现移动设备100,并与移动设备100建立通信连接。在另一种实施方式中,无线通信处理模块224也可以发射信号,如探测请求、扫描信号,使得电子设备200可以发现移动设备100,并与移动设备100建立通信连接(如wi-fip2p连接)。
126.在一些实施例中,移动设备100与电子设备200之间通过镜像投屏(如miracast)来共享多媒体内容时,无线通信处理模块224(如wlan通信处理模块224a)还可以接收到移动设备100通知的场景。处理器222可解析并获知该场景,并自适应地选择与该场景对应的播
放策略,并以该播放策略来调用显示屏229、音频模块230等模块播放移动设备100发送的多媒体内容。
127.在一些实施例中,无线通信处理模块224(如wlan通信处理模块224a)还可以接入wi-fi接入点300组建的局域网或其他网络,并通过wi-fi接入点300接收到移动设备100发送的网络视频的网址,之后可以直接从该网址对应的服务器处获取该网络视频。即,wlan通信处理模块224a可支持移动设备100与电子设备200之间通过在线投屏(如dlna)来共享网络视频。
128.视频编解码器221用于对数字视频压缩或解压缩。在本技术实施例中,视频编解码器221可以对来自移动设备100的或者服务器400的多媒体内容进行解压缩。电子设备200可以支持一种或多种视频编解码器,可以播放一种或多种编码格式的视频。例如:mpeg1,mpeg2,mpeg3,mpeg4等。
129.处理器222可以用于解析无线通信处理模块224接收到的信号,如电子设备200的广播的探测请求等。处理器222可以用于根据解析结果进行相应的处理操作,如生成探测响应,等。处理器222可用于根据视频编解码器221的解压缩结果来驱动显示屏229执行显示。
130.存储器223与处理器222耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储器223可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器223可以存储操作系统,例如ucos、vxworks、rtlinux、harmony、android等嵌入式操作系统。存储器223还可以存储通信程序,该通信程序可用于与电子设备200,一个或多个服务器,或附加设备进行通信。
131.电源开关225可用于控制电源向电子设备200的供电。
132.有线lan通信处理模块226可用于通过有线lan和同一个lan中的其他设备进行通信,还可用于通过有线lan连接到wan,可与wan中的设备通信。
133.hdmi通信处理模块227可用于通过hdmi接口(未示出)与其他设备进行通信。
134.usb通信处理模块228可用于通过usb接口(未示出)与其他设备进行通信。
135.显示屏229可用于显示图像,视频等。显示屏229可以采用lcd、oled、amoled、fled、qled等显示屏。显示屏229所显示的内容可参考后续方法实施例的相关描述。
136.音频模块230可用于通过音频输出接口输出音频信号,这样可使得电子设备200支持音频播放。音频模块230还可用于通过音频输入接口接收音频数据。音频模块230可包括但不限于:麦克风、扬声器、受话器等。
137.在一些实施例中,电子设备200还可以包括rs-232接口等串行接口。该串行接口可连接至其他设备,如音箱等音频外放设备,使得显示器和音频外放设备协作播放音视频。
138.可以理解的是图4示意的结构并不构成对电子设备200的具体限定。在本技术另一些实施例中,电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
139.电子设备200的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构等。示例性地,电子设备200的软件系统包括但不限于构,或云架构等。示例性地,电子设备200的软件系统包括但不限于linux或者其它操作系统。为华为的鸿蒙系统。
140.电子设备200的软件系统的应用层可包括投屏服务和投屏播放器。投屏服务支持电子设备200通过镜像投屏、在线投屏接收移动设备100投放的多媒体内容。具体的,投屏服务可调用无线通信处理模块224来提供镜像投屏功能和在线投屏功能。投屏播放器用于播放来自移动设备100或服务器400的多媒体内容。
141.在一些实施例中,电子设备200和移动设备100之间通过镜像投屏共享多媒体内容时,投屏服务可以根据移动设备100当前所处的场景指示投屏播放器按照对应的播放策略来播放该多媒体内容。
142.下面详细描述本技术实施例提供的无线投屏方法。在本技术实施例中,以有无定制在线投屏方式为基准,可以将视频应用分为:定制类视频应用和非定制类视频应用。其中,定制类视频应用是指应用本身具有发起投屏能力的应用。示例性地,定制类视频应用本身集成了软件开发工具包(software development kit,sdk)。比如,腾讯视频。移动设备100的投屏状态可包括:移动设备100当前是否通过镜像投屏与电子设备200共享多媒体内容。非定制类视频应用是指应用本身不具有发起投屏能力的应用。示例性地,非定制类视频应用本身未集成sdk。
143.没有配置能够查询当下设备的当前投屏状态的sdk的视频应用。
144.上文已经阐明,发明人经过长期地研究发现,不同的应用侧重不同的要求。比如,游戏应用侧重实时性,对低时延要求较高,音画同步要求相对较低;而视频应用,侧重音画同步,实时性要求相对较低,即低时延要求相对较低。因此,本技术实施例提供的无线投屏方法可自动识别当前前台正在运行的应用的类别,并提示用户选择建议的无线投屏方式,或自动更改合适的无线投屏方式。
145.图5a为本技术实施例提供的一种无线投屏方法的流程示意图。如图5a所示,该方法可包括:
146.s001-s007,移动设备100通过镜像投屏,与电子设备200共享多媒体内容。
147.s001,移动设备100检测到开启镜像投屏功能的用户操作。
148.图6a及图6b示例性示出了移动设备100检测到的开启镜像投屏功能的用户操作。图6a示出了移动设备100上的用于展示已安装应用程序的示例性用户界面61。该用户界面61显示有:状态栏、日历指示符、天气指示符、具有常用应用程序图标的托盘、导航栏、视频应用的图标601、游戏应用的图标602以及其他应用程序的图标等。其中,状态栏可包括:移动通信信号(又可称为蜂窝信号)的一个或多个信号强度指示符、运营商名称(例如“中国移动”)、wi-fi信号的一个或多个信号强度指示符,电池状态指示符、时间指示符等。导航栏可包括返回键、主屏幕键、多任务键等系统导航键。在一些实施例中,图6a示例性所示的用户界面61可以为主界面(home screen)。
149.如图6a及图6b所示,当移动设备100检测到在显示屏上的向下滑动手势时,响应于该滑动手势,移动设备100在用户界面61上显示窗口603。如图6b所示,窗口603中可以显示有控件603a,控件603a可接收开启/关闭移动设备100的镜像投屏功能的操作(例如触摸操作、点击操作)。控件603a的表现形式可以包括图标和/或文本(例如文本“镜像投屏”、“无线投屏”、“多屏互动”等)。窗口603中还可以显示有其他功能例如wi-fi、蓝牙、手电筒等的开关控件。如图6b所示,移动设备100可以检测到作用于控件603a的用户操作,即检测到开启镜像投屏功能的用户操作。在一些实施例中,移动设备100检测到作用于控件603a的用户操
作后,可以更改控件603a的显示形式,例如增加显示控件603a时的阴影等。
150.不限于在图6a所示的主界面上,用户还可以在其他界面上输入向下滑动的手势,触发移动设备100显示窗口。
151.不限于图6a及图6b示出的用户在窗口603中作用于控件603a的用户操作,在本技术实施例中,开启镜像投屏功能的用户操作还可以实现为其他形式,本技术实施例不作限制。
152.例如,移动设备100还可以显示设置(settings)应用提供的设置界面,该设置界面中可包括提供给用户的用于开启/关闭移动设备100的镜像投屏功能的控件,用户可通过在该控件上输入用户操作来开启移动设备100的镜像投屏功能。
153.又例如,用户还可以将移动设备100贴近电子设备200的nfc标签,触发移动设备100开启镜像投屏功能。
154.s002,移动设备100发现附近的电子设备。
155.检测到s001中开启镜像投屏功能的用户操作,移动设备100开启无线通信模块160中的wi-fi直连(图中未示出)、蓝牙或nfc中的一项或多项,并通过wi-fi直连、蓝牙、nfc中一项或多项发现该移动设备100附近的可投屏的电子设备。例如,移动设备100可以通过wi-fi直连发现附近的电子设备200以及其他电子设备。
156.s003,移动设备100显示发现的附近的电子设备的标识。
157.除了显示移动设备100发现的可接受镜像投屏的电子设备的标识,移动设备100还可以显示其他信息,例如发现的电子设备的图像等,本技术实施例不作限制。
158.之后,示例性地,如图6c所示,移动设备上弹出窗口605。窗口605包括:界面指示符605a、图标605b、一个或多个电子设备的图像605c和标识605d。
159.本技术实施例不限定s002和s003的先后顺序,两者可以同时执行,也可以先后执行。在移动设备100还未发现附近的电子设备时,窗口605中显示的电子设备的数量为0。
160.s004,移动设备100检测到选择电子设备200的用户操作。
161.示例性地,如图6c所示,选择电子设备200的用户操作可以是作用于电子设备200对应的图像605c和/或标识605d上的用户操作。选择电子设备200的用户操作还可以实现为其他形式,本技术实施例不作限制。
162.s005,响应于检测到的选择电子设备200的用户操作,移动设备100和电子设备200建立通信连接。
163.响应于该用户操作,移动设备100可以通过wi-fi直连、蓝牙、nfc中一项或多项无线通信技术和电子设备200建立通信连接。例如,移动设备100和电子设备200建立wi-fi直连通信连接。移动设备100和电子设备200建立通信连接后,可以基于该通信连接进行能力协商,包括双方支持的编码格式、分辨率、音频格式等,便于后续执行的多媒体内容的传输。
164.s006,移动设备100基于与电子设备200之间的通信连接,将当前显示的多媒体内容发送给电子设备200。
165.具体的,移动设备100可以通过录屏、录音等方式获取当前显示的多媒体内容(包含图像和/或音频),然后将获取的多媒体内容压缩后,通过和电子设备200之间的通信连接发送给电子设备200。以移动设备100和电子设备200基于miracast共享多媒体内容为例,移动设备100可以根据miracast协议中的规定,通过录屏的方式获取显示屏显示的图像,使用
h.264编码算法对该图像进行压缩;采集移动设备100所播放的音频,使用高级音频编码(advanced audio coding,aac)算法对该音频进行压缩;然后将压缩后的音频数据和图像数据封装为传输流(transport stream,ts),之后对ts流按照实时传送协议(real-time transport protocol,rtp)进行编码并将编码后得到的数据通过wi-fi直连连接发送给电子设备200。即,该多媒体内容通过流媒体的方式传输。
166.s007,电子设备200播放接收到的多媒体内容。
167.电子设备200接收到移动设备100基于通信连接发送的多媒体内容后,可以对该多媒体内容执行解码处理,从而获取多媒体内容。以移动设备100和电子设备200基于miracast共享多媒体内容为例,电子设备200可以基于与移动设备100之间的wi-fi直连通信连接接收到rtp编码的ts流,并可以按顺序对其执行rtp解码、ts流解封装、音画质处理/时延同步处理,最后输出音视频,即播放多媒体内容。可理解的,s006、s007将会持续执行,直至移动设备100关闭镜像投屏功能、开启在线投屏功能等。
168.电子设备200执行s007期间,电子设备200播放的多媒体内容和移动设备100播放的多媒体内容相同。在移动设备100播放的多媒体内容随着用户操作而变化时,电子设备200播放的多媒体内容也随之变化。
169.可理解的,s001-s007所示的移动设备100和电子设备200基于镜像投屏共享多媒体内容的过程仅为示例;还可为其他实施方式,此处不再赘述。
170.s008-s012,移动设备100根据当前启动的应用的类别,提示用户选择或自动选择合适的投屏方式。
171.s008,移动设备100启动应用程序,或切换应用程序。
172.移动设备100启动的应用程序取决于用户,可以为游戏应用,也可以为视频应用,视频应用可以包括非定制类视频应用和非定制类视频应用。
173.移动设备100可以响应于在图6a所示的用户界面61中的应用程序的图标上检测到的用户操作(例如点击操作、触摸操作等),启动该图标对应的应用程序,还可以响应于其他用户操作(例如语音指令)启动对应的应用程序,此处不做限制。示例性地,如图7a-图7b所示,移动设备100可以响应于作用于主界面上的视频应用的图标601上的用户操作,启动视频应用。图7b示例性示出了移动设备100启动视频应用后所显示的用户界面71。该用户界面71是视频应用提供的主页面。如图7b所示,用户界面71中显示有一个或多个视频图像701。视频的图像可以是动态的,也可以是静态的。此外,用户界面71还可以显示有底部菜单栏、搜索框、子频道入口等,本技术实施例对此不作限制。如图7b所示,移动设备100可以检测到作用于视频图像701上的用户操作,通过网络从视频应用对应的服务器中获取该视频图像701所指示的网络视频,并播放该网络视频。监听到用户操作的视频图像701所指示的网络视频,即为用户选择的网络视频。以下实施例将以视频应用对应服务器400为例进行说明。也即是说,移动设备100获取到的网络视频的网址为服务器400的地址。
174.图7c示例性地示出了移动设备100播放用户选择的网络视频时所显示的用户界面72。该用户界面72可以是移动设备100响应于用户将移动设备100由竖屏状态切换为横屏状态的动作,或者,用户点击移动设备100所显示用户界面右下角所显示的全屏播放的控件而显示的。在一些实施例中,用户界面72中还可包括在线投屏的开关控件702,控件702用于监听开启/关闭视频应用的在线投屏功能的用户操作(例如点击操作、触摸操作等)。如图7c所
示,控件702的显示状态表示当前移动设备100的在线投屏功能开启。
175.s009,移动设备100判断启动的应用程序,或切换后的应用程序,是否为视频应用。
176.具体的,移动设备100可以侦听前台正在运行的应用程序或当前使用窗口对应的应用程序,并据此识别到移动设备100在前台正在运行的应用程序是否为视频应用。若为视频应用,执行s010。
177.启动、切换应用程序后的具体识别,可以结合图10a、图10b阐述。图10a、图10b的场景感知模块可通过操作系统调用api感知应用启动、应用切换。比如,以感知应用切换为例,场景感知模块感知发送“android.activitystate.change”消息订阅应用切换事件。场景感知模块感知到应用切换后,再调用操作系统提供的api查询用户看到的顶层app名称。比如,通过activitymanager提供的api查询任务及任务对应的packagename。场景感知模块感知根据查询到的应用名称是否在预制的数据库或表格中判断是否是视频应用。该数据库或该表格可根据需要由用户增加、删减、更新等。
178.s010,移动设备100判断启动的视频应用是否为非定制类视频应用。
179.在一些实施例中,移动设备100可以存储有白名单,白名单可包括一个或多个非定制类视频应用。这样,当前台正在运行的应用程序在白名单中时,移动设备100可以确定移动设备100在前台运行的该应用程序为非定制类视频应用。白名单中的非定制类视频应用可以安装在移动设备100中,也可以未安装在移动设备100中。移动设备100可以根据需要更新白名单。
180.若为非定制类视频应用,执行s011;若为定制类视频应用,执行s012。
181.s011,执行图5b的流程;
182.s012,执行图5c的流程。
183.接下来,介绍图5b的流程。图5b描述了针对非定制类视频应用时,将移动设备100当前使用的镜像投屏切换为在线投屏的流程。在图5b中,移动设备100通过镜像投屏与电子设备200共享非定制类视频应用提供的网络视频时,可以在用户的触发下,将镜像投屏切换为在线投屏,基于在线投屏共享该网络视频。图5b示出的流程,可包括:
184.s101,移动设备100输出提示信息,该提示信息用于提示用户将镜像投屏切换为在线投屏。
185.在s101中,提示信息的实现形式可包括但不限于:移动设备100在显示屏上显示的界面元素、播放的音频、指示灯闪烁、马达震动等。移动设备100输出提示信息的场景可包括以下3种场景:
186.场景1、移动设备100启动视频应用后,即输出提示信息。
187.移动设备100可以采用s009,或者s009和s010的方式,在识别到移动设备100在前台运行的应用程序为非定制类视频应用时,移动设备100输出提示信息。
188.图8a示例性地示出了移动设备100在场景1中显示的提示信息。该提示信息为窗口703。窗口703可包括:文本703a。文本703a例如可以为“播放视频时点击在线投屏按钮,可将镜像投屏切换为在线投屏”、“播放视频时可点击在线投屏按钮,获取更清晰的投屏效果”等。
189.在一些实施例中,窗口703还可以包括图像703b和图像703c,图像703b和图像703c分别用于指示基于镜像投屏、在线投屏共享网络视频的效果。可以看出,图像703c相较于图
像703b更清晰,效果更好。这样可以提示用户镜像投屏和在线投屏的不同,有利于用户选择更加适合的在线投屏来共享网络视频。移动设备100在显示屏上显示的提示信息可以在显示一段时长(比如5秒)后自动消失,无需用户交互。移动设备100还可以响应于用户点击显示屏上该提示信息以外的其他区域的操作,停止显示该提示信息等。可理解的,在场景1下输出提示信息时,移动设备100可以随用户操作依次显示图7a、图8a、图7b和图7c。如此,可以在用户打开具体的视频应用后,自动提示用户触发移动设备100将镜像投屏切换为在线投屏,保证用户观看网络视频时得到最佳的投屏体验。图7c中的“9:21”用于表示上一次的播放记录,即上一次在播放至“9:21”时,退出该网络视频的播放。
190.场景2、移动设备100启动视频应用并且播放用户选择的网络视频后,输出提示信息。
191.同样地,移动设备100可以采用s009,或者s009和s010的方式,在识别到移动设备100在前台运行的应用程序为非定制类视频应用时,移动设备100输出提示信息。图8b示例性地示出了移动设备100在场景2中显示的提示信息。如图8b所示,该提示信息704为窗口。提示信息704的具体内容与图8a的窗口703类似,不再详述。可理解的,在场景2下输出提示信息时,移动设备100可以随用户操作依次显示图7a、图7b、图7c和图8b。如此,可以在开始播放具体的网络视频后,自动提示用户触发移动设备100将镜像投屏切换为在线投屏,保证用户观看网络视频时得到最佳的投屏体验。可选地,在图8b中,若在预设时长内未点击在线投屏按钮,则窗口703关闭。可选地,在图8b中,若在预设时长(比如20秒)内未点击在线投屏按钮,则仍使用镜像投屏方式,或者,自动切换为在线投屏方式。上述20秒仅为示意性举例,任意时长均可为预设时长,本技术不作限定。
192.场景3、移动设备100在前台持续运行视频应用超过第一预设时长后,输出提示信息。
193.移动设备100可以采用s009,或者s009和s010的方式,在识别到移动设备100在前台运行的应用程序为非定制类视频应用,且在前台持续运行时长超过第一预设时长后,移动设备100输出提示信息。第一预设时长例如可以为10秒、30秒、1分钟等,本技术实施例不作限定。移动设备100在前台持续运行视频应用的时长超过第一预设时长后,移动设备100可能仍然显示视频应用提供的主页面,也可能响应于用户选择网络视频的操作在播放该网络视频。因此,如图8a所示,移动设备100显示的提示信息可以显示在图7b所示的视频应用主页面71中;如图8b所示,该提示信息也可以显示在图7c所示的用户界面72中。如此,可以在用户观看网络视频的过程中,提示触发移动设备100将镜像投屏切换为在线投屏,保证用户观看网络视频时得到最佳的投屏体验。
194.在没有特别说明以及未有矛盾的情况下,场景2和场景3未描述之处,均与场景1的内容相同,此处不再赘述。
195.s102,移动设备100接收到开启在线投屏功能的用户操作。
196.示例性地,参考图8c,开启视频应用的在线投屏功能的用户操作例如可以为作用于在线投屏控件702上的用户操作(例如点击操作、触摸操作等)。开启在线投屏控件的用户操作还可以为其他形式,例如摇晃手势、语音指令等,本技术实施例不作限制。
197.s103-s108,响应于在线投屏功能的用户操作,移动设备100将镜像投屏切换为在线投屏,基于在线投屏继续和电子设备200共享网络视频。
198.移动设备100响应于s102中开启视频应用的在线投屏功能的用户操作,可以开启视频应用的在线投屏功能。
199.s103,移动设备100发现附近支持在线投屏的电子设备,并显示发现的电子设备的标识。
200.示例性地,移动设备100可以发送用户数据报协议(user datagram protocol,udp)广播。附近支持在线投屏的电子设备,例如连接到wi-fi接入点300的电子设备200、和其他电子设备(图中未示出)均可以响应于该udp广播回复携带自己的相关信息(例如设备标识)的udp报文,以使得移动设备100发现自己。移动设备100发现附近支持在线投屏的电子设备后,显示发现的电子设备的标识,还可以显示例如电子设备的图像等其他信息,本技术实施例不作限定。图8d示例性地示出了移动设备100响应于s101中检测到的开启镜像投屏功能的用户操作所显示的用户界面。如图8d所示,用户界面中可显示有移动设备100发现的电子设备的标识。
201.s104,移动设备100检测到选择电子设备200的用户操作。
202.示例性地,如图8d所示,选择电子设备200的用户操作可以是作用于图8d所示用户界面中电子设备200对应的标识上的用户操作。选择电子设备200的用户操作还可以实现为其他形式,本技术实施例不作限制。
203.在一种实施方式中,当移动设备100是首次开启视频应用的在线投屏功能时,移动设备执行s103和s104,与用户选择的电子设备基于在线投屏共享网络视频。
204.在另一种实施方式中,当移动设备100是非首次开启视频应用的在线投屏功能时,移动设备100自动地向上一次在线投屏连接的电子设备,通过在线投屏共享网络视频。也就是说,在另一种实施方式中,可以不再执行s103-s104,在s102之后,直接执行s105及其后续步骤。
205.在又一种实施方式中,当移动设备100检测到附近支持在线投屏的电子设备仅为一个电子设备时,自动地以在线投屏的方式向该电子设备无线投屏,共享网络视频。
206.s105,移动设备100和电子设备200之间建立传输控制协议(transmission control protocol,tcp)连接。
207.s106,移动设备100基于tcp连接将播放的网络视频的网址发送给电子设备200。
208.这里,网络视频的网址可以为url,该url定位到视频应用对应的服务器,例如服务器400。
209.在一些实施例中,移动设备100还可以将当前播放的网络视频的时间节点发送给电子设备200,以使得电子设备200从该时间节点处继续播放该网络视频。
210.在一些实施例中,移动设备100响应于s102中检测到的开启在线投屏功能的用户操作,与电子设备200建立tcp连接并将网络视频的网址发送给电子设备200后,还可以更改控件702的显示形式,例如增加阴影、改变控件702的颜色等,这样可以提示用户移动设备100当前正在基于在线投屏共享网络视频。在其他实施例中,移动设备100还可以通过显示文本等方式提示用户移动设备100当前正在基于在线投屏共享网络视频,本技术实施例不作限制。
211.s107,电子设备200从网络视频的网址处获取网络视频。
212.电子设备200可以根据网址,向服务器400请求获取网络视频,服务器400可以响应
于该请求,将网络视频编码后通过网络(例如wi-fi接入点300组建的局域网)发送给电子设备200。
213.s108,电子设备200播放网络视频。
214.移动设备100基于在线投屏和电子设备200共享网络视频的过程中,用户可以继续操控移动设备100,且用户对移动设备100的操控不影响电子设备200继续播放网络视频。例如,用户可以操控移动设备100退出播放网络视频、退出运行视频应用并启动游戏应用等。
215.通过上述步骤s101-s108,移动设备100可以在用户选择不合适的镜像投屏共享网络视频时,将镜像投屏切换为在线投屏,提高了投屏效率,并且能够保证电子设备200播放网络视频的质量,从而保证用户得到最佳的投屏体验。即,图5b所示的投屏方法可以降低用户门槛,保障用户体验。
216.在一些实施例中,移动设备100还可以在一些情况下,将在线投屏切换回镜像投屏。下面通过可选步骤s109来介绍将在线投屏切换回镜像投屏的情况。
217.s109,移动设备100在检测到游戏应用启动后,或者在检测到游戏应用被切换为前台正在运行的应用程序后,在用户的触发下将在线投屏切换为镜像投屏。
218.具体的,移动设备100可以采用s009,或者s009和s010的方式,在检测到移动设备100在前台运行的应用程序为游戏应用后,移动设备100可以输出提示信息,该提示信息可用于询问用户是否将在线投屏切换为镜像投屏。
219.图8e示例性地示出了移动设备100启动游戏应用后显示的提示信息。如图8e所示,该提示信息可以为窗口705。窗口705中可包括:文本705a、控件705b、控件705c。文本705a例如可以为“是否将在线投屏切换为镜像投屏,获取更流畅的游戏投屏体验?”,用于询问用户是否将将在线投屏切换为镜像投屏。控件705b用于监听用户操作,移动设备100可响应于该用户操作,不执行将在线投屏切换为镜像投屏的操作。控件705c用于监听用户操作,移动设备100可响应于该用户操作,将在线投屏切换为镜像投屏。移动设备100将在线投屏切换为镜像投屏的操作,可参考图5a所示方法中的s002-s007,此处不再赘述。
220.这样,在无线投屏的前提下,当前台运行的应用切换为游戏应用时,或者游戏应用启动时,移动设备100自动提示用户将在线投屏切换回镜像投屏。若用户选择将在线投屏切换回镜像投屏,则为用户提供更加流畅且时延更低的游戏投屏体验;若用户选择拒绝将在线投屏切换回镜像投屏,则用户可以既在电子设备200上观看网络视频,又在移动设备100上玩游戏。
221.在一种替换方式中,s109还可被替换为:在检测到游戏应用启动后,或者在检测到游戏应用被切换为前台正在运行的应用程序后,移动设备自动切换回镜像投屏。这样,无需用户选择,自动地切换回镜像投屏,使得用户体验更好。
222.接下来,介绍图5c的流程。图5c描述了针对定制类视频应用时,将移动设备100当前使用的镜像投屏切换为在线投屏的流程。在图5c中,移动设备100通过镜像投屏与电子设备200共享定制类视频应用提供的网络视频时,可以自动或者在用户的触发下,将镜像投屏切换为在线投屏,继续基于在线投屏共享该网络视频。图5c示出的流程,可包括:
223.s201-s204,移动设备100在播放网络视频的过程中,自动或者在用户的触发下将镜像投屏切换为在线投屏,基于在线投屏继续和电子设备200共享网络视频。
224.s201,移动设备100直接和电子设备200建立tcp连接。
225.视频应用为定制类视频应用,移动设备100在运行该视频应用并播放网络视频的过程中,视频应用可通过sdk接口从投屏服务处查询到投屏状态,还可以查询到当前与移动设备100共享网络视频的设备是电子设备200。因此,在s201中,移动设备100可以直接与查询到的电子设备200建立tcp连接,而无须像图5a中由用户选择或者由移动设备100根据上一次的在线投屏交互来默认选择。
226.s202-s204,与图5b中的s106-s108相同,此处不再赘述。
227.在一种实施方式中,s201-s204自动执行。
228.在一些实施例中,移动设备100可以在自动切换前输出提示信息,以提示用户移动设备100要将镜像投屏切换为在线投屏。
229.在一些实施例中,移动设备100可以在自动切换后输出提示信息,以提示用户当前已切换为在线投屏。
230.移动设备100在切换前后输出的提示信息的实现形式均可包括但不限于:显示屏上显示的界面元素、音频、指示灯闪烁、马达震动等。
231.图8f示例性地示出了移动设备100自动切换前所显示的提示信息1001,提示信息1001为文本“即将为您切换至在线投屏”。图8g示例性地示出了移动设备100自动切换后所显示的提示信息1002,提示信息1002为文本“已切换至在线投屏”。
232.在其他的实施方式中,移动设备100自动切换前或后,也可以不输出提示信息,本技术实施例对此不作限制。
233.这样,不仅可以提高投屏效率,保证用户得到最佳的投屏体验,还可以减少用户操作,使得用户更加简单便捷。
234.在另一种实施方式中,移动设备100可以采用s009,或者s009和s010的方式,在识别到移动设备100在前台运行的应用程序为定制类视频应用时,移动设备100输出提示信息,并在用户的触发下将镜像投屏切换为在线投屏。
235.图8h示例性地示出了移动设备100识别到播放网络视频时输出的提示信息。图8h中的提示信息与图8b中的提示信息相同,此处不再赘述。示例性地,如图8h所示,移动设备100可以检测到作用于控件702上的用户操作(如点击操作、触摸操作),并响应于该用户操作,将镜像投屏切换为在线投屏。不限于此,移动设备100还可以响应于其他用户操作,例如摇晃手势、语音指令等,将镜像投屏切换为在线投屏,本技术实施例对此不作限制。在一些实施例中,响应于用户操作,移动设备100将镜像投屏切换为在线投屏之后,可以更改控件702的显示方式,以提示用户当前已切换为在线投屏。这样,可以在切换时给用户充分的选择权。
236.在一些实施例中,s202-s204之后,移动设备100还可以在一些情况下,将在线投屏切换回镜像投屏。也就是说,还可包括可选步骤s205。
237.s205,移动设备100将在线投屏切换回镜像投屏。
238.在一种实施方式中,在s205中,移动设备100可以在电子设备200播放完网络视频后,自动将在线投屏切换回镜像投屏。在一些情况中,电子设备200播放完网络视频后,需要用户进一步操作电子设备200才会重复播放该网络视频或者播放其他网络视频。图9示例性地示出了电子设备200播放完网络视频后所显示的用户界面。这样,移动设备100可以适应性地调整所使用的无线投屏方式,给用户提供最佳的投屏体验。此外,移动设备100可以在
自动在后台执行在线投屏和镜像投屏之间的相互切换,无需用户操作,可以给用户带来良好的投屏体验。
239.在另一种实施方式中,在s205中,移动设备100可以在检测到游戏应用启动后,或者在检测到游戏应用被切换为前台正在运行的应用程序后,在用户的触发下将在线投屏切换回镜像投屏。有关具体细节,可参见s109中的相关描述,此处不再赘述。
240.在上述图5a-图5c所示的实施例中,非定制类视频应用可以被称为第一类应用,游戏类应用可以被称为第二类应用,定制类视频应用可以被称为第三类应用。
241.图5a的s008中移动设备100启动的应用程序可以被称为第一应用。
242.图5b的s101中移动设备100输出的提示信息可以被称为第一提示信息,s102中移动设备100接收到的开启在线投屏功能的用户操作可以被称为第一用户输入,s104中移动设备100检测到的选择电子设备200的用户操作可以被称为第二用户输入,s109中移动设备100检测到的启动或被切换到前台的应用可以被称为第二应用,游戏应用可以被称为第二类应用,s109中移动设备100输出的提示信息可以被称为第二提示信息。
243.在图5a或图5b所示的方法之后,移动设备100还可以将属于第一类应用的第一应用切换为前台运行,或者,启动属于第一类应用的第三应用,或者,将属于第一类应用的第三应用切换为前台运行,并自动输出第三提示信息,第三提示信息用于提示将第一无线投屏方式切换为第二无线投屏方式;或者,移动设备100自动将第一无线投屏方式切换为第二无线投屏方式,以第二无线投屏方式向电子设备200无线投屏。
244.下面结合移动设备100的软件结构(例如图3b所示的软件结构),详细描述移动设备100执行图5b中的流程时内部各模块之间的交互流程。需要说明的是,此处虽然是以图3b所示的软件结构来示例性说明,但本领域技术人员应当知晓,其他操作系统(比如harmony等)也可适用。
245.图10a示出了移动设备100执行图5b示出的流程时,内部各模块之间的交互流程。如图10a所示,可包括:
246.步骤1、投屏服务开启镜像投屏功能。
247.步骤1中,移动设备100检测到开启镜像投屏功能的用户操作后,投屏服务将调用无线通信模块160中的wi-fi直连、蓝牙或nfc中的一项或多项,并通过wi-fi直连、蓝牙、nfc中一项或多项发现该移动设备100附近的可镜像投屏的电子设备,与用户从中选择的电子设备200建立通信连接,并与电子设备200共享多媒体内容。
248.步骤2、视频应用启动,并获取网络视频。
249.步骤2的实现可参考图7a-图7c的相关描述,此处不再赘述。
250.在步骤2中,移动设备100检测到用于启动视频应用的用户操作后,启动视频应用,之后响应于用户选择网络视频播放的用户操作,获取该网络视频。
251.步骤3、场景感知模块识别到3种场景中的任意一种。
252.该3种场景为图5b中s101中提及的3种场景,具体可包括:(1)移动设备100启动非定制类视频应用;(2)移动设备100启动非定制类视频应用,并且播放用户从该应用中选择的网络视频;(3)移动设备100在前台持续运行非定制类视频应用的时长超过第一预设时长。
253.场景感知模块可以实时或者周期性地采用s009,或者s009和s010的方式,识别出
移动设备100在前台运行的应用程序是否为非定制类视频应用,进而识别出上述3种场景。
254.在一些实施例中,场景感知模块可集成至投屏服务中。这样,投屏服务可用于执行步骤3。
255.步骤4、场景感知模块将识别到的场景通知给投屏服务。
256.步骤5、投屏服务获知场景感知模块识别到的场景后,输出提示信息,以提示用户切换至在线投屏。
257.具体的,投屏服务在获知移动设备100开启了镜像投屏功能,并且移动设备100处于上述的3种场景之一时,调用移动设备100的硬件例如显示屏、闪光灯、马达等输出提示信息,该提示信息用于提示用户将镜像投屏切换为在线投屏。提示信息的实现形式可参考s101的相关描述。
258.步骤6、视频应用在用户的触发下开启在线投屏功能。
259.步骤6可参考图5b中的s102-s106的相关描述。
260.具体的,视频应用可接收到用户开启视频应用的在线投屏功能的事件。示例性地,参考图8c,用户可以点击控件702,该点击操作可以被封装为开启视频应用的在线投屏功能的事件,从底层传递给视频应用。之后,视频应用可以开启在线投屏功能,即调用无线通信模块160来发送udp广播、和电子设备200建立tcp连接、并基于该tcp连接将网络视频的网址发送给电子设备200。
261.图10b示出了移动设备100执行图5b示出的流程时,内部各模块之间的另一种交互流程。如图10b所示,可包括:
262.步骤1-步骤3,与图10a中的步骤1-步骤3相同,此处不再赘述。
263.步骤4、场景感知模块向投屏服务查询移动设备100的投屏状态。
264.具体的,场景感知模块可以从投屏服务处查询到当前移动设备100当前开启了镜像投屏功能。
265.场景感知模块在获知移动设备100开启了镜像投屏功能,并且移动设备100处于s101中的3种场景之一时,调用移动设备100的硬件例如显示屏、闪光灯、马达等输出提示信息,该提示信息用于提示用户将镜像投屏切换为在线投屏。提示信息的实现形式可参考s101的相关描述。
266.步骤5、与图10a中的步骤5相同,此处不再赘述。
267.可理解的,上述图10a及图10b示例中,场景感知模块的功能可以集成到投屏服务中。当场景感知模块的功能集成到投屏服务中时,图10a及图10b中场景感知模块执行的步骤均由投屏服务执行,两者之间的交互步骤也可以省略。
268.下面结合移动设备100的软件结构(例如图3b所示的软件结构),详细描述移动设备100执行图5c中的流程时内部各模块之间的交互流程。需要说明的是,此处虽然是以图3b所示的软件结构来示例性说明,但本领域技术人员应当知晓,其他操作系统(比如harmony等)也可适用。如图11所示,可包括:
269.1、投屏服务开启镜像投屏功能。
270.2、视频应用启动,并获取网络视频。
271.步骤1-步骤2,与图10a中的步骤1-步骤2相同,此处不再赘述。
272.3、视频应用向投屏服务查询投屏状态。
273.视频应用可以通过sdk向投屏服务查询当前的投屏状态,获知移动设备100当前正在基于镜像投屏共享网络视频。在一些实施例中,视频应用可以通过sdk向投屏服务查询到当前正在接受移动设备100投屏的电子设备200。
274.4、视频应用获知移动设备100基于镜像投屏和电子设备200共享网络视频。
275.结合步骤2和步骤3,视频应用可获知当前移动设备100当前基于镜像投屏和电子设备200共享网络视频。
276.5、视频应用自动地或者在用户的触发下,开启在线投屏功能。
277.在一些实施例中,视频应用自动地将镜像投屏切换为在线投屏之前或之后,视频应用还可以调用显示屏、音频模块、闪光灯等模块来输出提示信息。提示信息的实现形式可参考图8f、图8g的相关描述。
278.在另一些实施例中,视频应用获知当前移动设备100当前基于镜像投屏和电子设备200共享网络视频后,可以调用显示屏输出提示信息以提示用户将镜像投屏切换为在线投屏,在用户输入开启在线投屏的用户操作后,再开启在线投屏功能。这里,显示屏输出提示信息以提示用户将镜像投屏切换为在线投屏的方式可参考图8h中的窗口704。
279.具体的,视频应用开启在线投屏功能,即调用无线通信模块160来发送udp广播、与电子设备200建立tcp连接、并基于该tcp连接将网络视频的网址发送给电子设备200。
280.这样,当移动设备100启动的视频应用为非定制类视频应用时,场景感知模块可以感知到s101中提及的3种场景,之后场景感知模块或者投屏服务可以输出提示信息,以提示用户将镜像投屏切换为在线投屏。之后,视频应用可以响应于用户看到提示信息后输入的用户操作开启在线投屏功能。当移动设备100启动的视频应用为定制类视频应用时,该定制类视频应用可以通过sdk接口从投屏服务处获知投屏状态,结合定制类视频应用自身的运行情况,可以识别到移动设备100基于镜像投屏共享网络视频的场景。因此,该视频应用可以自动或被动开启在线投屏功能。
281.也就是说,执行图5b所示的流程,无需视频应用做改进,仅需改进移动设备100的软件系统,增加场景感知模块,增加投屏服务或者场景感知模块输出提示信息的功能,即可实现在基于镜像投屏共享网络视频过程中将镜像投屏切换为在线投屏的功能。执行图5c所示的流程,需对视频应用程序做改进,新增sdk,即可实现在基于镜像投屏共享网络视频过程中将镜像投屏切换为在线投屏的功能。
282.在一些实施例中,还可以不区分定制类视频应用和非定制类视频应用。只要移动设备100启动的应用为视频应用,移动设备100就使用图5b示出的流程来切换无线投屏方式。
283.需要说明的是,本技术提供的无线投屏方法并非必需包括图5a、图5b和图5c所示的流程。图5a、图5b和图5c所示的流程以及上文中与图5a、图5b和图5c所示的流程相对应的文字中的部分,也可以单独构成本技术实施例提供的无线投屏方法。比如,图5a和图5b所示的流程,以及上文中与图5a和图5b所示的流程相对应的文字;再比如,图5a和图5c所示的流程,以及上文中与图5a和图5c所示的流程相对应的文字;又比如,图5a所示的流程的部分(例如,图5a中s009-s012),以及上文中与图5a所示的流程的部分相对应的文字,与图5b所示的流程,以及上文中与图5b所示的流程相对应的文字;均可单独构成本技术实施例提供的无线投屏方法。
284.图12为本技术实施例提供的另一种投屏方法的流程示意图。如图12所示,移动设备100基于镜像投屏与电子设备200共享多媒体内容时,移动设备100可以识别当前场景,并将该场景通知给电子设备200,电子设备200获知当前场景后,根据该场景适应性选择对应的播放策略来播放多媒体内容。移动设备100与电子设备200之间共享的多媒体内容可以为网络多媒体内容、本地多媒体内容或者两者的组合,本技术对此不作限制。
285.如图12所示,该方法可包括如下步骤:
286.s301-s307,与图5a中的s001-s007相同,此处不再赘述。
287.s308,移动设备100启动应用程序。
288.移动设备100启动的应用程序可以是安装的任意一款应用程序。例如,移动设备100可以响应于作用于图6a所示的主界面61上的视频应用的图标601上的用户操作,启动视频应用。又例如,移动设备100可以响应于作用于图6a所示的主界面61上的游戏应用的图标602上的用户操作,启动游戏应用。其中,视频应用是指由服务器来提供音视频服务的应用程序。游戏应用是指由服务器来提供游戏服务的应用程序。
289.s309,移动设备100识别到启动的应用程序对应的场景。
290.移动设备100可以根据启动的应用程序的不同,来区分不同的场景。例如,当移动设备100启动视频应用时,移动设备100可以识别到运行视频应用的场景;当移动设备100启动视频应用时,移动设备100可以识别到运行游戏应用的场景。
291.具体的,移动设备100的场景感知模块或投屏服务可以实时或者周期性地采用s009,或者s009和s010的方式,获知前台运行的应用程序,从而识别当前场景。
292.在一些实施例中,不限于根据启动的应用程序来区分不同的场景,移动设备100也可以根据其他的策略来区分不同的场景,本技术实施例对此不作限制。
293.s310,移动设备100通知电子设备200识别到的场景。
294.在一些实施例中,移动设备100可以在使用的镜像投屏的控制指令中携带识别到的场景的指示信息,从而通知电子设备200识别到的场景。以miracast为例,移动设备100可以在rtsp控制指令的扩展字段中携带识别到的场景的指示信息。例如,扩展字段取值为1,可以表示移动设备100识别到运行视频应用的场景;扩展字段取值为0,可以表示移动设备100识别到运行游戏应用的场景。
295.s311,电子设备200使用与该场景对应的播放策略来播放多媒体内容。
296.移动设备100与电子设备200之间基于镜像投屏共享多媒体内容时,可以有多种播放策略。示例性地,镜像投屏对应的播放策略可包括:实时送显策略,和音视频缓存同步策略。其中,使用实时送显策略时,电子设备200接收移动设备100发送的数据后直接解码播放,优先保障游戏投屏等场景下的用户低时延投屏体验。使用音视频缓存同步策略时,电子设备200在接收到移动设备100发送的编码后的数据后,会缓存一定数据保障多媒体内容的流畅性,同时自动比对多媒体内容中音频和图像的时间戳(presentation time stamp,pts),当音画时间戳差值超过阈值后则采触发音视频同步处理逻辑(如音频倍速播放、图像丢帧等)保证电子设备200播放多媒体内容时的音画同步质量。
297.可理解的,实时送显策略、音视频缓存同步策略只是本技术实施例中所使用的一个词语,其代表的含义在本技术实施例中已经记载,其名称并不对本技术实施例构成任何限制。另外,在本技术其他一些实施例中,实时送显策略也可以被称为例如低时延快速送显
模式等其他名词。同样的,本技术实施例中提到的音视频缓存同步策略,在其他一些实施例中也可以被称为例如缓存模式等其他名字。
298.示例性地,参考表1,表1示出了移动设备100在向电子设备200无线投屏的前提下,移动设备100所处的场景和电子设备200使用的播放策略的对应关系。如表1所示,运行游戏应用的场景可以对应于实时送显策略,运行视频应用的场景可以对应于音视频缓存同步策略。
299.表1
300.场景播放策略运行游戏应用的场景实时送显策略运行视频应用的场景音视频缓存同步策略
301.在移动设备100运行游戏应用的场景中,实时性是影响用户投屏体验的主要因素,因此实时送显策略更加适合于运行游戏应用的场景。在移动设备100运行视频应用的场景中,投屏的流畅性以及音画同步质量是影响用户投屏体验的主要因素,因此音视频缓存同步策略更加适合于运行视频应用的场景。不限于实时送显策略和音视频缓存同步策略,在其他实施例中,镜像投屏还可以对应有其他的更多的播放策略,例如超低时延模式等,本技术实施例对此不作限制。镜像投屏对应的其他的播放策略可以由本领域技术人员自定义,本技术实施例不作限制。本技术实施例同样不限制各个场景和播放策略之间的对应关系,在其他一些实施例中,还可以有其他的对应关系,本技术实施例对此不作限制。
302.在具体实施s311时,电子设备200中的投屏服务可以指示投屏播放器使用移动设备100识别到的场景对应的播放策略来播放多媒体内容。
303.通过图12所示的投屏方法,在基于镜像投屏共享多媒体内容时,电子设备200可以根据移动设备100所处的场景自适应选择对应的播放策略来播放多媒体内容,即根据实际场景调整播放策略,这样可以保障用户的投屏体验。
304.下面结合移动设备100的软件结构(例如图3b所示的软件结构),详细描述移动设备100执行图12中的流程时内部各模块之间的交互流程。需要说明的是,此处虽然是以图3b所示的软件结构来示例性说明,但本领域技术人员应当知晓,其他操作系统(比如harmony等)也可适用。如图13a所示,可包括:
305.移动设备100执行步骤1-步骤5:
306.步骤1、投屏服务开启镜像投屏功能。
307.步骤2、应用程序启动。
308.步骤3、场景感知模块识别到启动的应用程序所对应的场景。
309.步骤1的实现可参考图12所示方法中的s301-s307中移动设备100的操作;步骤2的实现可参考图12所示方法中的s308;步骤3的实现可参考图12所示方法中的s309。
310.步骤4、场景感知模块将识别到的场景通知给投屏服务。
311.步骤5、投屏服务将场景感知模块识别到的场景通知给电子设备200。
312.具体的,投屏服务在获知移动设备100开启了镜像投屏功能,并且获知了场景感知模块识别到的场景后,可以将该场景通知给电子设备200。
313.步骤5的实现可参考图12所示方法中的s310。
314.电子设备200执行的步骤6-步骤7:
315.步骤6、投屏服务确定与移动设备100所处场景对应的播放策略,并将该播放策略传递给投屏播放器。
316.步骤7、投屏播放器使用该播放策略播放多媒体内容。
317.步骤6、7的实现可参考图12所示方法中的s311。
318.图13b示出了移动设备100执行图5c的流程时,内部各模块之间的另一种交互流程。图13b和图13a的不同之处在于,步骤4中由移动设备100的场景感知模块向投屏服务查询投屏状态,步骤5中由场景感知模块将识别到的场景通知给电子设备200。
319.可理解的,上述图13a及图13b的示例中,场景感知模块的功能可以集成到投屏服务中。当场景感知模块的功能集成到投屏服务中时,图13a及图13b中场景感知模块执行的步骤均由投屏服务执行,两者之间的交互步骤也可以被省略。
320.可理解的,在本技术实施例中,上述图5b示出的流程、图5c示出的流程均可以和图12所示的方法结合实施,也可以分开单独实施。
321.例如,当图5b示出的流程与图12结合实施时,移动设备100基于镜像投屏和电子设备200共享网络视频的过程中,若电子设备200连接到网络,即电子设备200具有在线投屏的条件时,移动设备100可以执行图5b示出的流程;若电子设备200未连接到网络,即电子设备200不具有在线投屏的条件时,移动设备100可以执行图12所述的投屏方法。
322.例如,当图5c示出的流程和图12结合实施时,移动设备100基于镜像投屏和电子设备200共享网络视频的过程中,若电子设备200连接到网络,即电子设备200具有在线投屏的条件时,移动设备100可以执行图5c示出的流程;若电子设备200未连接到网络,即电子设备200不具有在线投屏的条件时,移动设备100可以执行图12所述的投屏方法。
323.本技术的各实施方式、各实施例中的全部或部分可以任意地、自由地进行组合。
324.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
325.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
326.总之,以上所述仅为本发明技术方案的实施例而已,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护
范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1