具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在本发明实施例中,提供了一种用于第一用户客户端的多媒体内容播放方法,该第一用户客户端将同一多媒体内容分享给至少一个第二用户客户端同步播放,实现了分享多媒体内容的第一用户客户端的登录用户与至少一个第二用户客户端的登录用户同步观看同一多媒体内容,在观看过程中,分享多媒体内容的第一用户客户端实时获取每个第二用户客户端的在线状态信息(例如,表示第二用户客户端是在线还是离线的信息),进而基于每个第二用户客户端的在线状态信息来控制多媒体内容内容的播放,例如,当有第二用户客户端离线了,第一用户客户端可以控制多媒体内容暂停或继续播放;当离线的第二用户客户端再次在线时,第一用户客户端可以控制多媒体内容退回至某个播放进度处开始播放,或基于第一用户客户端目前的播放进度继续播放等。
在一个实施方式中,上述第一用户客户端和第二用户客户端可以是可移动设备。例如,可以是手机、平板电脑等。上述第一用户客户端和第二用户客户端还可以是桌面设备,例如:桌面个人计算机(PC机)、一体机等。
在一个实施方式中,上述多媒体内容可以是视频、音频、静态的文字内容(例如,PPT)等。
在一个实施方式中,如图1所示,提供了一种用于第一用户客户端的多媒体内容播放方法,包括:
步骤101:将同一多媒体内容分享给至少一个第二用户客户端同步播放;
步骤102:实时获取每个所述第二用户客户端的在线状态信息;
步骤103:基于每个所述第二用户客户端的在线状态信息控制所述多媒体内容的播放。
在一个使用场景下,用户张三登录第一用户客户端后,打开一个APP来观看视频“晓说”,张三发现该视频很有趣或很有意义想跟家人(或朋友)一起观看,此时,张三可以通过登录的第一用户客户端输入一个邀请家人(或朋友)一起观看该视频的请求操作,将该视频分享给家人(或朋友),以实现和家人(或朋友)同步观看该视频,在与家人(或朋友)同步观看该视频的过程中,张三登录的第一用户客户端实时获取家人(或朋友)每个人登录的第二用户客户端的在线状态信息,来确定每个家人登录的第二用户客户端是否在线,进而可以基于每个家人登录的第二用户客户端的在线状态信息实时控制视频的播放,例如,当张三发现某个家人(或朋友)登录的第二用户客户端处于离线状态,此时,张三可以通过登录的第一用户客户端在这个第二用户客户端离线时暂停播放上述视频,等待该离线的第二用户客户端再次接入以便一起观看;张三也可以通过登录的第一用户客户端选择不暂停继续播放该视频。
在一个实施方式中,用户登录第一用户客户端打开APP后,可通过摇一摇、输入文字指令或点击用户列表中用户头像等方式,来输入一个邀请家人或朋友一起观看该视频的请求操作。
在一个实施方式中,如图2所示,第一用户客户端100可以通过服务器200将多媒体内容分享给至少一个第二用户客户端300同步播放。第一用户客户端100也可以直接将多媒体内容分享给至少一个第二用户客户端300同步播放。
在一个实施方式中,在和家人(或朋友)同步观看同一多媒体内容时,为了增强观看的趣味性、互动性,第一用户客户端在同步播放所述多媒体内容的同时,第一用户客户端还同步显示所述至少一个第二用户客户端的登录用户的实时视频影像。
在一个实施方式中,第一用户客户端可以选择性的同步显示或不同步显示自身的登录用户的实时视频影像。例如,第一用户客户端还可以同步显示所述第一用户客户端的登录用户的实时视频影像,使得在与至少一个第二用户客户端的登录用户视频互动的同时,第一用户客户端的登录用户还可以通过自身的实时视频影像实时观察到自己在视频互动时的表情或状态。第一用户客户端可以在同步显示第二用户客户端的登录用户的实时视频影像的同时,同步显示所述第一用户客户端的登录用户的实时视频影像;第一用户客户端也可以始终同步显示所述第一用户客户端的登录用户的实时视频影像。
在一个使用场景下,如图3所示,用户张三将视频分享给朋友A、B同步观看的过程中,张三登录的第一用户客户端的显示器上,在播放视频内容的同时,还显示自己的实时视频影像(如图3中右侧所示,圆圈张三表示张三的实时视频窗口)以及正在同步观看视频的朋友A、B的实时视频影像(如图3中右侧所示,圆圈A、B分别表示朋友A、B的实时视频窗口),这样张三与朋友A、B可以实时就视频中的某个场景或剧情发表看法进行讨论,也可以一起边聊天一起观看视频。
在一个实施方式中,如图2所示,第一用户客户端100可以通过服务器200与至少一个第二用户客户端300建立视频互动的视频连接。第一用户客户端100也可以直接与至少一个第二用户客户端300建立视频互动的视频连接。
在一个使用场景下,第一用户客户端100通过服务器200与第二用户客户端300分享多媒体内容且视频互动的交互过程如图4所示,第一用户客户端100向服务器发起分享多媒体内容的分享请求,该分享请求中可以包括多媒体内容的名称、第二用户客户端300的标识信息等,本申请不做具体限定;服务器200响应于分享请求将多媒体内容发送给第一用户客户端100和第二用户客户端300同步播放;在第一用户客户端100和第二用户客户端300同步播放多媒体内容的同时,服务器200接收第一用户客户端100的登录用户的实时视频影像并发送给第二用户客户端300,服务器200还接收第二用户客户端300的登录用户的实时视频影像并发送给第一用户客户端100。
在一个实施方式中,上述第一用户客户端的显示器上可以包括两个区域,第一区域用于播放多媒体内容,第二区域可以实时显示正在同步观看该多媒体内容的用户的视频影像。例如,在第二区域中可以设置多个视频窗口,每个视频窗口用于显示一个用户的实时视频影像。
在一个实施方式中,为了能实时控制上述多媒体内容的播放,第一用户客户端可以通过主动的方式实时获取每个第二用户客户端的在线状态信息,也可以通过被动的方式实时获取每个第二用户客户端的在线状态信息。
例如,通过被动的方式获取每个第二用户客户端的在线状态信息的方法可以是:实时接收每个第二用户客户端的在线状态信息,可以接收第二用户客户端发送的自身的在线状态信息,也可以接收服务器发送的每个第二用户客户端的在线状态信息。
通过主动的方式获取每个第二用户客户端的在线状态信息的方法可以是:第一用户客户端根据每个第二用户客户端的登录用户的实时视频影像的显示状态变化,实时获取每个第二用户客户端的在线状态信息,例如,一个第二用户客户端的用户的实时视频影像出现消失、定格在某一画面等现象时,第一用户客户端可以认为该第二用户客户端由于网络、接听电话、设备关机、通信中断等原因离线,即可以确定该第二用户客户端的在线状态信息为离线。
在一个实施方式中,为了实现基于每个第二用户客户端的在线状态信息控制多媒体内容的播放,当至少一个第二用户客户端的在线状态信息为离线时,第一用户客户端可以通过文字或语音等方式提示登录用户有第二用户客户端离线了,提示登录用户向第一用户客户端输入第一控制指令,该第一控制指令用于指示第一用户客户端和在线的第二用户客户端在离线的第二用户客户端离线时的播放进度处,暂停播放多媒体内容或者继续播放多媒体内容,第一用户客户端接收用户输入的第一控制指令。
在一个实施方式中,第一用户客户端接收用户输入的第一控制指令后,第一用户客户端可以将第一控制指令发送给服务器,通过服务器来响应第一控制指令,控制第一用户客户端和在线的第二用户客户端在离线的第二用户客户端离线时的播放进度处,暂停播放多媒体内容或者继续播放多媒体内容。第一用户客户端也可以自主的响应第一控制指令,在离线的第二用户客户端离线时的播放进度处,控制第一用户客户端和在线的第二用户客户端暂停播放多媒体内容或者继续播放多媒体内容。
在一个使用场景下,如图3所示,张三与朋友A、B同步观看同一视频的过程中,张三登录的第一用户客户端判断出朋友A登录的第二用户客户端的在线状态信息为离线,此时,张三登录的第一用户客户端通过文字或语音等方式提示张三朋友A登录的第二用户客户端已离线,提示张三输入选择暂停或继续的第一控制指令,张三可以通过文字或语音的方式输入触发暂停的第一控制指令,张三登录的第一用户客户端响应于第一控制指令,控制第一用户客户端和在线的第二用户客户端的显示器在朋友A登录的第二用户客户端离线时的播放进度处(如图3所示的播放时长为07:59)暂停播放视频,等待朋友A再次登录上线以便一起观看。或者,张三也可以通过文字或语音的方式输入触发继续的第一控制指令,张三登录的第一用户客户端响应于第一控制指令,控制第一用户客户端和在线的第二用户客户端的显示器继续播放视频。
在一个实施方式中,当离线的第二用户客户端再次在线时,第一用户客户端还可以控制多媒体内容回退播放或继续播放。例如,在离线的第二用户客户端的在线状态信息变更为在线时,第一用户客户端可以通过文字或语音等方式提示登录用户离线的第二用户客户端变更为在线了,提示登录用户向第一用户客户端输入第二控制指令,该第二控制指令用于指示第一用户客户端和在线的第二用户客户端回退至所述离线的第二用户客户端离线时的播放进度处开始播放所述多媒体内容,或者,指示第一用户客户端和在线的第二用户客户端基于第一用户客户端目前的播放进度继续播放所述多媒体内容,第一用户客户端接收用户输入的第二控制指令。
在一个实施方式中,第一用户客户端接收第二控制指令后,可以将第二控制指令发送给服务器,通过服务器响应第二控制指令,控制第一用户客户端和当前在线的第二用户客户端回退至离线的第二用户客户端离线时的播放进度处开始播放多媒体内容,或者,控制第一用户客户端和当前在线的第二用户客户端基于第一用户客户端目前的播放进度继续播放多媒体内容。第一用户客户端也可以自主的响应第二控制指令,控制第一用户客户端和当前在线的第二用户客户端回退至离线的第二用户客户端离线时的播放进度处开始播放多媒体内容,或者,控制第一用户客户端和当前在线的第二用户客户端基于第一用户客户端目前的播放进度继续播放多媒体内容。
在一个使用场景下,如图5所示,之前朋友A登录的第二用户客户端已离线,当张三登录的第一用户客户端获取到朋友A登录的第二用户客户端的在线状态信息变更为在线时,说明朋友A登录的第二用户客户端再次上线,并请求再次加入同步观看视频,此时张三登录的第一用户客户端提示张三朋友A已再次上线,提示输入选择退回朋友A离线时的播放进度处(例如,播放时长为07:59)开始播放或基于当前播放进度继续播放的第二控制指令,张三可以通过文字或语音的方式输入第二控制指令,张三登录的第一用户客户端响应于第二控制指令,控制第一用户客户端和当前在线的第二用户客户端的显示器退回朋友A登录的第二用户客户端离线时的播放进度处(例如,播放时长为07:59)开始播放视频,与朋友A再次同步观看;或者,控制第一用户客户端和当前在线的第二用户客户端的显示器基于第一用户客户端当前播放的进度继续播放视频。
在一个实施方式中,第一用户客户端实时获取每个第二用户客户端的在线状态信息时,也可以实时获取每个第二用户客户端的播放进度信息(例如,播放时长、时间戳等信息)。例如,第一用户客户端可以直接接收每个第二用户客户端的播放进度信息,也可以根据每个第二用户客户端的登录用户的实时视频影像的显示状态变化自主的确定播放进度信息,可以将第二用户客户端的用户的实时视频影像出现消失、定格在某一画面等现象时(即该第二用户客户端离线),将第一用户客户端当前的播放进度确定为离线的第二用户客户端离线时的播放进度信息。
在一个实施方式中,离线的第二用户客户端可以主动请求再次加入同步观看上述多媒体内容,也可以通过第一用户客户端再次邀请离线的第二用户客户端加入,例如,当所述离线的第二用户客户端的在线状态信息在预设时长内均为离线时(即离线的第二用户客户端长时间迟迟不能重新加入),第一用户客户端可以发送请求离线的第二用户客户端再次同步播放所述多媒体内容的第一邀请请求。该第一邀请请求可以直接发给离线的第二用户客户端,也可以发给服务器,服务器响应于第一邀请请求,向离线的第二用户客户端发送第二邀请请求,以便邀请离线的第二用户客户端重新加入同步播放所述多媒体内容。
在一个使用场景下,通过张三登录的第一用户客户端邀请离线的朋友A登录的第二用户客户端再次加入视频同步播放时,张三登录的第一用户客户端可以在服务器或在本地搜索与张三同步看过视频的用户列表,在该用户列表中找到朋友A登录的第二用户客户端的相关信息(例如,朋友A的登录账号信息、朋友A登录的第二用户客户端的IP地址等),以便发送邀请朋友A登录的第二用户客户端重新再次加入视频同步播放的第一邀请请求,在该第一邀请请求中包括朋友A登录的第二用户客户端的相关信息。
在一个实施方式中,提供了一种第一用户客户端,如图6所示,该第一用户客户端可以包括:
播放模块101,用于将同一多媒体内容分享给至少一个第二用户客户端同步播放;
信息获取模块102,用于实时获取每个第二用户客户端的在线状态信息;
播放控制模块103,用于基于基于每个所述第二用户客户端的在线状态信息控制所述多媒体内容的播放。
在一个实施方式中,在和家人(或朋友)同步观看同一多媒体内容时,为了增强观看的趣味性、互动性,上述第一用户客户端,还包括:
显示模块,用于在同步播放所述多媒体内容的同时,同步显示所述至少一个第二用户客户端的登录用户的实时视频影像。
在一个实施方式中,显示模块,还用于同步显示所述第一用户客户端的登录用户的实时视频影像。
在一个实施方式中,信息获取模块可以被动的获取每个第二用户客户端的在线状态信息。例如,所述信息获取模块,用于实时接收每个所述第二用户客户端的在线状态信息。
在一个实施方式中,信息获取模块还可以通过主动的方式获取每个第二用户客户端的在线状态信息。例如,信息获取模块,还用于根据每个所述第二用户客户端的登录用户的所述实时视频影像的显示状态变化,实时获取每个所述第二用户客户端的在线状态信息。
在一个实施方式中,上述第一用户客户端,还包括:
控制指令接收模块,用于在至少一个所述第二用户客户端的在线状态信息为离线时,接收用户输入的第一控制指令,所述第一控制指令用于指示所述第一用户客户端和在线的第二用户客户端在离线的第二用户客户端离线时的播放进度处,暂停播放所述多媒体内容或者继续播放所述多媒体内容。
在一个实施方式中,所述播放控制模块,还用于响应于所述第一控制指令,控制所述第一用户客户端和在线的第二用户客户端在离线的第二用户客户端离线时的播放进度处,暂停播放所述多媒体内容或者继续播放所述多媒体内容。
在一个实施方式中,所述控制指令接收模块,还用于在所述离线的第二用户客户端的在线状态信息变更为在线时,接收用户输入的第二控制指令,所述第二控制指令用于指示所述第一用户客户端和当前在线的第二用户客户端回退至所述离线的第二用户客户端离线时的播放进度处开始播放所述多媒体内容,或者,指示所述第一用户客户端和当前在线的第二用户客户端基于第一用户客户端目前的播放进度继续播放所述多媒体内容。
在一个实施方式中,所述播放控制模块,还用于响应于所述第二控制指令,控制所述第一用户客户端和当前在线的第二用户客户端回退至所述离线的第二用户客户端离线时的播放进度处开始播放所述多媒体内容,或者,控制所述第一用户客户端和当前在线的第二用户客户端基于所述第一用户客户端目前的播放进度继续播放所述多媒体内容。
在一个实施方式中,上述第一用户客户端,还包括:
发送模块,用于当所述离线的第二用户客户端的在线状态信息在预设时长内均为离线时,发送请求所述离线的第二用户客户端再次同步播放所述多媒体内容的第一邀请请求。
在一个实施方式中,提供了一种多媒体内容播放方法,例如,该多媒体内容播放方法可以用于服务器,如图7所示,该方法包括:
步骤701:将第一用户客户端分享的同一多媒体内容发送给至少一个第二用户客户端同步播放;
步骤702:实时获取每个所述第二用户客户端的在线状态信息;
步骤703:基于每个所述第二用户客户端的在线状态信息控制所述多媒体内容的播放。
在一个使用场景下,张三通过登录的第一用户客户端将视频“晓说”分享给朋友或家人一起同步观看,此时,服务器将视频“晓说”同步发送给张三登录的第一用户客户端和被邀请的朋友或家人登录的第二用户客户端,使得张三与被邀请的朋友或家人同步观看视频“晓说”,在观看过程中,服务器实时获取被邀请的朋友或家人中每人登录的第二用户客户端的在线状态信息,并基于每个第二用户客户端的在线状态信息控制视频“晓说”的播放。
在一个实施方式中,当第一客户用户端通过服务器与第二用户客户端建立实时视频连接时,服务器可以将每个第二用户客户端的的登录用户的实时视频影像发送给所述第一用户客户端,以便第一客户用户端显示每个第二用户客户端的实时视频影像;此外,在所述至少一个第二用户客户端和所述第一用户客户端中,服务器还可以将每个用户客户端的登录用户的实时视频影像发送给其他用户客户端,使得第一用户客户端可以获取每个第二用户客户端的实时视频影像,每个第二用户客户端也可以获取第一用户客户端和其他第二用户客户端的实时视频影像,实现每个正在参与该多媒体内容同步播放的用户客户端实时显示所有正在同步观看该多媒体内容的用户的实时视频影像,所有正在同步观看的用户可以基于多媒体内容的场景、剧情进行实时讨论、互动。
在一个实施方式中,服务器可以通过以下步骤实时获取每个所述第二用户客户端的在线状态信息:
服务器实时监测每个所述第二用户客户端发送的心跳信息;例如,每个第二用户客户端按照预设时间间隔向服务器发送心跳信息,该心跳信息可以包括第二用户客户端的播放进度、第二用户客户端的标识(例如,第二用户客户端的IP地址、第二用户客户端的登录用户的账号信息等)以及第二用户客户端的时间戳等信息。
服务器将在预设时间段内未监测到心跳信息的第二用户客户端确定为离线的第二用户客户端,将所述离线的第二用户客户端的在线状态信息确定为离线。也就是说,对于在预设时间段内(例如,预设数量的心跳信息未监测到)服务器未监测到心跳信息的第二用户客户端,服务器认为该第二用户客户端由于网络、接听电话、设备关机、通信中断等原因离线,将离线确定为该第二用户客户端的在线状态信息,可以将上次监测的心跳信息中的播放进度确定为该离线的第二用户客户端离线时的播放进度信息。
在一个实时方式中,当有第二用户客户端离线时,服务器通过以下步骤控制多媒体内容的播放:
接收所述第一用户客户端发送的第一控制指令,其中,所述第一控制指令是所述第一用户客户端在至少一个所述第二用户客户端的在线状态信息为离线时接收的,所述第一控制指令用于指示第一用户客户端和在线的第二用户客户端在离线的第二用户客户端离线时的播放进度处,暂停播放所述多媒体内容或者继续播放所述多媒体内容;例如,当服务器确定出有第二用户客户端离线时,实时向第一用户客户端发送离线的第二用户客户端的在线状态信息,第一用户客户端通过文字或语音等方式提示用户输入触发暂停或继续的第一控制指令,第一用户客户端的用户可以根据自己的意愿通过文字或语音等方式输入选择暂停或继续的第一控制指令,第一用户客户端将接收的第一控制指令发送给服务器。
服务器响应于所述第一控制指令,控制所述第一用户客户端和所述在线的第二用户客户端在所述离线的第二用户客户端离线时的播放进度处,暂停播放所述多媒体内容或者继续播放所述多媒体内容。
在一个实施方式中,当离线的第二用户客户端再次上线时,服务器通过以下步骤控制多媒体内容的播放:
接收所述第一用户客户端发送的第二控制指令,其中,所述第二控制指令是所述第一用户客户端在所述离线的第二用户客户端的在线状态信息变更为在线时接收的,所述第二控制指令用于指示所述第一用户客户端和当前在线的第二用户客户端回退至所述离线的第二用户客户端离线时的播放进度处开始播放所述多媒体内容,或者,指示所述第一用户客户端和当前在线的第二用户客户端基于第一用户客户端目前的播放进度继续播放所述多媒体内容;例如,当服务器确定出离线的第二用户客户端上线时,实时向第一用户客户端发送离线的第二用户客户端的在线状态信息,第一用户客户端通过文字或语音等方式提示用户输入触发暂停或继续的第二控制指令,第一用户客户端的用户可以根据自己的意愿通过文字或语音等方式输入选择暂停或继续的第二控制指令,第一用户客户端将接收的第二控制指令发送给服务器。
服务器响应于所述第二控制指令,控制所述第一用户客户端和当前在线的第二用户客户端回退至所述离线的第二用户客户端离线时的播放进度处开始播放所述多媒体内容,或者,控制控制所述第一用户客户端和当前在线的第二用户客户端基于第一用户客户端目前的播放进度继续播放所述多媒体内容。
在一个使用场景下,朋友A登录的第一用户客户端已离线,当服务器再次监测到离线的第二用户客户端的心跳信息时,说明朋友A登录的第二用户客户端再次上线,并请求再次加入同步观看视频,服务器确定朋友A登录的第二用户客户端的在线状态信息为在线,将上次监测到的该朋友A登录的第二用户客户端的心跳信息中的播放进度(例如,播放时长为07:59)确定为朋友A登录的第二用户客户端的播放进度信息,此时服务器将朋友A登录的第二用户客户端的在线状态信息发送给张三登录的第一用户客户端,张三登录的第一用户客户端通过文字、语音等方式提示张三输入触发退回或继续的第二控制指令,张三通过文字或语音等方式输入触发退回或继续的第二控制指令,第一用户客户端将第二控制指令发送给服务器,服务器响应于第二控制指令,控制所述第一用户客户端和当前在线的第二用户客户端退回至朋友A登录的第二用户客户端离线时的播放进度处(例如,播放时长为07:59)开始播放视频,使得张三与朋友A再次同步观看;或者,控制所述第一用户客户端和当前在线的第二用户客户端基于第一用户客户端当前播放的进度继续播放视频。
在一个实施方式中,服务器通过以下步骤将离线的第二用户客户端再次加入同步播放的过程:
服务器接收第一邀请请求,该第一邀请请求可以是第一用户客户端发送的,也可以是离线的第二用户客户端发送的,其中,所述第一邀请请求用于请求在线状态信息在预设时长内均为离线的所述离线的第二用户客户端再次同步播放所述多媒体内容;
服务器响应所述第一邀请请求,向所述离线的第二用户客户端发送第二邀请请求,第二邀请请求用于邀请所述离线的第二用户客户端再次同步播放所述多媒体内容,以便于离线的第二用户客户端基于第二邀请请求向服务器发送心跳信息,实现离线的第二用户客户端再次加入同步播放多媒体内容。
在一个实施方式中,服务器监测到所述离线的第二用户客户端的心跳信息时,将所述离线的第二用户客户端的在线状态信息确定为在线,实时向第一用户客户端发送离线的第二用户客户端的在线状态信息,以提示第一用户客户端离线的第二用户客户端已再次上线,以便判断需要退回还是继续播放。
在一个实施方式中,提供了一种服务器,如图8所示,所述服务器包括存储器201和处理器202,所述存储器201中包括计算机程序,所述计算机程序被所述处理器202执行时,实现以下步骤:包括:
步骤701:将第一用户客户端分享的同一多媒体内容发送给至少一个第二用户客户端同步播放;
步骤702:实时获取每个第二用户客户端的在线状态信息;
步骤703:基于每个所述第二用户客户端的在线状态信息控制所述多媒体内容的播放。
在一个实施方式中,服务器将多媒体内容发送给至少两个第二用户客户端的同步播放的同时,将每个第二用户客户端的登录用户的实时视频影像发送给第一用户客户端,以便第一用户客户端显示每个第二用户客户端的登录用户的实时视频影像;此外,服务器还可以在所述至少一个第二用户客户端和所述第一用户客户端中,将每个用户客户端的登录用户的实时视频影像发送给其他用户客户端,使得第一用户客户端可以获取每个第二用户客户端的实时视频影像,每个第二用户客户端也可以获取第一用户客户端和其他第二用户客户端的实时视频影像,实现每个正在参与该多媒体内容同步播放的用户客户端实时显示所有正在同步观看该多媒体内容的用户的实时视频影像,所有正在同步观看的用户可以基于多媒体内容的场景、剧情进行实时讨论、互动。
在一个实施方式中,所述计算机程序被所述处理器执行时,还实现以下步骤:
实时监测每个所述第二用户客户端发送的心跳信息;
将在预设时间段内未监测到心跳信息的第二用户客户端确定为离线的第二用户客户端,将所述离线的第二用户客户端的在线状态信息确定为离线。
在一个实施方式中,所述计算机程序被所述处理器执行时,还实现以下步骤:
接收所述第一用户客户端发送的第一控制指令,其中,所述第一控制指令是所述第一用户客户端在至少一个所述第二用户客户端的在线状态信息为离线时接收的,所述第一控制指令用于指示所述第一用户客户端和在线的第二用户客户端在离线的第二用户客户端离线时的播放进度处,暂停播放所述多媒体内容或者继续播放所述多媒体内容;
响应于所述第一控制指令,控制所述第一用户客户端和在线的第二用户客户端在所述离线的第二用户客户端离线时的播放进度处,暂停播放所述多媒体内容或者继续播放所述多媒体内容。
在一个实施方式中,所述计算机程序被所述处理器执行时,还实现以下步骤:
接收所述第一用户客户端发送的第二控制指令,其中,所述第二控制指令是所述第一用户客户端在所述离线的第二用户客户端的在线状态信息变更为在线时接收的,所述第二控制指令用于指示所述第一用户客户端和当前在线的第二用户客户端回退至所述离线的第二用户客户端离线时的播放进度处开始播放所述多媒体内容,或者,指示所述第一用户客户端和当前在线的第二用户客户端基于第一用户客户端目前的播放进度继续播放所述多媒体内容;
响应于所述第二控制指令,控制所述第一用户客户端和当前在线的第二用户客户端回退至所述离线的第二用户客户端离线时的播放进度处开始播放所述多媒体内容,或者控制所述第一用户客户端和当前在线的第二用户客户端基于第一用户客户端目前的播放进度继续播放所述多媒体内容。
在一个实施方式中,所述计算机程序被所述处理器执行时,还实现以下步骤:
接收第一邀请请求,其中,所述第一邀请请求用于请求在线状态信息在预设时长内均为离线的所述离线的第二用户客户端再次同步播放所述多媒体内容;
响应所述第一邀请请求,向所述离线的第二用户客户端发送第二邀请请求,其中,所述第二邀请请求用于邀请所述离线的第二用户客户端再次同步播放所述多媒体内容。
在一个实施方式中,所述计算机程序被所述处理器执行时,还实现以下步骤:
当监测到所述离线的第二用户客户端的心跳信息时,将所述离线的第二用户客户端的在线状态信息确定为在线。
在一个实施方式中,在不同使用场景中,第一用户客户端可以用作第二用户客户端,第二用户客户端也可以用作第一用户客户端,第二用户客户端可以具有第一用户客户端的全部功能,第二用户客户端与第一用户客户端具备相同的结构。
在一个实施方式中,上述多媒体内容播放方法在第一用户客户端和第二用户客户端上可以通过APP的方式实现,例如,优酷APP、爱奇艺APP、芒果TV等。
由以上本申请实施例提供的技术方案可见,多媒体内容播放方法、服务器、用户客户端及计算机可读存储介质,使得第一用户客户端可以实时获取每个第二用户客户端的在线状态信息,进而可以基于每个第二用户客户端的在线状态信息来控制多媒体内容播放,实现了可以基于每个用户在观看中途的离线状态,灵活的控制多媒体内容暂停播放、继续播放或退回至某个进度播放,个别用户离线后再次加入同步观看该视频时可以避免重新播放整个视频,从而可以解决现有技术中多人同步观看视频时中途离线的少数用户再次观看该视频需要重新播放而导致降低用户体验的技术问题,达到了改善用户体验的技术效果。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
本申请中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。