CN110162255B - 单机程序的运行方法、装置、设备及存储介质 - Google Patents

单机程序的运行方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110162255B
CN110162255B CN201910464785.0A CN201910464785A CN110162255B CN 110162255 B CN110162255 B CN 110162255B CN 201910464785 A CN201910464785 A CN 201910464785A CN 110162255 B CN110162255 B CN 110162255B
Authority
CN
China
Prior art keywords
terminal
program
main program
operation command
account
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
CN201910464785.0A
Other languages
English (en)
Other versions
CN110162255A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910464785.0A priority Critical patent/CN110162255B/zh
Publication of CN110162255A publication Critical patent/CN110162255A/zh
Priority to PCT/CN2020/092045 priority patent/WO2020238840A1/zh
Priority to EP20815547.3A priority patent/EP3979059A4/en
Priority to JP2021538795A priority patent/JP2022517562A/ja
Application granted granted Critical
Publication of CN110162255B publication Critical patent/CN110162255B/zh
Priority to US17/338,108 priority patent/US11606423B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/34Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an MPEG-stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/843Special adaptations for executing a specific game genre or game mode involving concurrently two or more players on the same game device, e.g. requiring the use of a plurality of controllers or of a specific view of game data for each player
    • 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/04842Selection of displayed objects or displayed text elements
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/408Peer to peer connection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands

Abstract

本申请公开了一种单机程序的运行方法、装置、设备以及存储介质,涉及应用程序领域。该方法包括:在第一主程序中运行单机程序,通过第一终端中运行的第一主程序与第二终端中运行的第二主程序建立第一终端与第二终端之间的网络连接;通过上述网络连接实现第一终端向第二终端传输图像信息,以及第二终端向第一终端传输第二操作命令;其中,单机程序是支持对第一操作对象和第二操作对象进行分别控制的程序。该方法通过第一主程序建立的与第二终端网络连接,实现了第一终端与第二终端分别控制单机程序中的第一操作对象和第二操作对象,使不同地域的用户使用不同的终端进行单机程序的多人操作模式下的操作控制。

Description

