一种智能手机投屏方法与流程

    专利2022-07-07  143


    本发明涉及无线通信技术领域,尤其涉及一种智能手机投屏方法。



    背景技术:

    随着多屏互动技术愈加普遍的应用,以往各有优劣且互不相通的智能电视、智能手机也能通过网络进行连接。尤其是在家庭环境中,投屏技术让逐渐重新回到到家庭娱乐中心的电视,更好的发挥了其大屏的优势。

    比较常见的应用场景就有:当在家庭环境中时,用户通过手机观看下载好的视频,如果觉得屏幕小,就会选择投屏到智能电视上观看。与此同时,伴随投屏后的应用场景,一些问题也就显现出来了。

    以目前市场上的主流智能电视,android智能电视为例,当需要投屏播放手机本地的媒体资源时,各个厂家采取的多是屏幕镜像的投屏方式。这种方式的局限性在于,一方面,当手机将媒体资源投屏到电视上时,手机屏幕无法息屏和进行其他操作,会占用手机的大量资源;另一方面,手机在将媒体资源投屏到电视后,紧接着对媒体资源的进一步控制也不易操作,操作入口只有源端手机,其他观影人员无法操作媒体资源。

    造成和这种局限性的原因主要有:一方面,针对手机本地资源的投屏,采用的是基于miracast协议的镜像投屏,它会实时抓取源端手机屏幕上的一切操作到显示端,因此手机无法息屏或者进行其他操作。另一方面,由于电视端播放视频没有专门对播放视频进行操作的播放器,因此无法在电视端实现对媒体资源的控制。



    技术实现要素:

    本发明的目的就在于为了解决上述问题而提供一种智能手机投屏方法,本发明针对的问题是在基于android的智能电视上进行投屏播放本地媒体资源时,无法多人控制资源播放和手机资源占用较大的问题。该问题缺陷的技术实质是:各电视厂商采用的镜像投屏的基本协议原理以及智能电视缺少对媒体资源专门的处理应用。

    本专利申请解决上述问题的方法的技术本质是:利用家庭路由构造局域网,利用“设备互联方案”连接智能手机与电视、采用“智能手机——媒体服务器方案”和“智能电视——媒体播放器方案”以及“多控制终端协同工作方案”相配合,解决在基于android的智能电视上投屏占用过多手机资源,以及对媒体资源的控制不便的问题。同时配合“传输码率自适应”方案,保障投屏播放媒体资源时充分利用家庭局域网带宽,保障投屏播放媒体资源时的流畅性和稳定性。

    本发明通过以下技术方案来实现上述目的:

    一种智能手机投屏方法选择基于android的智能手机作为媒体文件服务器基于android的智能电视作为媒体播放器,实现手机投屏后仍然可以进行其他操作,并且可以由局域网内的各智能手机终端,安装服务端程序后对投屏的媒体文件进行控制。

    具体方法包括以下步骤:

    步骤1,通过将手机端和电视端接入家庭局域网,手机端对局域网内广播设备发送消息,电视端接收到设备消息后,向手机端回复自身信息,建立起手机与电视的连接;

    步骤2,手机端作为媒体服务器,实现对本地音频、视频、图片媒体文件的搜索、分类、呈现;

    步骤3,在手机端选择要投屏播放的媒体的文件,将媒体文件转换成流文件;

    步骤4,电视端作为媒体播放器,应用程序集成了音视频文件、增加图片文件播放功能,与手机端建立播放会话后,开始投屏播放;

    步骤5,通过手机下发控制媒体播放的指令,电视端收到指令消息,解析后执行相应的动作;

    步骤6,媒体文件开始播放后,播放信息和状态实时反馈到手机端的程序中。

    进一步方案为,在文件传输开始和过程中,根据网络环境实现自动调整文件传输码率。

    进一步方案为,多个接入局域网的android智能手机可以同时对投屏播放的媒体文件进行操控;将多个智能手机的操控指令消息,利用消息对列进行异步处理,保障媒体文件的正常播放。

    智能手机端作为媒体资源服务器,在手机端app中,实现对本地媒体资源的查找、分类管理;以及流传输服务;手机启动服务端app后,利用android系统的mediastore类,查找手机上全部的视频、音乐、以及图片3类媒体资源,将3类文件信息分别存放在继承自set类的video、audio、image类中。

    进一步方案为,所述步骤4中智能手机端选择要投屏播放的视频,发送基本描述信息给智能电视;智能电视会请求建立播放会话,手机端返回会话建立所需信息,播放会话建立;智能电视请求播放视频,手机端回话并且开始发送流数据;停止播放或播放结束后,智能电视发送关闭会话请求或者直接退出播放程序,结束本次播放会话。

    进一步方案为,在电视端部署媒体播放器实现对手机端发送过来的媒体流文件的播放;通过集成vlc播放器的开源框架,借由其提供的api接口,实现对音频和视频文件的播放;采用glide加载图片,弥补vlc播放器无法播放图片的缺陷,将图片缓存到内存,针对比较大的图片,设置其缓存期间的缩略图,加载到glideimageview来播放图片。

    进一步方案为,在多手机端共同控制媒体文件的播放场景,为了防止多操作指令同时到达媒体播放器引起播放器异常或操作指令信息丢失,采用异步消息队列处理手机端的控制命令消息。

    手机向智能电视发送的控制命令,先进入消息队列,messqgequeue可作为消息队列,android系统的looper函数实现对消息队列的轮询,hander则用与消息分发,实现媒体播放器则对消息队列的消息一次进行接收、解析、处理执行。

    若媒体播放时,多设备下发控制指令可能导致媒体播放器异常,采用执行命令前,先判断播放器状态的,只有播放器状态正常,才会执行收到的控制指令。

    本发明的有益效果在于:

    本申请通过“设备互联方案”、“智能手机——媒体服务器方案”、“智能电视——媒体播放器方案”、“多控制终端协同工作方案”以及“传输码率自适应方案”相互配合,即可实现在基于android的智能电视上投屏播放android智能手机的本地媒体文件,而不占用手机过多资源,且充分利用家庭网络带宽,保障投屏的效果。同时,实现了多台手机共同控制播放器的效果。

    本申请基于android的智能电视端的专门的媒体播放器、智能手机端的媒体资源服务器和多手机同时控制播放策略,以及投屏播放时,对媒体资源传输码率的自适应方案。结合当下wi-fi在家庭环境的应用,以及是基于android的智能电视与智能手机的普及,具有广阔的应用空间。

    附图说明

    为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要实用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1为本发明的整体架构。

    图2为本发明的智能设备建立连接的示意图。

    图3为本发明将智能手机本地媒体文件投屏到智能电视的工作流程。

    图4为本发明将智能手机作为服务器查找媒体文件的流程。

    图5为本发明自动控制发送流文件的传输码率的流程。

    图6为本发明控制流文件传输码率的方法流程。

    具体实施方式

    为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

    在任一实施例中,如图1所示,本发明的一种智能手机投屏方法,选择基于android的智能手机作为媒体文件服务器,基于android的智能电视作为媒体播放器,实现手机投屏后仍然可以进行其他操作,并且可以由局域网内的各智能手机终端,安装服务端程序后对投屏的媒体文件进行控制。本发明采用“设备互联方案”、“智能手机——媒体服务器方案”、“智能电视—-媒体播放器方案”、“多控制终端协同工作方案”以及“传输码率自适应方案”相配合来解决问题。

    具体方法包括以下步骤:

    步骤1,通过将手机端和电视端接入家庭局域网,手机端对局域网内广播设备发送消息,电视端接收到设备消息后,向手机端回复自身信息,建立起手机与电视的连接;

    步骤2,手机端作为媒体服务器,实现对本地音频、视频、图片媒体文件的搜索、分类、呈现;

    步骤3,在手机端选择要投屏播放的媒体的文件,将媒体文件转换成流文件;

    步骤4,电视端作为媒体播放器,应用程序集成了音视频文件、增加图片文件播放功能,与手机端建立播放会话后,开始投屏播放;

    步骤5,通过手机下发控制媒体播放的指令,电视端收到指令消息,解析后执行相应的动作;

    步骤6,媒体文件开始播放后,播放信息和状态实时反馈到手机端的程序中。

    “设备互联方案”包括:

    智能手机、智能电视接入家庭局域网络,手机获取到自己的ip后,向局域网发送广播,携带自身的描述信息。

    处在家庭局域网智能电视接收到广播后,获取到手机的ip和端口等信息,并向手机发送响应信息,携带自身描述信息。

    上文中描述信息主要包括ip地址、mac地址、通信端口、设备名称。

    手机端收到电视返回的信息后,便完成设备间的识别连接。

    “智能手机——媒体服务器方案”包括:

    首先,需要将手机作为多媒体资源服务器;智能手机端作为媒体资源服务器,在手机端app中,需要实现对本地媒体资源的查找、分类管理;以及流传输服务。

    手机启动服务端app后,利用android系统的mediastore类,该类是android自带的媒体文件库,利用它,可以查找手机上全部的视频、音乐、以及图片3类媒体资源。在类alltypemedia中存放媒体文件基本信息,如路径、标题;通过mediavideo、mediaaudio、mediaimage类,继承alltypemedia,分别描述视频、音频、图片文件的信息,再将3类文件信息分别存放在继承自set类的video、audio、image类中。

    具体过程,以搜索管理视频文件举例:开始时,通过mediastore类搜索手机本地的视频文件,搜索到一个文件后,便实例化一个mediavideo对象,只要该视频路径第一次出现,就添加其基本信息,再调用video的add方法,完成一个视频文件的搜索添加。只要判断cursor.movetonext()为真,就持续查找视频文件。

    完成媒体文件的搜索分类后,还需要实现流传输服务,实现将智能手机端的媒体资源文件传输到智能电视。

    本发明采用rtsp流传输协议,以播放视频文件为例:在智能手机端,先将要投屏播放的视频文件转为协议流,再将其推送到智能电视端;

    过程包括:智能手机端选择要投屏播放的视频,发送基本描述信息给智能电视;智能电视会请求建立播放会话,手机端返回会话建立所需信息,播放会话建立;智能电视请求播放视频,手机端回话并且开始发送流数据;停止播放或播放结束后,智能电视发送关闭会话请求或者直接退出播放程序,结束本次播放会话。

    “传输码率自适应方案”包括:

    为了解决媒体文件播放过程中可能出现的网络拥塞和丢包问题,需要配合本发明的“传输码率自适应方案”来控制媒体文件发送时的码率。

    建立手机端到智能电视端的连接之前,手机端会发送测试数据包,测试网络状态,如果丢包率和到达时间都在可接受范围,就采用高码率传输,否则就降低传输码率,同时,在传输过程中,通过接收rtcp消息判断丢包率、到达时间等信息,调整传输码率。

    具体过程:手机端事先设置好发送的最低码率1_min和正常码率1_normal,连接建立前,通过测试报文判断网络环境,如果良好,就按照正常传输码率传输,如果不好,就按照低码率传输。只要流传输过程未结束,手机端通过判断rtcp报文,计算丢包率,判断网络情况,如果良好,则提高传输码率,如果不佳,则降低传输码率。

    上点提到的通过rtcp报文来调整传输码率的方法,主要包括提高码率策略和降低码率策略。降低码率策略为:,当判断之前的传输码率1_last*d>1_min,用1_last*d(d值0.8)作为接下来的传输码率,当1_last*d≤1_min,便用1_min作为接下来的传输码率;提高码率策略为:当l_last*a<1_normal,便用1_last*a(a取值1.1)作为接下来的传输码率,当1_last*a≥1_normal,便用1_normal作为接下来的传输码率。

    “智能电视——媒体播放器方案”包括:

    包括“媒体播放器实现方案”和“远程控制实现方案”

    “媒体播放器实现方案”:为了实现对手机端发送过来的媒体流文件的播放,需要在电视端部署媒体播放器。

    通过集成vlc播放器的开源框架,借由其提供的api接口,实现对音频和视频文件的播放。采用glide加载图片,弥补vlc播放器无法播放图片的缺陷,将图片缓存到内存,针对比较大的图片,设置其缓存期间的缩略图,加载到glideimageview来播放图片。

    “远程控制实现方案”

    除了能通过遥控器控制智能电视端的播放,本发明还要实现手机远程控制媒体文件播放。

    首先,针对视频和音乐文件,播放器已经实现了播放中诸如:播放、暂停、进度条拖拽播放等功能,但要实现本发明利用手机远程控制播放的效果,就需要在手机端设置播放控制界面,通过“设备互联方案”建立智能电视与智能手机的连接后,将手机端控制媒体播放的命令发送到智能电视端,智能电视端的媒体播放器收到操作命令,解析后进行相应的操作。

    具体的操作包括:播放、暂停、退出、快进、回放、增减音量、跳转播放、亮度调节,针对音乐文件还有上一首、下一首、列表循环、单曲循环、随机播放的操作。

    媒体播放的实时信息要能同步到局域网的各个手机,过程大体是:a.建立连接后,手机发送投屏请求;b.电视端开始播放音频,并同步当前媒体文件的时间进度、总时长给局域网内的手机;c.手机获取到媒体文件播放的实时信息,并同步更新;d.手机发送控制命令到电视端,电视端接收命令消息,并执行相应播放动作。

    针对图片文件,本发明实现对图片文件按张查看和幻灯片播放两种方式。播放操作包括上一张、下一张、播放、暂停、退出。

    “多控制终端协同工作方案”包括:

    可能存在多手机端共同控制媒体文件的播放场景,为了防止多操作指令同时到达媒体播放器引起播放器异常或操作指令信息丢失,采用异步消息队列处理手机端的控制命令消息。

    具体讲,就是手机向智能电视发送的控制命令,先进入消息队列,messqgequeue可作为消息队列,android系统的looper函数实现对消息队列的轮询,hander则用与消息分发。以此,实现媒体播放器则对消息队列的消息一次进行接收、解析、处理执行;

    针对媒体播放时,多设备下发控制指令可能导致的媒体播放器异常,本发明采用执行命令前,先判断播放器状态的的方式来预防。只有播放器状态正常,才会执行收到的控制指令。

    由此,通过“设备互联方案”、“智能手机——媒体服务器方案”、“智能电视——媒体播放器方案”、“多控制终端协同工作方案”以及“传输码率自适应方案”相互配合,即可实现在基于android的智能电视上投屏播放android智能手机的本地媒体文件,而不占用手机过多资源。同时,实现了多台手机共同控制播放器的效果,保障投屏的效果。

    在一个具体实施例中,本审的具体实施方法如下;

    以家庭环境为例,家庭接入电信100mbps光纤,路由为百兆路由,用户a、b、c的android智能手机都接入路由wi-fi,基于android的智能电视也接入路由wi-fi。当用户a想要通过智能电视投屏播放他从网上下载的高清电影,在现有的普遍方案,他只能选择镜像投屏。所以他必须保持手机常亮,且无法再在手机上做其他操作。同时,用户b和用户c都想跳过影片片头,他们只能让a在其手机上调整。整个过程,a的手机被占用了大量资源,同时对投屏媒体资源控制的不便也影响了b和c的用户体验。

    而当采取了本发明的技术方案后,首先,因为手机是作为一个媒体服务器,在“设备互联方案”、“智能手机——媒体服务器方案”的支持下,手机只需让服务应用在后台工作,并不会限制用户的其他操作。同时在“智能电视——媒体播放器方案”、“多控制终端协同工作方案”下,可以很轻松实现对投屏媒体资源的控制;并且,在“传输码率自适应方案”的支持下,本发明还能最大化利用家庭带宽,保障投屏效果的稳定、清晰、流畅。

    在用户的智能手机接入家庭局域网后,在“设备互联方案”的支持下,用户可以很方便的完成手机和智能电视的识别、连接。之后,要投屏观看手机本地的媒体资源时,在“智能手机——媒体服务器方案”的支持下,用户可以轻松搜索分类手机本地的媒体资源,选择好要投屏的文件后,在“智能电视——媒体播放器方案”的支持下,用户能顺利投屏媒体文件,同时,手机上仍然可以做其他操作。

    当处于家庭局域网的多个用户想对投屏播放的媒体资源进行操作时,在“多控制终端协同工作方案”的支持下,各用户仍然可以顺利用自己的手机顺利控制媒体文件的播放。

    以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。


    技术特征:

    1.一种智能手机投屏方法,其特征在于,选择基于android的智能手机作为媒体文件服务器,基于android的智能电视作为媒体播放器,实现手机投屏后仍然可以进行其他操作,并且可以由局域网内的各智能手机终端,安装服务端程序后对投屏的媒体文件进行控制。

    2.如权利要求1所述的一种智能手机投屏方法,其特征在于,包括以下步骤:

    步骤1,通过将手机端和电视端接入家庭局域网,手机端对局域网内广播设备发送消息,电视端接收到设备消息后,向手机端回复自身信息,建立起手机与电视的连接;

    步骤2,手机端作为媒体服务器,实现对本地音频、视频、图片媒体文件的搜索、分类、呈现;

    步骤3,在手机端选择要投屏播放的媒体的文件,将媒体文件转换成流文件;

    步骤4,电视端作为媒体播放器,应用程序集成了音视频文件、增加图片文件播放功能,与手机端建立播放会话后,开始投屏播放;

    步骤5,通过手机下发控制媒体播放的指令,电视端收到指令消息,解析后执行相应的动作;

    步骤6,媒体文件开始播放后,播放信息和状态实时反馈到手机端的程序中。

    3.如权利要求1或2所述的一种智能手机投屏方法,其特征在于,在文件传输开始和过程中,根据网络环境实现自动调整文件传输码率。

    4.如权利要求2所述的一种智能手机投屏方法,其特征在于,多个接入局域网的android智能手机可以同时对投屏播放的媒体文件进行操控;将多个智能手机的操控指令消息,利用消息对列进行异步处理,保障媒体文件的正常播放。

    5.如权利要求1或2所述的一种智能手机投屏方法,其特征在于,智能手机端作为媒体资源服务器,在手机端app中,实现对本地媒体资源的查找、分类管理;以及流传输服务;手机启动服务端app后,利用android系统的mediastore类,查找手机上全部的视频、音乐、以及图片3类媒体资源,将3类文件信息分别存放在继承自set类的video、audio、image类中。

    6.如权利要求2所述的一种智能手机投屏方法,其特征在于,所述步骤4中智能手机端选择要投屏播放的视频,发送基本描述信息给智能电视;智能电视会请求建立播放会话,手机端返回会话建立所需信息,播放会话建立;智能电视请求播放视频,手机端回话并且开始发送流数据;停止播放或播放结束后,智能电视发送关闭会话请求或者直接退出播放程序,结束本次播放会话。

    7.如权利要求1所述的一种智能手机投屏方法,其特征在于,在电视端部署媒体播放器,实现对手机端发送过来的媒体流文件的播放;通过集成vlc播放器的开源框架,借由其提供的api接口,实现对音频和视频文件的播放;采用glide加载图片,弥补vlc播放器无法播放图片的缺陷,将图片缓存到内存,针对比较大的图片,设置其缓存期间的缩略图,加载到glideimageview来播放图片。

    8.如权利要求1所述的一种智能手机投屏方法,其特征在于,在多手机端共同控制媒体文件的播放场景,为了防止多操作指令同时到达媒体播放器引起播放器异常或操作指令信息丢失,采用异步消息队列处理手机端的控制命令消息。

    9.如权利要求8所述的一种智能手机投屏方法,其特征在于,手机向智能电视发送的控制命令,先进入消息队列,messqgequeue可作为消息队列,android系统的looper函数实现对消息队列的轮询,hander则用与消息分发,实现媒体播放器则对消息队列的消息一次进行接收、解析、处理执行。

    10.如权利要求8所述的一种智能手机投屏方法,其特征在于,若媒体播放时,多设备下发控制指令可能导致媒体播放器异常,采用执行命令前,先判断播放器状态的,只有播放器状态正常,才会执行收到的控制指令。

    技术总结
    本发明公开了一种智能手机投屏方法,选择基于Android的智能手机作为媒体文件服务器,基于Android的智能电视作为媒体播放器,实现手机投屏后仍然可以进行其他操作,并且可以由局域网内的各智能手机终端,安装服务端程序后对投屏的媒体文件进行控制。本申请基于Android的智能电视端的专门的媒体播放器、智能手机端的媒体资源服务器和多手机同时控制播放策略,以及投屏播放时,对媒体资源传输码率的自适应方案。结合当下Wi‑Fi在家庭环境的应用,以及是基于Android的智能电视与智能手机的普及,具有广阔的应用空间。

    技术研发人员:谭文韬
    受保护的技术使用者:四川长虹电器股份有限公司
    技术研发日:2020.11.19
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-6392.html

    最新回复(0)