单机程序的运行方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种单机程序的运行方法、装置、设备及存储介质。
背景技术
单机游戏通常是在一台电子设备上独立运行,甚至不需要接入网络。一些单机游戏支持单人模式和多人模式。其中,单人模式是指单机游戏中仅有一个操作对象可以被控制操作;多人模式是指单机游戏中有至少两个操作对象可以分别被控制操作。
单机游戏中的操作对象是通过电子设备的输入设备进行操作控制。单机游戏的多人模式通常是可以通过至少一个输入设备进行操作控制;比如,通过对键盘分区可以控制单机游戏中的两个操作对象,或者,通过在电子设备上接入两个操作手柄,通过两个手柄分别控制单机游戏中的两个操作对象。
但是,单机游戏的多人模式只能通过一台电子设备进行操作控制,不支持两个以及两个以上的电子设备同时进行操作控制。
发明内容
本申请实施例提供了一种单机程序的运行方法、装置、设备及存储介质,可以解决单机游戏的多人模式只能通过一台电子设备进行操作控制,不支持两个以及两个以上的电子设备同时进行操作控制的问题。所述技术方案如下:
根据本申请的一个方面,提供了一种单机程序的运行方法,应用于运行有第一主程序的第一终端中,该方法包括:
在第一主程序中运行单机程序,单机程序是支持对第一操作对象和第二操作对象进行分别控制的程序;
通过第一主程序与第二终端建立网络连接;
通过网络连接向第二终端发送单机程序的图像信息;
通过第一主程序接收第一终端的输入设备输入的第一操作命令,通过第一主程序将第一操作命令传递至单机程序;单机程序用于根据第一操作命令控制第一操作对象;
通过第一主程序接收第二终端通过网络连接发送的第二操作命令,通过第一主程序将第二操作命令传递至单机程序;单机程序还用于根据第二操作命令控制第二操作对象。
根据本申请的另一个方面,提供了一种单机程序的运行方法,应用于运行有第二主程序的第二终端中,该方法包括:
通过第二主程序与第一终端建立网络连接;
通过第二主程序接收第一终端通过网络连接发送的单机程序的图像信息;
通过第二主程序显示图像信息;
通过第二主程序接收第二终端的输入设备输入的第二操作命令,通过第二主程序向第一终端发送第二操作命令;第二操作命令用于单机程序控制第二操作对象,单机程序是支持对第一操作对象和第二操作对象分别控制的程序。
根据本申请的另一方面,提供了一种单机程序的运行装置,该装置包括第一主程序模块;
上述第一主程序模块包括:
程序运行子模块,用于在第一主程序中运行单机程序,单机程序是支持对第一操作对象和第二操作对象进行分别控制的程序;
网络连接子模块,用于通过第一主程序与第二终端建立网络连接;
网络发送子模块,用于通过网络连接向第二终端发送单机程序的图像信息;
接收子模块,用于通过第一主程序接收第一终端的输入设备输入的第一操作命令,通过第一主程序将第一操作命令传递至单机程序;单机程序用于根据第一操作命令控制第一操作对象;
网络接收子模块,用于通过第一主程序接收第二终端通过网络连接发送的第二操作命令,通过第一主程序将第二操作命令传递至单机程序;单机程序还用于根据第二操作命令控制第二操作对象。
根据本申请的另一方面,提供了一种单机程序的运行装置,该装置包括第二主程序模块;
上述第二主程序模块包括:
网络连接子模块,用于通过第二主程序与第一终端建立网络连接;
网络接收子模块,用于通过第二主程序接收第一终端通过网络连接发送的单机程序的图像信息;
显示子模块,用于通过第二主程序显示图像信息;
网络发送子模块,用于通过第二主程序接收第二终端的输入设备输入的第二操作命令,通过第二主程序向第一终端发送第二操作命令;第二操作命令用于单机程序控制第二操作对象,单机程序是支持对第一操作对象和第二操作对象分别控制的程序。
根据本申请的另一方面,提供了一种终端,该终端包括:
存储器;
与存储器相连的处理器;
其中,处理器被配置为加载并执行可执行指令以实现如上述第一方面及其可选实施例所述的单机程序的运行方法,以及第二方面及其可选实施例所述的单机程序的运行方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,上述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上述第一方面及其可选实施例所述的单机程序的运行方法,以及第二方面及其可选实施例所述的单机程序的运行方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在第一主程序中运行单机程序,通过第一主程序与第二终端建立网络连接;通过网络连接向第二终端发送单机程序的图像信息;通过第一主程序接收第一终端的输入设备输入的第一操作命令,并将第一操作命令传递至单机程序;还通过第一主程序接收第二终端通过网络连接发送的第二操作命令,并将第二操作命令传递至单机程序;其中,单机程序是支持对第一操作对象和第二操作对象进行分别控制的程序,单机程序用于根据第一操作命令控制第一操作对象,且根据第二操作命令控制第二操作命令。该方法通过第一主程序建立的与第二终端网络连接,实现了第一终端与第二终端分别控制单机程序中的第一操作对象和第二操作对象,使不同地域的用户使用不同的终端进行单机程序的多人操作模式下的操作控制。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的计算机系统的结构示意图;
图2是本申请一个示例性实施例提供的单机程序的运行方法的流程图;
图3是本申请一个示例性实施例提供的联机时终端的界面示意图;
图4是本申请另一个示例性实施例提供的单机程序的运行方法的流程图;
图5是本申请另一个示例性实施例提供的单机程序的运行方法的流程图;
图6是本申请一个示例性实施例提供的单机程序联机时终端的界面示意图;
图7是本申请另一个示例性实施例提供的单机程序联机时终端的界面示意图;
图8是本申请另一个示例性实施例提供的单机程序联机时终端的界面示意图;
图9是本申请另一个示例性实施例提供的单机程序联机时终端的界面示意图;
图10是本申请另一个示例性实施例提供的单机程序联机时终端的界面示意图;
图11是本申请另一个示例性实施例提供的单机程序的运行方法的流程图;
图12是本申请另一个示例性实施例提供的单机程序的运行方法的流程图;
图13是本申请另一个示例性实施例提供的单机程序的运行方法的流程图;
图14是本申请另一个示例性实施例提供的单机程序的运行方法的时序图;
图15是本申请一个示例性实施例提供的单机程序的运行装置的框图;
图16是本申请另一个示例性实施例提供的单机程序的运行装置的框图;
图17是本申请一个示例性实施例提供的电子设备的结构示意图;
图18是本申请一个示例性实施例提供的服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
对本申请中的若干个名词进行解释:
单机程序:是在一台电子设备上独立运行的程序,不需要接入网络;比如单机游戏,是在一台电子设备上独立运行的游戏,不需要接入网络。一些单机游戏支持单人模式和多人模式。其中,单人模式是指单机游戏中仅有一个操作对象可以被控制操作;多人模式是指单机游戏中有至少两个操作对象可以分别被控制操作。
单机游戏中的操作对象是通过电子设备的输入设备进行操作控制。单机游戏的多人模式通常是可以通过至少一个输入设备进行操作控制;比如,通过对键盘分区可以控制单机游戏中的两个操作对象,或者,通过在电子设备上接入两个操作手柄,通过两个手柄分别控制单机游戏中的两个操作对象。
请参考图1,示出了一个示例性实施例提供的计算机系统的框图,该计算机系统包括第一终端120、第二终端140和中转服务器160。
第一终端120和第二终端140可以包括笔记本电脑、台式电脑、智能手机、平板电脑中的至少一种。
可选地,第一终端120通过有线或者无线网络与第二终端140建立端到端(Peer toPeer,P2P)的网络连接。
当第二终端140的网络之间互连的协议(Internet Protocol,IP)地址为公网IP时,第一终端120与第二终端140建立P2P直连;
当第二终端140的IP地址经过了IP掩蔽(Network Address Translation,NAT),第一终端120和第二终端140之间进行NAT穿透,建立P2P直连。
可选地,第一终端120通过中转服务器160与第二终端140建立网络连接。
当第二终端140的IP地址经过了NAT,且第一终端120和第二终端140之间无法进行NAT穿透,第一终端120和第二终端140通过中转服务器160进行网络连接。
中转服务器160通过有线或者无线网络分别与第一终端120和第二终端140进行通信。
第一终端120中安装有应用程序(第一主程序),该第一主程序支持单机程序的运行,单机程序是支持对第一操作对象和第二操作对象分别控制的程序;该第一主程序还支持联网程序的运行,比如,该第一主程序还支持网络游戏的运行。
可选地,该第一主程序可以是联机程序。该第一主程序还支持第一终端120与第二终端140分别对单机程序中的第一操作对象和第二操作对象进行控制,此时,该单机程序在第一终端120中运行。
第二终端140中安装有应用程序(第二主程序),第二终端140可以通过该第二主程序与运行有单机程序的第一终端120分别对单机程序中的第一操作对象和第二操作对象进行控制。
可选地,该第二主程序可以支持单机程序的运行,也可以不支持单机程序的运行;其中,单机程序是支持对第一操作对象和第二操作对象分别控制的程序。示意性的,第二终端140不支持单机程序的运行,第二终端140可以通过该第二主程序接收并播放第一终端120发送图像信息和声音信息;通过该第二主程序接收第二终端140的输入设备输入的操作命令;以及通过该第二主程序向第一终端120发送上述操作命令。
可选地,该第二主程序可以是联机程序或者浏览器。上述联机程序支持单机程序的运行;浏览器可以支持单机程序的运行,或者,也可以不支持单机程序的运行。
如图1所示,第一终端120安装有联机程序;第二终端140包括分别安装有联机程序和浏览器的终端。
第一终端120中联机程序包括画面/声音捕获器121、视频/音频编码器122、第一网络发送器123、第一网络接收器124、第一操作命令翻译器125和单机程序控制器126;
在第一终端120中,画面/声音捕获器121捕获单机程序运行时的图像信息和声音信息,并传输至视频/音频编码器122,由视频/音频编码器122对上述图像信息和声音信息进行编码,得到编码后的视频流和音频流,通过第一网络发送器123将上述视频流和音频流发送至第二终端140;
接收器124接收第二终端140发送的控制流,由第一操作命令翻译器125对控制流进行反序列化处理得到反序列化的第二操作命令,再由单机程序控制器126将上述反序列化的第二操作命令传递至单机程序,由该单机程序根据第二操作命令控制第二操作对象。
可选地,第一终端120还通过联机程序接收第一终端120的输入设备输入设备的第一操作命令,并由单机程序控制器126将上述第一操作命令传递至单机程序,由该单机程序根据第一操作命令控制第一操作对象。
在一些实施例中,第二终端140中联机程序包括第二网络接收器141、视频/音频解码器142、播放器143、输入设备适配器144、第二操作命令翻译器145和第二网络发送器146;
在第二终端140中,第二网络接收器141接收第一终端120发送的视频流和音频流,由视频/音频解码器142对上述视频流和音频流进行解码,得到解码后的图像信息和声音信息,将上述图像信息和声音信息发送至播放器143进行播放;
第二终端140接收第二终端140的输入设备输入的第二操作命令,由输入设备适配器144获取得到上述第二操作命令,将上述第二操作命令输入第二操作命令翻译器145进行序列化处理得到控制流,由第二网络发送器146将上述控制流发送至第一终端120。
在一些实施例中,第二终端140中浏览器;浏览器中包括JavaScript软件开发工具包(Software Development Kit,SDK)。
在第二终端140中,通过网络协议接收第一终端120发送的视频流和音频流,并通过相应的控件对视频流和音频流进行播放,比如,通过超文本标记语言5影像(Hyper TextMarkup Language 5 video,HTML5 video)播放视频和超文本标记语言5音频(Hyper TextMarkup Language 5 audio,HTML5 audio)播放音频,或者,通过flash播放视频和音频;
第二终端140接收第二终端140的输入设备输入的第二操作命令之后,浏览器页面的js代码捕获上述第二操作命令,以与上述第二操作命令翻译器145相同的方式对第二操作命令进行序列化,将序列化的控制流通过网络协议发送至第一终端120。
请参考图2,示出了一个示例性实施例提供的单机程序的运行方法的流程图,以该方法应用于图1所示的计算机系统中为例,当第一终端中安装有第一主程序且第二终端中安装有第二主程序时,该方法包括:
步骤201,在第一主程序中运行单机程序。
步骤202,第一终端通过第一主程序与第二终端建立网络连接。
第一主程序中登录有第一帐号,第一帐号包括好友列表,第一终端通过第一主程序与第二终端建立网络连接的示意性步骤如下:
1)在第一终端中显示好友列表,该好友列表中包括至少一个社交好友,社交好友对应有第二帐号。
2)第一终端接收好友列表上的选择操作。
3)第一终端根据选择操作确定目标第二帐号。
4)第一终端与登录有目标第二帐号的第二终端建立网络连接。
可选地,第一终端与登录有目标第二帐号的第二终端建立端到端直连;或,第一终端通过中转服务器与登录有目标第二帐号的第二终端建立网络连接。
步骤203,第二终端通过第二主程序与第一终端建立网络连接。
第二主程序中登录有第二帐号,第二帐号包括好友列表,该好友列表中包括第一帐号对应的社交好友。
第二终端通过第二主程序与登录有第一帐号的第一终端建立端到端直连;或,第二终端通过中转服务器与登录有第一帐号的第一终端建立网络连接。
步骤204,第一终端通过网络连接向第二终端发送单机程序的图像信息。
第一主程序中包括视频编码器和第一网络发送器;第一终端通过网络连接向第二终端发送单机程序的图像信息的示意性步骤如下:
1)第一终端获取显示界面中的图像信息。
可选地,上述图像信息包括单机程序的播放画面或操作系统的桌面。
第一终端获取当前的画面中单机程序的每一帧画面。可选地,图像捕获是对单机程序绘制接口或者操作系统的图形绘制应用程序编程接口(Application ProgrammingInterface,API)进行挂钩(Hook)进而捕获单机程序的图像信息。
2)第一终端通过视频编码器对上述图像信息进行编码,得到编码后的图像信息。
第一终端将获取得到的上述每一帧画面由视频编码器编码成指定视频格式的视频帧;上述指定视频格式指压缩率高且画质高的格式,比如活动图像专家组-4第10部分(H264)、高效视频编码(H256)、视频引擎VP8/VP9、视频编解码标准AV1等视频格式。
3)第一终端通过第一网络发送器向第二终端发送编码后的图像信息。
第一终端将编码后的图像信息以数据包的形式发送至第二终端;数据包上设置有头部信息,该头部信息用于指示数据包类型。比如,数据包类型为视频,则该数据包为视频数据包。
步骤205,第一终端通过第一主程序接收第一终端的输入设备的第一操作命令,通过第一主程序将第一操作命令传递至单机程序。
该第一操作命令用于控制单机程序中的第一操作对象;单机程序用于根据第一操作命令控制第一操作对象。第一操作对象是由第一终端控制的单机程序中的一个对象;比如,在单机游戏中设置有一个虚拟对象,该虚拟对象由第一终端进行行为控制,该虚拟对象即为第一操作对象。
可选地,第一终端的输入设备包括键盘、鼠标、操作手柄、以及触摸屏中的至少一种。
步骤206,第二终端通过第二主程序接收第一终端通过网络连接发送的单机程序的图像信息。
第二主程序中包括第二网络接收器;第二终端通过第二网络接收器接收第一终端通过网络连接发送的图像信息。
步骤207,第二终端通过第二主程序显示图像信息。
第二主程序中包括视频解码器;第二终端通过第二主程序显示图像信息的示意性步骤如下:
1)第二终端通过视频解码器对图像信息进行解码,得到解码后的图像信息。
上述图像信息以数据包的形式进行传输,第二终端根据数据包的头部信息识别数据包类型,识别得到视频数据包。
第二终端将视频数据包的头部信息脱去;将脱去头部信息的视频数据包分发至视频解码器;通过视频解码器对视频数据包进行解码,得到解码后的图像信息。
2)第二终端根据解码后的图像信息显示在第二主程序的用户界面。
步骤208,第二终端通过第二主程序接收第二终端的输入设备输入的第二操作命令,通过第二主程序向第一终端发送第二操作命令。
第二操作命令用于控制单机程序中的第二操作对象;单机程序还用于根据第二操作命令控制第二操作对象。第二操作对象与第一操作对象是不同的操作对象。比如,单机游戏中还包括另一个虚拟对象,上述另一个虚拟对象由第二终端进行行为控制,上述另一个虚拟对象即为第二操作对象;另外,上述一个虚拟对象和另一个虚拟对象可以是单机游戏中两个虚拟人物、两只虚拟动物、或者两块俄罗斯方块。
可选地,第二终端的输入设备包括键盘、鼠标、操作手柄、以及触摸屏中的至少一种。
可选地,当单机程序运行在windows平台时,上述第二操作命令的获取方式可以包括如下方式中的至少一种:
a、通过windows消息拦截获取上述第二操作命令;
b、通过对GetRawInput API进行Hook进而捕获上述第二操作命令;
c、从驱动层捕获上述操作命令。
可选地,第二主程序中包括第二操作命令翻译器和第二网络发送器;第二终端通过第二主程序向第一终端发送第二操作命令示意性步骤如下:
1)第二终端通过第二操作命令翻译器对第二操作命令进行序列化,得到序列化后的第二操作命令。
第二终端通过第二操作命令翻译器将获取得到的第二操作命令序列化为指定信息描述格式的数据,从而生成序列化后的第二操作命令。
示意性的,第二操作命令翻译器将来自不同输入设备的操作命令进行分类,并翻译成对应的表述信息;比如,对于鼠标输入的操作命令,对应的表述信息中记录了鼠标按键被按下或者抬起的位置信息、动作发生时鼠标的光标在游戏画面中的位置信息、以及鼠标的滚轮的滚动变化量等等信息。
可选地,指定信息描述格式可以包括JS对象简谱(JavaScript Object Notation,JSON)、可扩展标记语言(eXtensible Markup Language,XML)、Protocol Buffer或者其他共有/私有协议对应的格式。
第二终端还将上述序列化后的第二操作命令的数据包加上头部信息,该头部信息用于标记该数据包类型为第二操作命令。
2)第二终端通过第二网络发送器向第一终端发送序列化后的第二操作命令。
步骤209,第一终端通过第一主程序接收第二终端通过网络连接发送的第二操作命令,通过第一主程序将第二操作命令传递至单机程序。
可选地,第一主程序中包括第一操作命令翻译器和单机程序控制器;第一终端通过第一主程序接收第二终端通过网络连接发送的第二操作命令之后,
首先,通过第一操作命令翻译器对序列化的第二操作命令进行反序列化,得到反序列化后的第二操作命令;
第二操作命令是以数据包的形式传输的,第一终端根据数据包的头部信息识别得到第二操作命令的数据包,并脱去数据包的头部信息,第一终端对第二操作命令进行反序列化,得到反序列化后的第二操作命令。
可选地,第一终端将脱去头部信息的第二操作命令的数据包分发至第一操作命令翻译器;由第一操作命令翻译器对脱去头部信息的数据包进行翻译,对第二操作命令进行反序列化,得到反序列化后的第二操作命令;其中,反序列化后的第二操作命令可以被第一终端识别并执行。
可选地,当反序列化后的第二操作命令的格式为第一格式时,第一终端将上述第二操作命令的第一格式转换为第二格式;其中,第一终端无法执行第一格式的第二操作命令,第一终端可以执行第二格式的第二操作命令。
其次,通过单机程序控制器将反序列化后的第二操作命令传递至单机程序。
可选地,第二终端通过单机程序控制器将单机程序可识别的第二操作命令传递至单机程序,单机程序控制器传递第二操作命令的方式可以如下:
由虚拟驱动控制传递第二操作命令;
或,调用系统中的应用程序编程接口API传递第二操作命令;
或,将操作命令模拟成为第一终端中对应的操作命令,传递模拟的第二操作命令。
可选地,系统中的API可以包括SendInput、XInput、DirectInput等函数。
示意性的,第一终端通过单机程序控制器传递操作命令,首先,单机程序控制器对第二操作命令进行指令类型的区分,该指令类型包括鼠标、键盘、操作手柄。
其次,单机程序控制器根据指令类型调用对应的API函数传递第二操作命令;或者,根据指令类型对第二操作命令进行模拟,传递模拟的第二操作命令;或者,由虚拟驱动控制传递不同指令类型的第二操作命令。
综上所述,本实施例提供的单机程序的运行方法,在第一主程序中运行单机程序,通过第一终端中运行的第一主程序与第二终端中运行的第二主程序建立第一终端与第二终端之间的网络连接;通过上述网络连接实现第一终端向第二终端传输图像信息,以及第二终端向第一终端传输第二操作命令;其中,单机程序是支持对第一操作对象和第二操作对象进行分别控制的程序,单机程序用于根据第一操作命令控制第一操作对象,且根据第二操作命令控制第二操作命令。该方法通过第一主程序建立的与第二终端网络连接,实现了第一终端与第二终端分别控制单机程序中的第一操作对象和第二操作对象,使不同地域的用户使用不同的终端进行单机程序的多人操作模式下的操作控制。
需要说明的,以单机程序为单机游戏举例说明,在进入单机游戏之后,第一终端上的显示界面11与第二终端上的显示界面12的画面是同步的,如图3所示,第一终端和第二终端上均显示游戏界面13,其中,游戏界面13中的虚拟对象14由第一用户通过第一终端进行控制,虚拟对象15由第二用户通过第二终端进行控制。第一终端与第二终端的联机游戏的过程如图2所示的过程,在此不再加以赘述。
还需要说明的是,上述步骤201、步骤202、步骤204、步骤205、步骤209可以单独成为一个实施例以实现第一终端中的单机程序的运行方法;上述步骤203、步骤206、步骤207、步骤208可以单独成为一个实施例以实现第二终端中的单机程序的运行方法。另外,步骤205可以被执行于步骤206至步骤206之间的任意时刻,本实施例中并不加以限定。
基于图2,第一终端还向第二终端分享声音信息,声音信息的传输可以先于图像信息的传输,也可以在图像信息的传输之后,如图4,以声音信息在图像信息的传输之后举例,步骤如下:
步骤201,在第一主程序中运行单机程序。
步骤202,第一终端通过第一主程序与第二终端建立网络连接。
步骤203,第二终端通过第二主程序与第一终端建立网络连接。
步骤204,第一终端通过网络连接向第二终端发送单机程序的图像信息。
步骤2042,第一终端通过网络连接向第二终端发送单机程序的声音信息。
可选地,第一主程序中还包括音频编码器;所述通过所述第一主程序与第二终端建立网络连接之后,还包括:
1)第一终端获取第一终端中的声音信息。
可选地,上述当前的声音信息包括单机程序的声音或者系统的全局声音;比如,当第一终端中运行单机程序并同时播放音乐时该全局声音包括单机程序的声音、以及音乐的声音(非单机程序的背景音乐)。
第一终端获取当前的声音信息。可选地,第一终端使用操作系统提供的音频捕获API(Audio Capture API)进行声音捕获,比如,在windows环境下使用windows操作系统提供的Audio Capture API,其中,Audio Capture API包括核心音频APIs(Core AudioAPIs);
或者,对操作系统或者其他音频播放API进行Hook操作进而捕获声音。
2)第一终端通过音频编码器对声音信息进行编码,得到编码后的声音信息;
第一终端将获取得到的上述声音信息由音频编码器编码成指定音频格式的音频;上述指定音频格式指压缩率高且音质高的格式,比如声音编码格式OPUS、音频编码3(AudioCoding 3,AC3)等音频格式。
3)第一终端通过第一网络发送器向第二终端发送编码后的声音信息。
步骤205,第一终端通过第一主程序接收第一终端的输入设备的第一操作命令,通过第一主程序将第一操作命令传递至单机程序。
步骤206,第二终端通过第二主程序接收第一终端通过网络连接发送的单机程序的图像信息。
步骤2062,第二终端通过第二主程序接收第一终端通过网络连接发送的单机程序的声音信息。
可选地,第二终端通过第二网络接收器接收第一终端发送的声音信息;
步骤207,第二终端通过第二主程序显示图像信息。
步骤2072,第二终端通过第二主程序播放声音信息。
第二主程序中还包括音频解码器;上述声音信息以数据包的形式进行传输,第二终端根据数据包的头部信息识别数据包类型;识别得到音频数据包。第二终端将音频数据包的头部信息脱去;将脱去头部信息的音频数据包分发至音频解码器;通过音频解码器对音频数据包进行解码,得到解码后的声音信息。
可选地,第二终端将上述音频数据包传递至音频解码器进行解码,步骤如下:
1)第二终端通过音频解码器对声音信息进行解码,得到解码后的声音信息。
2)第二终端通过播放器播放解码后的声音信息。
需要说明的是,第二终端还需要将解码后的图像信息和声音信息对应标记上时间标识,进行同步处理。
步骤208,第二终端通过第二主程序接收第二终端的输入设备输入的第二操作命令,通过第二主程序向第一终端发送第二操作命令。
步骤209,第一终端通过第一主程序接收第二终端通过网络连接发送的第二操作命令,通过第一主程序将第二操作命令传递至单机程序。
综上所述,本实施例提供的单机程序的运行方法,在第一主程序中运行单机程序,通过第一终端中运行的第一主程序与第二终端中运行的第二主程序建立第一终端与第二终端之间的网络连接;通过上述网络连接实现第一终端向第二终端传输图像信息,以及第二终端向第一终端传输第二操作命令;其中,单机程序是支持对第一操作对象和第二操作对象进行分别控制的程序,单机程序用于根据第一操作命令控制第一操作对象,且根据第二操作命令控制第二操作命令。该方法通过第一主程序建立的与第二终端网络连接,实现了第一终端与第二终端分别控制单机程序中的第一操作对象和第二操作对象,使不同地域的用户使用不同的终端进行单机程序的多人操作模式下的操作控制。
另外,单机程序运行于第一终端中,且第二终端不需要运行单机程序,所以,当第一终端能够流畅的运行单机程序时,第二终端也能够对单机程序进行流畅的控制,降低了对第二终端的硬件配置的要求。
基于图2,第一终端与第二终端进行联机,首先需要建立网络连接,如图5所示,第一终端与第二终端建立网络连接的步骤如下:
步骤301,第一终端向第二终端发送联机请求。
在第一终端上通过第一主程序运行单机程序。示意性的,第一终端向第二终端发送联机请求的步骤可以如下:
1)在第一终端的显示界面上显示第一主程序的第一用户界面,该第一用户界面上包括联机控件。
比如,在图6的左图中,以单机程序为单机游戏为例进行说明,显示了第一主程序的主界面21,主界面21上包括了单机游戏1、单机游戏2以及单机游戏3等等游戏分别对应的选择控件,其中,单机游戏1对应选择控件22;通过第一终端的输入设备触发选择控件22,则第一终端上显示第一主程序的第一用户界面23,如图6中右图所示,第一用户界面23中包括联机控件24。
2)第一终端接收联机控件上的触发操作。
3)在第一终端的显示界面上显示单机游戏的联机界面,该联机界面上包括请求控件。
比如,如图7,第一终端接收联机控件24上的触发操作操作之后,在第一终端的显示界面上显示第一主程序的联机界面31,联机界面31上包括选择控件32。
4)第一终端接收选择控件上的触发操作。
选择控件用于选择联机对象,该对象是与第一用户是社交好友的第二用户。
5)在第一终端的显示界面上显示好友列表。
第一终端中登录有第一帐号,该第一帐号下对应有n名社交好友;第一终端接收选择控件上的触发操作之后,在第一终端上显示好友列表。
比如,如图8所示,第一终端接收选择控件32上的触发操作,在联机界面31上叠加显示好友列表33。
6)第一终端接收好友列表上的选择操作。
7)在好友列表中对应的选择项上显示请求控件。
请求控件上的触发操作用于触发第一终端向第二终端发送联机请求。
比如,如图9,在好友列表33中的一个选择项上触发选择操作,在该选择项的右侧显示请求控件34。
8)第一终端接收请求控件上的触发操作。
9)第一终端根据请求控件上的触发操作生成联机请求;该联机请求包括第二终端中登录的第二帐号。
该联机请求用于请求与登录有第二帐号的第二终端建立网络连接。
步骤302,第二终端接收第一终端发送的联机请求。
步骤303,第二终端向第一终端发送确认信息。
在第二终端中运行有第二主程序,当第二终端通过第二主程序接收到第一终端发送的联机请求时,在第二主程序的显示界面上显示确认界面;该确认界面上包括确认控件,确认控件用于确认第二终端与第一终端建立网络连接。
可选地,确认界面上还包括拒绝控件,拒绝控件用于拒绝与第一终端建立网络连接。
比如,如图10所示,在第二终端的显示界面上显示确认界面41,确认界面41上包括确认控件42和拒绝控件43。
第二终端接收确认控件上的触发操作;根据确认控件上的触发操作生成确认信息;向第一终端发送确认信息,该确认信息用于确认第二终端接受第一终端的联机请求。
可选地,第二终端接收拒绝控件上的触发操作;根据拒绝控件上的触发操作生成拒绝信息;向第一终端发送拒绝信息,该拒绝信息用于第二终端拒绝第一终端的联机请求。
步骤304,第一终端接收第二终端发送的确认信息。
步骤305,第一终端与第二终端根据确认信息建立网络连接。
可选地,该网络连接包括端到端直连,或者,通过中转服务器连接。
示意性的,第一帐号包括第一帐号的头像和名称;第二帐号包括第二帐号的头像和名称;在第一终端与第二终端之间确认建立网络连接之后,在第一终端中显示第一主程序的联机界面,联机界面中包括第一帐号的头像和名称,以及第二帐号的头像和名称;还在第二终端中显示第二主程序的联机界面,联机界面中包括第一帐号的头像和名称,以及第二帐号的头像和名称。
比如,如图10所示,第二终端在接收确认控件42上的触发操作之后,显示联机界面31,该联机界面31上包括以卡片44的形式显示的第一用户的帐号信息对应的头像和名称,以及以卡片45的形式显示的第二用户的帐号信息对应的头像和名称。
还需要说明的是,联机界面31上包括开始控件46,开始控件46用于触发游戏开始;当在开始控件46上接收到触发操作时,开始游戏。
基于图4,当在第二终端中运行的第二主程序为浏览器时,如图11,步骤206至步骤208可以替换为步骤2064至步骤2084,实现过程如下:
步骤2064,第二终端通过浏览器接收第一终端通过网络连接发送的单机程序的图像信息和声音信息。
第二终端中JavaScript代码通过网络协议接收第一终端发送的视频数据包和音频数据包;可选地,网络协议包括WebSocket或者HTTP协议。
步骤2074,第二终端通过浏览器播放图像信息和声音信息。
第二终端对播放图像信息和声音信息包括如下步骤:
1)第二终端对视频包和音频包进行解码,得到解码后的图像信息和声音信息;
2)第二终端通过相应的控件对图像信息和声音信息进行播放;比如,通过HTML5video播放图像信息和HTML5audio播放声音信息,或者,通过flash播放图像信息和声音信息。
步骤2084,第二终端通过浏览器接收第二终端的输入设备输入的第二操作命令,向第一终端发送第二操作命令。
第二终端中第二操作命令的发送过程如下:
1)第二终端中浏览器页面的js代码捕获上述第二操作命令;
2)第二终端通过js代码对上述第二操作命令进行序列化,生成序列化后的第二操作命令;
可选地,js代码以第二操作命令翻译器的序列化方式对上述控制命令进行序列化,形成数据包形式的第二操作命令;
3)第二终端将序列化后的第二操作命令通过网络协议发送至第一终端。
需要说明的是,在一些实施例中,第一终端和第二终端可以通过网页即时通信(Web Real-Time Communication,WebRTC)API实现第一终端与第二终端的实时通信;其中WebRTC API是一个支持浏览器进行实时语音对话或视频对话的API。
综上所述,本实施例提供的单机程序的运行方法,使第二终端通过浏览器建立与运行有第一主程序的第一终端的网络连接,实现了第一终端与第二终端分别控制单机程序中的第一操作对象和第二操作对象,使不同地域的用户使用不同的终端进行单机程序的多人操作模式下的操作控制。
另外,该方法还使第二终端中不需要安装与第一主程序相同的应用程序,也就是不需要安装联机程序,通过浏览器也能实现对单机程序中的第二操作对象的操作控制,其中,该单机程序被第一终端中通过第一主程序运行。
且通过浏览器与第一终端进行联机,对于第二终端的类型没有限制,可以是任何一台安装有浏览器的设备,比如安装有浏览器的电脑、手机、平板等等,不需要在设备上安装第三方应用程序形式的第二主程序。
示意性的,以单机程序为单机游戏为例,对第一终端和第二终端中单机游戏的运行的程序流程分别进行说明,如图12,示出了第一终端中单机游戏的运行的程序流程的流程图,第一终端中运行有第一主程序,步骤如下:
步骤401,开始。
步骤402,判断是否有加入者加入。
第一终端判断是否有加入者加入,也就是判断是否有第二终端加入,与第一终端建立网络连接;当有加入者加入时,执行步骤403;否则,等待加入者的加入,执行步骤402,继续判断是否有加入者加入。
步骤403,判断是否开始游戏。
第一终端判断是否开始游戏;当游戏开始时,执行步骤404至407,或者步骤408至步骤416;否则,等待游戏开始,执行步骤403,继续判断是否开始游戏。
步骤404,开启单人模式。
步骤405,进行游戏。
步骤406,判断是否退出游戏。
第一终端判断是否退出游戏;当第一终端中接收到退出游戏的操作命令时,执行步骤407;否则,执行步骤405,继续进行游戏。
步骤407,退出游戏。
步骤408,开启多人联机模式。
步骤409,判断第一终端是否退出游戏。
第一终端判断自身是否退出游戏;当确定第一终端退出游戏时,执行步骤416;否则,执行步骤410至步骤412。
步骤410,捕获游戏画面和声音。
第一终端通过第一主程序捕获游戏画面和声音。
步骤411,对游戏画面和声音进行编码。
第一终端通过第一主程序对游戏画面和声音进行编码。
步骤412,通过网络连接将编码后的游戏画面和声音发送至第二终端。
第一终端通过主程序将编码后的游戏画面和声音发送至第二终端。
第一终端通过网络连接将编码后的画面和声音发送至第二终端之后,继续执行步骤409。
步骤413,判断第二终端是否退出游戏。
第一终端判断第二终端是否退出游戏,当确认第二终端退出游戏时,执行步骤416;否则,执行步骤414至步骤415。
步骤414,判断是否有来自游戏加入者的操作命令。
第一终端判断是否有第二终端发送的操作命令,当有第二终端发送的操作命令时,执行步骤415;否则,执行步骤413。
步骤415,通过上述操作命令控制游戏。
第一终端通过第一主程序对操作命令反序列化,得到反序列化的操作命令;通过第一主程序将反序列化的操作命令传递至单机游戏的程序,该程序通过反序列化的操作命令控制单机游戏中的第二操作对象,第二操作对象与第一操作对象不同,第一操作对象是第一终端控制的操作对象。在第一终端通过反序列化的操作命令控制游戏之后,继续执行步骤413。
步骤416,退出多人联机模式。
步骤417,结束。
如图13,示出了第二终端中单机游戏的运行的程序流程的流程图,第二终端中运行有第二主程序,步骤如下:
步骤501,开始。
步骤502,是否退出游戏。
第二终端判断是否退出游戏;当第二终端确定退出游戏时,执行步骤510;否则,执行步骤503至步骤509。
步骤503,监听网络请求。
步骤504,判断是否有数据包。
第二终端监听网络上是否有第一终端发送的视频数据包和音频数据包发送过来;当第二终端接收到视频数据包和音频数据包时,执行步骤505至步骤506;否则,执行步骤503,继续监听网络请求。
步骤505,解码视频数据包和音频数据包。
第二终端通过第二主程序对视频数据包和音频数据包进行解码,得到游戏画面和声音。
步骤506,播放游戏画面和声音。
在第二终端通过第二主程序播放游戏画面和声音之后,第二终端执行步骤502。
步骤507,监听本地输入设备。
可选地,本地输入设备包括第二终端上连接的鼠标、键盘、操作手柄、触摸屏等等。
步骤508,判断是否有输入设备输入。
第二终端判断是否有输入设备输入操作命令;当有输入设备输入操作命令时,执行步骤509;否则,执行步骤507。
步骤509,通过网络连接向第一终端发送操作命令。
第二终端通过第二主程序将上述输入设备输入的操作命令序列化,生成序列化后的操作命令;并将序列化后的操作命令通过网络连接发送至第一终端。在第二终端通过网络连接向第一终端发送序列化后的操作命令之后,第二终端继续执行步骤502。
步骤510,结束。
基于图12和图13所示的单机游戏的运行方法的程序流程,对上述流程中步骤的时序进行说明,如图14,由创建者和加入者启动联机游戏;当主机端(第一终端)和加入端(第二终端)上启动联机游戏时,首先,主机端捕获视频和音频,并编码视频和音频,将编码后的视频和音频发送至加入端;其次,加入端对视频和音频解码,并播放视频和音频;再次,加入端监测到加入者触发的操作命令,对操作命令进行编码,并将编码后的操作命令发送至主机端;最终,主机端对编码后的操作命令进行解码,得到还原的操作命令,并执行还原的操作命令来控制游戏。
第一终端与第二终端通过循环上述的时序步骤实现了单机游戏的联机游戏。
综上所述,本实施例提供的单机游戏的运行方法,通过第一终端中运行的主程序和第二终端中运行的第二主程序建立第一终端和第二终端之间的网络连接;第一终端通过第一主程序将第一终端的视频和音频不断的发送至第二终端,第二终端通过第二主程序将第二终端的操作命令不断发送至第一终端中;其中,单机游戏是支持对第一操作对象和第二操作对象进行分别控制的程序;实现了第一终端与第二终端分别控制单机游戏中的第一操作对象和第二操作对象,使不同地域的用户使用不同的终端玩单机游戏的多人模式。
请参考图15,是本申请示出的一个示例性实施例提供的单机程序的运行装置,该装置可以通过软件、硬件或者二者的结合实现成为第一终端的一部分或者全部;该装置包括第一主程序模块600;
该第一主程序模块600包括:
程序运行子模块601,用于在第一主程序中运行单机程序,单机程序是支持对第一操作对象和第二操作对象进行分别控制的程序;
网络连接子模块602,用于通过第一主程序与第二终端建立网络连接;
网络发送子模块603,用于通过网络连接向第二终端发送单机程序的图像信息;
接收子模块604,用于通过第一主程序接收第一终端的输入设备输入的第一操作命令,通过第一主程序将第一操作命令传递至单机程序;单机程序用于根据第一操作命令控制第一操作对象;
网络接收子模块605,用于通过第一主程序接收第二终端通过网络连接发送的第二操作命令,通过第一主程序将第二操作命令传递至单机程序;单机程序还用于根据第二操作命令控制第二操作对象。
在一些实施例中,第一主程序中登录有第一帐号,第一帐号包括好友列表;
网络连接子模块602,用于在第一终端中显示好友列表,好友列表中包括至少一个社交好友,社交好友对应有第二帐号;接收好友列表上的选择操作;根据选择操作确定目标第二帐号;与登录有目标第二帐号的第二终端建立网络连接。
在一些实施例中,网络连接子模块602,还用于与登录有目标第二帐号的第二终端建立端到端直连;或,通过中转服务器与登录有目标第二帐号的第二终端建立网络连接。
在一些实施例中,第一帐号还包括第一帐号的头像和名称;第二帐号还包括第二帐号的头像和名称;
第一主程序模块600还包括显示子模块606;
该显示子模块606,用于在第一终端中显示第一主程序的联机界面,联机界面中包括第一帐号的头像和名称,以及第二帐号的头像和名称。
在一些实施例中,第一主程序模块600中包括操作命令翻译子模块607和单机程序控制子模块608;
该操作命令翻译子模块607,用于对序列化的第二操作命令进行反序列化,得到反序列化后的第二操作命令;
该单机程序控制子模块608,用于将反序列化后的第二操作命令传递至单机程序。
在一些实施例中,第一主程序模块600中包括获取子模块609、视频编码子模块610和网络发送子模块603;
获取子模块609,用于获取第一终端的显示界面中的图像信息;
视频编码子模块610,用于对图像信息进行编码,得到编码后的图像信息;
网络发送子模块603,用于向第二终端发送编码后的图像信息。
在一些实施例中,第一主程序模块600中还包括音频编码子模块611;
获取子模块609,用于获取第一终端中的声音信息;
音频编码子模块611,用于对声音信息进行编码,得到编码后的声音信息;
网络发送子模块603,用于向第二终端发送编码后的声音信息。
在一些实施例中,第一主程序模块600中包括网络接收子模块605;
网络接收子模块605,用于接收第二终端通过网络连接发送的第二操作命令。
综上所述,本实施例提供的单机程序的运行装置,在第一主程序中运行单机程序,通过第一终端中运行的第一主程序与第二终端中运行的第二主程序建立第一终端与第二终端之间的网络连接;通过上述网络连接实现第一终端向第二终端传输图像信息,以及第二终端向第一终端传输第二操作命令;其中,单机程序是支持对第一操作对象和第二操作对象进行分别控制的程序,单机程序用于根据第一操作命令控制第一操作对象,且根据第二操作命令控制第二操作命令。该装置通过第一主程序建立的与第二终端网络连接,实现了第一终端与第二终端分别控制单机程序中的第一操作对象和第二操作对象,使不同地域的用户使用不同的终端进行单机程序的多人操作模式下的操作控制。
请参考图16,是本申请示出的一个示例性实施例提供的单机程序的运行装置,该装置可以通过软件、硬件或者二者的结合实现成为第一终端的一部分或者全部;该装置包括第二主程序模块700;
该第二主程序模块700包括:
网络连接子模块701,用于通过第二主程序与第一终端建立网络连接;
网络接收子模块702,用于通过第二主程序接收第一终端通过网络连接发送的单机程序的图像信息;
显示子模块703,用于通过第二主程序显示图像信息;
网络发送子模块704,用于通过第二主程序接收第二终端的输入设备输入的第二操作命令,通过第二主程序向第一终端发送第二操作命令;第二操作命令用于单机程序控制第二操作对象,单机程序是支持对第一操作对象和第二操作对象分别控制的程序。
在一些实施例中,第一主程序中登录有第一帐号;第二主程序中登录有第二帐号,第二帐号包括好友列表,好友列表中包括第一帐号对应的社交好友;
网络连接子模块701,用于与登录有第一帐号的第一终端建立端到端直连;或,通过中转服务器与登录有第一帐号的第一终端建立网络连接。
在一些实施例中,第一帐号还包括第一帐号的头像和名称;第二帐号还包括第二帐号的头像和名称;
显示子模块703,用于在第二终端中显示第二主程序的联机界面,联机界面中包括第一帐号的头像和名称,以及第二帐号的头像和名称。
在一些实施例中,第二主程序模块700中包括操作命令翻译子模块705和网络发送子模块704;
操作命令翻译子模块705,用于对第二操作命令进行序列化,得到序列化后的第二操作命令;
网络发送子模块704,用于向第一终端发送序列化后的第二操作命令。
在一些实施例中,第二主程序模块700中包括网络接收子模块702;
网络接收子模块702,用于接收第一终端通过网络连接发送的图像信息。
在一些实施例中,第二主程序模块700中包括视频解码子模块706和播放子模块707;
视频解码子模块706,用于对图像信息进行解码,得到解码后的图像信息;
显示子模块703,用于根据解码后的图像信息显示在第二主程序的用户界面。
在一些实施例中,第二主程序模块700中还包括音频解码子模块708;
网络接收子模块702,用于接收第一终端发送的声音信息;
音频解码子模块708,用于对声音信息进行解码,得到解码后的声音信息;
播放子模块707,用于播放解码后的声音信息。
综上所述,本实施例提供的单机程序的运行装置,在第一主程序中运行单机程序,通过第一终端中运行的第一主程序与第二终端中运行的第二主程序建立第一终端与第二终端之间的网络连接;通过上述网络连接实现第一终端向第二终端传输图像信息,以及第二终端向第一终端传输第二操作命令;其中,单机程序是支持对第一操作对象和第二操作对象进行分别控制的程序,单机程序用于根据第一操作命令控制第一操作对象,且根据第二操作命令控制第二操作命令。该装置通过第一主程序建立的与第二终端网络连接,实现了第一终端与第二终端分别控制单机程序中的第一操作对象和第二操作对象,使不同地域的用户使用不同的终端进行单机程序的多人操作模式下的操作控制。
请参考图17,其示出了本申请一个示例性实施例提供的终端800的结构框图。该终端800可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端800包括有:处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、5核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的单机程序的运行方法。
在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、显示屏805、音频电路806、定位组件807和电源808中的至少一种。
外围设备接口803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
音频电路806可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路806还可以包括耳机插孔。
定位组件807用于定位终端800的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件807可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源808用于为终端800中的各个组件进行供电。电源808可以是交流电、直流电、一次性电池或可充电电池。当电源808包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图17中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
请参考图18,示出了本申请一个实施例提供的服务器的结构示意图。该服务器用于实施上述实施例中提供的单机程序的运行方法。具体来讲:
所述服务器900包括中央处理单元(CPU)901、包括随机存取存储器(RAM)902和只读存储器(ROM)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。所述服务器900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)906,和用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备907。
所述基本输入/输出系统906包括有用于显示信息的显示器908和用于用户输入信息的诸如鼠标、键盘之类的输入设备909。其中所述显示器908和输入设备909都通过连接到系统总线905的输入输出控制器910连接到中央处理单元901。所述基本输入/输出系统906还可以包括输入输出控制器910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器910还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。所述大容量存储设备907及其相关联的计算机可读介质为服务器900提供非易失性存储。也就是说,所述大容量存储设备907可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。
根据本申请的各种实施例,所述服务器900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器900可以通过连接在所述系统总线905上的网络接口单元911连接到网络912,或者说,也可以使用网络接口单元911来连接到其他类型的网络或远程计算机系统(未示出)。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (19)

1.一种单机程序的运行方法,其特征在于,应用于运行有第一主程序的第一终端中,所述方法包括:
在所述第一主程序中运行所述单机程序,所述单机程序是支持对第一操作对象和第二操作对象进行分别控制的程序;
通过所述第一主程序与第二终端建立网络连接;
通过所述网络连接向所述第二终端发送所述单机程序的图像信息;
通过所述第一主程序接收所述第一终端的输入设备输入的第一操作命令,通过所述第一主程序将所述第一操作命令传递至所述单机程序;所述单机程序用于根据所述第一操作命令控制所述第一操作对象;
通过所述第一主程序接收所述第二终端通过所述网络连接发送的第二操作命令,通过所述第一主程序将所述第二操作命令传递至所述单机程序;所述单机程序还用于根据所述第二操作命令控制所述第二操作对象。
2.根据权利要求1所述的方法,其特征在于,所述第一主程序中登录有第一帐号,所述第一帐号包括好友列表;
所述通过所述第一主程序与第二终端建立网络连接,包括:
在所述第一终端中显示所述好友列表,所述好友列表中包括至少一个社交好友,所述社交好友对应有第二帐号;
接收所述好友列表上的选择操作;
根据所述选择操作确定目标第二帐号;
与登录有所述目标第二帐号的所述第二终端建立所述网络连接。
3.根据权利要求2所述的方法,其特征在于,所述与登录有所述目标第二帐号的所述第二终端建立所述网络连接,包括:
与登录有所述目标第二帐号的第二终端建立端到端直连;
或,
通过中转服务器与登录有所述目标第二帐号的第二终端建立所述网络连接。
4.根据权利要求2所述的方法,其特征在于,所述第一帐号还包括第一帐号的头像和名称;所述第二帐号还包括第二帐号的头像和名称;
所述与登录有所述目标第二帐号的所述第二终端建立所述网络连接之后,包括:
在所述第一终端中显示所述第一主程序的联机界面,所述联机界面中包括所述第一帐号的头像和名称,以及所述第二帐号的头像和名称。
5.根据权利要求1至4任一所述的方法,其特征在于,所述第一主程序中包括第一操作命令翻译器和单机程序控制器;
所述通过所述第一主程序将所述第二操作命令传递至所述单机程序,包括:
通过所述第一操作命令翻译器对序列化的所述第二操作命令进行反序列化,得到反序列化后的第二操作命令;
通过所述单机程序控制器将所述反序列化后的第二操作命令传递至所述单机程序。
6.根据权利要求1至4任一所述的方法,其特征在于,所述第一主程序中包括视频编码器和第一网络发送器;
所述通过所述网络连接向所述第二终端发送所述单机程序的图像信息,包括:
获取所述第一终端的显示界面中的所述图像信息;
通过所述视频编码器对所述图像信息进行编码,得到编码后的图像信息;
通过所述第一网络发送器向所述第二终端发送所述编码后的图像信息。
7.根据权利要求6所述的方法,其特征在于,所述第一主程序中还包括音频编码器;
所述通过所述第一主程序与第二终端建立网络连接之后,还包括:
获取所述第一终端中的声音信息;
通过所述音频编码器对所述声音信息进行编码,得到编码后的声音信息;
通过所述第一网络发送器向所述第二终端发送所述编码后的声音信息。
8.根据权利要求1所述的方法,其特征在于,所述第一主程序中包括第一网络接收器;
所述通过所述第一主程序接收所述第二终端通过所述网络连接发送的第二操作命令,包括:
通过所述第一网络接收器接收所述第二终端通过所述网络连接发送的所述第二操作命令。
9.一种单机程序的运行方法,其特征在于,应用于运行有第二主程序的第二终端中,所述方法包括:
通过所述第二主程序与第一终端建立网络连接;
通过所述第二主程序接收所述第一终端通过所述网络连接发送的所述单机程序的图像信息;
通过所述第二主程序显示所述图像信息;
通过所述第二主程序接收所述第二终端的输入设备输入的第二操作命令,通过所述第二主程序向所述第一终端发送所述第二操作命令;所述第二操作命令用于所述单机程序控制第二操作对象,所述单机程序是支持对第一操作对象和所述第二操作对象分别控制的程序。
10.根据权利要求9所述的方法,其特征在于,所述第一终端中运行有第一主程序,所述第一主程序中登录有第一帐号;所述第二主程序中登录有第二帐号,所述第二帐号包括好友列表,所述好友列表中包括所述第一帐号对应的社交好友;
所述通过所述第二主程序与第一终端建立网络连接,包括:
与登录有所述第一帐号的所述第一终端建立端到端直连;
或,
通过中转服务器与登录有所述第一帐号的所述第一终端建立所述网络连接。
11.根据权利要求9所述的方法,其特征在于,所述第一终端中运行有第一主程序,所述第一主程序中登录有第一帐号,所述第一帐号还包括第一帐号的头像和名称;所述第二主程序中登录有第二帐号,所述第二帐号还包括第二帐号的头像和名称;
所述通过所述第二主程序与第一终端建立网络连接之后,包括:
在所述第二终端中显示所述第二主程序的联机界面,所述联机界面中包括所述第一帐号的头像和名称,以及所述第二帐号的头像和名称。
12.根据权利要求9至11任一所述的方法,其特征在于,所述第二主程序中包括第二操作命令翻译器和第二网络发送器;
所述通过所述第二主程序向所述第一终端发送所述第二操作命令,包括:
通过所述第二操作命令翻译器对所述第二操作命令进行序列化,得到序列化后的第二操作命令;
通过所述第二网络发送器向所述第一终端发送所述序列化后的第二操作命令。
13.根据权利要求9至11任一所述的方法,其特征在于,所述第二主程序中包括第二网络接收器;
所述通过所述第二主程序接收所述第一终端通过所述网络连接发送的所述单机程序的图像信息,包括:
通过所述第二网络接收器接收所述第一终端通过所述网络连接发送的所述图像信息。
14.根据权利要求13所述的方法,其特征在于,所述第二主程序中包括视频解码器;
所述通过所述第二主程序显示所述图像信息,包括:
通过所述视频解码器对所述图像信息进行解码,得到解码后的图像信息;
根据所述解码后的图像信息显示在所述第二主程序的用户界面。
15.根据权利要求13所述的方法,其特征在于,所述第二主程序中还包括音频解码器;
所述通过所述第二主程序与第一终端建立网络连接之后,还包括:
通过所述第二网络接收器接收所述第一终端发送的声音信息;
通过所述音频解码器对所述声音信息进行解码,得到解码后的声音信息;
通过播放器播放所述解码后的声音信息。
16.一种单机程序的运行装置,其特征在于,所述装置包括第一主程序模块;
所述第一主程序模块包括:
程序运行子模块,用于在第一主程序中运行所述单机程序,所述单机程序是支持对第一操作对象和第二操作对象进行分别控制的程序;
网络连接子模块,用于通过所述第一主程序与第二终端建立网络连接;
网络发送子模块,用于通过所述网络连接向所述第二终端发送所述单机程序的图像信息;
接收子模块,用于通过所述第一主程序接收第一终端的输入设备输入的第一操作命令,通过所述第一主程序将所述第一操作命令传递至所述单机程序;所述单机程序用于根据所述第一操作命令控制所述第一操作对象;
网络接收子模块,用于通过所述第一主程序接收所述第二终端通过所述网络连接发送的第二操作命令,通过所述第一主程序将所述第二操作命令传递至所述单机程序;所述单机程序还用于根据所述第二操作命令控制所述第二操作对象。
17.一种单机程序的运行装置,其特征在于,所述装置包括第二主程序模块;
所述第二主程序模块包括:
网络连接子模块,用于通过第二主程序与第一终端建立网络连接;
网络接收子模块,用于通过所述第二主程序接收所述第一终端通过所述网络连接发送的所述单机程序的图像信息;
显示子模块,用于通过所述第二主程序显示所述图像信息;
网络发送子模块,用于通过所述第二主程序接收第二终端的输入设备输入的第二操作命令,通过所述第二主程序向所述第一终端发送所述第二操作命令;所述第二操作命令用于所述单机程序控制第二操作对象,所述单机程序是支持对第一操作对象和所述第二操作对象分别控制的程序。
18.一种终端,其特征在于,所述终端包括:
存储器;
与所述存储器相连的处理器;
其中,所述处理器被配置为加载并执行可执行指令以实现如权利要求1至8任一所述的单机程序的运行方法,以及如权利要求9至15任一所述的单机程序的运行方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至8任一所述的单机程序的运行方法,以及如权利要求9至15任一所述的单机程序的运行方法。
CN201910464785.0A 2019-05-30 2019-05-30 单机程序的运行方法、装置、设备及存储介质 Active CN110162255B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201910464785.0A CN110162255B (zh) 2019-05-30 2019-05-30 单机程序的运行方法、装置、设备及存储介质
PCT/CN2020/092045 WO2020238840A1 (zh) 2019-05-30 2020-05-25 单机程序的运行方法、装置、设备及存储介质
EP20815547.3A EP3979059A4 (en) 2019-05-30 2020-05-25 METHOD, APPARATUS AND DEVICE FOR STANDALONE PROGRAM EXECUTION AND STORAGE MEDIA
JP2021538795A JP2022517562A (ja) 2019-05-30 2020-05-25 スタンドアロンプログラムの実行方法、装置、デバイス及びコンピュータプログラム
US17/338,108 US11606423B2 (en) 2019-05-30 2021-06-03 Method, apparatus, device, and storage medium for running stand-alone program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910464785.0A CN110162255B (zh) 2019-05-30 2019-05-30 单机程序的运行方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110162255A CN110162255A (zh) 2019-08-23
CN110162255B true CN110162255B (zh) 2021-06-01

Family

ID=67630626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910464785.0A Active CN110162255B (zh) 2019-05-30 2019-05-30 单机程序的运行方法、装置、设备及存储介质

Country Status (5)

Country Link
US (1) US11606423B2 (zh)
EP (1) EP3979059A4 (zh)
JP (1) JP2022517562A (zh)
CN (1) CN110162255B (zh)
WO (1) WO2020238840A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162255B (zh) * 2019-05-30 2021-06-01 腾讯科技(深圳)有限公司 单机程序的运行方法、装置、设备及存储介质
CN111757139A (zh) * 2020-07-03 2020-10-09 深圳市乐宜科技有限公司 一种单机多人游戏设备网络化方法和系统
CN114615362B (zh) * 2020-12-09 2023-07-11 华为技术有限公司 相机控制方法、装置和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050116545A (ko) * 2004-06-08 2005-12-13 조인호 무선 리세트 기능을 가지는 게임 인터페이스장치
CN102055732A (zh) * 2009-11-05 2011-05-11 阿里巴巴集团控股有限公司 一种实现单机软件通信的方法及装置
CN104092711A (zh) * 2013-04-01 2014-10-08 云联(北京)信息技术有限公司 一种云游戏实现方法及系统
CN107423015A (zh) * 2017-07-24 2017-12-01 腾讯科技(深圳)有限公司 游戏内容的同步显示方法和装置
CN109104610A (zh) * 2017-06-20 2018-12-28 微软技术许可有限责任公司 实时屏幕共享

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5685775A (en) * 1994-10-28 1997-11-11 International Business Machines Corporation Networking video games over telephone network
US8495678B2 (en) * 2002-12-10 2013-07-23 Ol2, Inc. System for reporting recorded video preceding system failures
JP4327002B2 (ja) * 2004-04-13 2009-09-09 任天堂株式会社 ロビーシステムプログラムおよびゲームシステム
JP4956071B2 (ja) * 2006-07-05 2012-06-20 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び携帯型電子機器
JP4204606B2 (ja) * 2006-07-05 2009-01-07 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び携帯型電子機器
US9292307B2 (en) * 2008-07-30 2016-03-22 Kyocera Corporation User interface generation apparatus
WO2013111247A1 (ja) * 2012-01-24 2013-08-01 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理システム
US11130055B2 (en) * 2013-09-04 2021-09-28 Nvidia Corporation System and method for granting remote access to a video game executed on a video game console or network client
JP6612019B2 (ja) * 2014-08-19 2019-11-27 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、制御データ送信方法および情報処理システム
US10673971B1 (en) * 2015-06-17 2020-06-02 Amazon Technologies, Inc. Cross-partition messaging using distributed queues
CN111314538A (zh) * 2015-07-14 2020-06-19 苹果公司 手机及仪表控制方法以及使用该方法的系统
US20210069590A1 (en) * 2015-07-24 2021-03-11 Gorillabox Gmbh Method for playing back applications from a cloud, telecommunication network for streaming and for replaying applications (apps) via a specific telecommunication system, and use of a telecommunication network for streaming and replaying applications (apps)
JP6646991B2 (ja) * 2015-10-01 2020-02-14 任天堂株式会社 情報処理システム、情報処理方法、情報処理装置、および、情報処理プログラム
CN106385621A (zh) * 2016-09-12 2017-02-08 猫范(北京)科技有限公司 智能设备控制方法和装置
CN106512398B (zh) * 2016-12-06 2021-06-18 腾讯科技(深圳)有限公司 虚拟场景中的提醒方法及相关装置
US10587713B2 (en) * 2017-02-14 2020-03-10 Wyse Technology L.L.C. Proxy for sharing remote desktop sessions
US10441885B2 (en) * 2017-06-12 2019-10-15 Microsoft Technology Licensing, Llc Audio balancing for multi-source audiovisual streaming
TWI644710B (zh) * 2017-07-28 2018-12-21 瑞昱半導體股份有限公司 允許多部遊戲機透過網路連線共同模擬同一單機多人遊戲的從端遊戲機中的控制電路
CN108011951B (zh) * 2017-11-30 2021-08-27 北京奇艺世纪科技有限公司 远程协助方法、装置、系统及电子设备
CN110162255B (zh) * 2019-05-30 2021-06-01 腾讯科技(深圳)有限公司 单机程序的运行方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050116545A (ko) * 2004-06-08 2005-12-13 조인호 무선 리세트 기능을 가지는 게임 인터페이스장치
CN102055732A (zh) * 2009-11-05 2011-05-11 阿里巴巴集团控股有限公司 一种实现单机软件通信的方法及装置
CN104092711A (zh) * 2013-04-01 2014-10-08 云联(北京)信息技术有限公司 一种云游戏实现方法及系统
CN109104610A (zh) * 2017-06-20 2018-12-28 微软技术许可有限责任公司 实时屏幕共享
CN107423015A (zh) * 2017-07-24 2017-12-01 腾讯科技(深圳)有限公司 游戏内容的同步显示方法和装置

Also Published As

Publication number Publication date
EP3979059A1 (en) 2022-04-06
US11606423B2 (en) 2023-03-14
CN110162255A (zh) 2019-08-23
EP3979059A4 (en) 2022-08-10
US20210297478A1 (en) 2021-09-23
JP2022517562A (ja) 2022-03-09
WO2020238840A1 (zh) 2020-12-03

Similar Documents

Publication Publication Date Title
CN110381197B (zh) 多对一投屏中音频数据的处理方法、装置及系统
CN106531177B (zh) 一种音频处理的方法、移动终端以及系统
US11606423B2 (en) Method, apparatus, device, and storage medium for running stand-alone program
WO2017008627A1 (zh) 多媒体直播方法、装置和系统
WO2018192415A1 (zh) 数据的直播方法、相关设备及系统
WO2020010971A1 (zh) 视频文件的生成方法、装置及存储介质
JP2019516420A (ja) ゲームセッションへの参加を容易にするための方法およびシステム
WO2017181796A1 (zh) 节目互动系统、方法、客户端及后台服务器
CN112717423B (zh) 游戏对局的直播方法、装置、设备及存储介质
CN111918086B (zh) 视频连线方法、装置、终端、服务器及可读存储介质
CN109413453B (zh) 视频播放方法、装置、终端及存储介质
WO2007129625A1 (ja) 通信システム、通信装置、通信プログラム、通信プログラムを記憶したコンピュータ読み取り可能な記憶媒体
WO2018131528A1 (ja) 端末装置、情報処理装置およびマイク音声送信方法
CN109194972B (zh) 直播流获取方法、装置、计算机设备及存储介质
CN110740346B (zh) 视频数据处理方法、装置、服务器、终端和存储介质
CN111246227A (zh) 弹幕发布方法及设备
CN107948702B (zh) 应用程序状态的同步方法、装置、终端和存储介质
EP4047471A1 (en) Audio data processing method, server, and storage medium
WO2017215661A1 (zh) 一种场景音效的控制方法、及电子设备
WO2019071808A1 (zh) 视频画面显示的方法、装置、系统、终端设备及存储介质
CN114040219B (zh) 游戏直播方法、装置、系统、设备及计算机可读存储介质
JP6051075B2 (ja) 通信障害時にデュエット歌唱を継続可能な通信カラオケシステム
CN111770373B (zh) 基于直播的内容同步方法、装置、设备及存储介质
CN111526145B (zh) 音频传输反馈的方法、装置、系统、设备及存储介质
CN114827742B (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