CN105843466B - 一种实时语音的方法及装置 - Google Patents
一种实时语音的方法及装置 Download PDFInfo
- Publication number
- CN105843466B CN105843466B CN201610143662.3A CN201610143662A CN105843466B CN 105843466 B CN105843466 B CN 105843466B CN 201610143662 A CN201610143662 A CN 201610143662A CN 105843466 B CN105843466 B CN 105843466B
- Authority
- CN
- China
- Prior art keywords
- floating window
- real
- application program
- interface
- time voice
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及交互技术,特别涉及一种实时语音方法及装置。所述实时语音方法包括以下步骤:当实时语音应用程序切换到后台运行时,读取当前系统执行的应用程序类型;判断当前系统执行的应用程序是否为游戏应用程序;如果当前系统执行的应用程序为游戏应用程序,生成与所述实时语音应用程序相对应的悬浮窗并显示于所述游戏应用程序的界面上,以供用户进行相应的操作。上述实时语音的方法及装置,在语音应用程序在后台运行且前台运行的游戏时,显示实时语音悬浮窗于游戏界面上,从而使用户无须手动操作退出游戏,就可以通过悬浮窗完成对实时语音功能的各种操作,因此给用户带来更多便利。
Description
技术领域:
本发明涉及交互技术,特别涉及一种实时语音方法及装置。
背景技术:
目前在移动设备上,以Android操作系统为例,要实现在某个当前执行的应用界面上操作其他应用,一般采用悬浮窗的方案,利用系统接口,在当前执行的应用上以占用一部分屏幕空间的浮动按钮的形式提供另一个应用的操作界面,实现在当前界面下进行对另一个应用的操作,如“百度手机卫士”。而在移动设备上,通过设备的扬声器、听筒及麦克风进行语音的接收及播放,利用手机数据网络或WIFI建立与服务器长连接,能实现类似于多人通话的实时语音功能,如“QQ电话”。
虽然悬浮窗是一种移动设备上应用上展示与操作当前应用外的其他应用的常见手段,但是目前市面上悬浮窗在移动设备上实现的功能较为单一,无法满足游戏用户无需腾出双手来操作的需求。移动设备操作空间受限于屏幕大小,且游戏用户在激烈游戏时无法腾出双手对其余功能进行操作,无法及时、有效的与其他游戏用户进行沟通;而市面上常用的移动设备实时语音通讯软件,无法在语音软件外(如游戏进行中)进行语音相关功能的操作控制,如静音、关闭或开启麦克风、组建群组等,甚至无法关闭实时语音功能。
发明内容:
本发明提供一种实时语音的方法及装置,解决移动设备上游戏中无缝切换使用实时语音的问题。
一种实时语音的方法,所述方法包括以下步骤:
当实时语音应用程序切换到后台运行时,读取当前系统执行的应用程序类型;
判断当前系统执行的应用程序是否为游戏应用程序;
如果当前系统执行的应用程序为游戏应用程序,生成与所述实时语音应用程序相对应的悬浮窗并显示于所述游戏应用程序的界面上,以供用户进行相应的操作。
进一步地,所述相应的悬浮窗包括主界面悬浮窗、子界面悬浮窗及图标悬浮窗,所述生成与所述实时语音应用程序相对应的悬浮窗并显示于所述游戏应用程序的界面上的步骤还包括如下步骤:
判断所述实时语音应用程序是否处于实时语音通话状态;
若所述实时语音应用程序处于实时语音通话状态时,显示相应的图标悬浮窗于所述游戏应用程序的界面上。
进一步地,若所述实时语音应用程序未处于实时语音通话状态,显示包括主操作界面的主界面悬浮窗于所述游戏应用程序的界面上,以供用户操作。
进一步地,当所述实时语音应用程序未处于实时语音通话状态时,采用硬件渲染所述主界面悬浮窗及子界面悬浮窗;当所述实时语音应用程序处于实时语音通话状态时,采用软件渲染图标悬浮窗。
进一步地,所述方法还包括如下步骤:当所述游戏程序结束时,关闭当前显示的悬浮窗。
本发明还提供一种实时语音的装置,所述装置包括:
读取模块,用于读取当前系统执行的应用程序类型;
第一判断模块,用于判断当前系统执行的应用程序是否为游戏应用程序;
悬浮窗产生模块,用于当系统执行的应用程序为游戏应用程序时,生成与所述实时语音应用程序相对应的悬浮窗并显示于所述游戏应用程序的界面上,以供用户进行相应的操作。
进一步地,悬浮窗产生模块显示的所述相应悬浮窗包括主界面悬浮窗、子界面悬浮窗及图标悬浮窗,所述悬浮窗产生模块还包括:
语音判断单元,用于判断所述实时语音应用程序是否处于实时语音通话状态;
显示单元,用于当所述实时语音应用程序处于实时语音通话状态时,显示相应的图标悬浮窗于所述游戏应用程序的界面上。
进一步地,所述显示单元还用于当所述实时语音应用程序未处于实时语音通话状态时,显示包括主操作界面的主界面悬浮窗于所述游戏应用程序的界面上,以供用户操作。
进一步地,所述装置还包括:
渲染模块,用于当所述实时语音应用程序未处于实时语音通话状态时,采用硬件渲染所述主界面悬浮窗及子界面悬浮窗;当所述实时语音应用程序处于实时语音通话状态时,采用软件渲染图标悬浮窗。
进一步地,所述装置还包括:
控制模块,用于当所述游戏程序结束时,关闭当前显示的悬浮窗。
上述实时语音的方法及装置,在语音应用程序在后台运行且前台运行的游戏时,显示实时语音悬浮窗于游戏界面上,从而使用户无须手动操作退出游戏,就可以通过悬浮窗完成对实时语音功能的各种操作,因此给用户带来更多便利。
附图说明:
图1为第一较佳实施例的实时语音方法的流程图。
图2为第二较佳实施例的实时语音方法的流程图。
图3为较佳实施方式的实时语音装置的结构示意图。
图4为图标悬浮窗示意图。
图5为主界面悬浮窗示意图。
图6为实时语音相应的子界面悬浮窗示意图。
具体实施方式:
为阐述本发明的思想及目的,下面将结合附图和具体实施例对本发明做进一步的说明。实施例中移动设备以手机为例进行说明。
图1为本发明提供的第一较佳实施例的实时语音方法的流程图。所述实时语音方法包括以下步骤:
步骤S11,当实时语音应用程序切换到后台运行时,读取当前系统执行的应用程序类型。
步骤S12,判断当前系统执行的应用程序是否为游戏应用程序。
步骤S13,如果当前系统执行的应用程序为游戏应用程序,生成与所述实时语音应用程序相对应的悬浮窗并显示于所述游戏应用程序的界面上,以供用户进行相应的操作。悬浮窗的尺寸远远小于游戏应用程序的界面的尺寸,例如,仅占用游戏应用界面的1/8面积。
当在用户界面点击开启一个游戏应用程序时,后台运行的实时语音应用程序读取并判断当前运行的程序为游戏,将悬浮窗展示于游戏界面上,以供接受实时语音操作。因此,在玩游戏时,用户仅需在悬浮窗上直接各种操作,就可以使用实时语音的功能。
步骤S14,当所述游戏程序结束时,关闭当前显示的悬浮窗。
图2为第二较佳实施方式的实时语音方法的流程图。所述优选方法包括以下步骤:
步骤S21,当实时语音应用程序切换到后台运行时,读取当前系统执行的应用程序类型。
步骤S22,判断当前系统执行的应用程序是否为游戏应用程序。优选地,根据所述当前执行的应用程序是否具有游戏标记进行判断。所述的游戏标记可以为游戏的ID、版本号、识别码。
若所述当前执行的应用程序具有游戏标记,判定当前执行的应用程序为游戏应用程序,并进入步骤S23。
若所述当前执行的应用程序不具有游戏标记,判定当前执行的应用程序为非游戏应用程序,返回步骤S21。
步骤S23,将实时语音应用程序相应的悬浮窗升级为前台服务。由于游戏本身会占用大量手机内存,而手机硬件、内存容量不一,当系统内存不足时,若悬浮窗处于后台服务,容易出现被系统回收的现象,造成实施语音通讯的中断。升级悬浮窗为前台服务后,能有效避免悬浮窗因系统资源不足而被回收,保证实时语音通讯稳定运行。
步骤S24,释放实时语音应用程序相应的悬浮窗界面展示无需使用的资源。实时语音应用程序在前台独立开启时,会调用很多图片及文字资源,当回到后台运行时,所述资源都会占用内存,影响系统运行的速度。当判断出当前运行程序是游戏应用程序后,会释放所述资源,使系统运行当前程序的速度不受影响。
实时语音应用程序相应的悬浮窗包括图标悬浮窗W1、主界面悬浮窗W2及子界面悬浮窗W3,主界面悬浮窗W2和子界面悬浮窗W3的尺寸远小于游戏应用程序的界面W0的尺寸,例如,仅占用游戏应用界面的1/8面积;图标悬浮窗W1的尺寸远小于主界面悬浮窗W2和子界面悬浮窗W3,例如仅占1/20面积。且图标悬浮窗W1的形状可以为圆形、椭圆形、方形等几何图形,本实施例中,图标悬浮窗W1为圆形。在别的实施例中,子界面悬浮窗W3的尺寸可小于主界面悬浮窗W2。
步骤S25,计算悬浮窗在游戏界面上显示的位置及大小。通过重写悬浮窗视图组件的布局函数及测量函数,得到悬浮窗内的视图组件的位置及大小,即得到悬浮窗在游戏界面上显示的位置及大小。
所述悬浮窗可看做包含多个视图组件的容器,通过重写悬浮窗的布局函数及测量函数,简化计算悬浮窗各视图组件显示时的位置及大小的过程。传统的布局函数及测量函数是通过视图组件之间的相互位置关系来计算悬浮窗内视图组件的位置与大小,这样需要多次遍历各个视图组件才能完成计算。而重写的布局函数及测量函数是采用计算悬浮窗内各个视图组件相对悬浮窗边缘的位置,即只需遍历一次各个视图组件,就能得到每个视图组件在悬浮窗内的位置和大小,减少了遍历的次数,从而提高了渲染的效率。
步骤S26,判断实时语音应用程序是否处于实时语音通话状态。若所述实时语音应用程序处于实时语音通话状态,进入步骤S27;反之执行步骤步骤S28。
步骤S27,若所述实时语音应用程序处于实时语音通话状态时,采用软件渲染图标悬浮窗W1。
由于图标悬浮窗W1仅需保留展示功能,采用软件渲染,不占用GPU资源,使游戏能充分利用GPU,保证游戏能顺畅进行。
悬浮窗渲染采用多层级设计。图标悬浮窗处于软件渲染层,主界面悬浮窗及子界面悬浮窗处于硬件渲染层。软件渲染层的宽高等于图标悬浮窗的宽高,此层采用软件渲染;硬件渲染层的宽高为相应的主界面悬浮窗或子界面悬浮窗的宽高,此层采用硬件渲染。
步骤S28,显示相应的图标悬浮窗W1于所述游戏应用程序界面W0上。用户此时可直接与聊天对象进行语音通话。图4为图标悬浮窗示意图。
本实施例中,实时语音通话相对应的图标悬浮窗W1,小于主界面悬浮窗W2和子界面悬浮窗W3,例如仅占游戏应用界面的1/20面积,不影响游戏的操作,便于用户在游戏不受影响的前提下同时进行语音通话。
点击图标悬浮窗W1的特定位置或者空白处,图标悬浮窗W1不再显示的同时,实时语音通话相应的子界面悬浮窗W31被硬件渲染后显示于游戏界面W0上,以供用户进行语音通话的暂停、退出、静音、重启的操作,还可以进行加入聊天对象的操作。在其他实施例中,点击包括操作界面的实时语音通话相对应的的子界面悬浮窗W31特定位置或者空白处时,实时语音通话相对应的子界面悬浮窗W31不再显示,与此同时图标悬浮窗W1被软件渲染后显示与游戏界面上W0。
步骤S29,若所述实时语音应用程序未处于实时语音通话状态时,采用硬件渲染所述主界面悬浮窗。
当实时语音应用程序未处于实时语音通话状态时,采用硬件渲染处于同层的主界面悬浮窗W1或子界面悬浮窗W2,并将所有控件置于主界面悬浮窗上,此时充分利用GPU资源,提高悬浮窗渲染效果,保证用户对悬浮窗进行交互操作的流畅性,提高渲染效率。
步骤S210,显示包括主操作界面的主界面悬浮窗W2于所述游戏程序的界面W0上,以供用户操作。图5为主界面悬浮窗示意图。
主界面悬浮窗W2中包括操作界面,所述操作界面可以包括一系列的控制按键,分别接收不同的用户指令。本实施例中,操作界面可接收到消息查看、单个聊天对象的选取、群组的选取及悬浮窗设置的指令。
步骤S211,判断是否接受到用户指令。该用户指令可以是用户操作实体按键、软按键对主界面悬浮窗W1和次界面悬浮窗W2进行操作产生。
步骤S212,若接收到用户指令时,执行与用户指令相对应的功能并显示相应的子界面悬浮窗W3。
请参见图6,当主界面悬浮窗W2接收到用户输入的进入某个实时语音群组的指令后,显示实时语音群组相对应的子界面悬浮窗W31,所述子界面悬浮窗W31上提供多个功能按键,包括开启麦克风按键W311、静音按键W312、关闭麦克风按键W313及邀请其他用户加入所在群组的按键W314。
当主界面悬浮窗W2接收到用户输入的查看消息的指令后,显示展示消息内容的子界面悬浮窗。
当主界面悬浮窗W2接收到选取个别特定用户进行聊天的指令后,显示与特定用户进行聊天的子界面悬浮窗,在此子界面悬浮窗上可以通过相应的功能按键接收用户的发送文本消息、发送语音、开启实时语音的指令,并完成相应的操作。
当主界面悬浮窗W2可接收悬浮窗设置的指令,可以对语音聊天的音量进行设置,也可以关闭悬浮窗,还可以对消息提醒或者快捷键进行设置。
步骤S213,判断所述游戏应用程序是否结束;若所述游戏应用程序结束时,进入步骤S211,反之,则进入步骤S212。
步骤S214,当所述游戏应用程序结束时,关闭当前显示的悬浮窗。
步骤S215,判断是否达到预设的心跳频率或到达预设待机时间。若到达预设的心跳频率,则进入步骤S213;若达到达到预设的待机时间,进入步骤S214。
若未达到预设的心跳频率或未到达预设待机时间,则返回到步骤S213。
步骤S216,若达到预设的心跳频率,发送心跳包给服务器保证与服务器保持连接。包括以下步骤:
实时语音应用程序是通过服务器转发所有语音数据,与服务器协定UDP协议,在固定时间P1内没有收到客户端的心跳,则认为客户端已经掉线,不再转发心跳包;实时语音应用程序在UDP传输的基础上,使用一条TCP协议通道,以固定频率P2(P2<P1)向服务器发送心跳,刷新在线状态。优选地,P1为10min,P2为3min。
在其他实施例中,也可通过其他方式发送心跳包给服务器保持在线状态。
步骤S217,若达到预设的待机时间,制止待机,保持与服务器连接。可以通过定时唤醒设备,本实施例中,使用系统闹钟机制(Alarm Manager),每S秒(S约等于P2)唤醒设备,防止设备在屏幕关闭后进入休眠省电,断开服务器连接,从而保证实时语音的流畅进行。优选地,S为4min30s。
步骤S216和S217之后,进入步骤S213,判断所述游戏应用程序是否结束,并根据判断结果,进入相应的步骤。
实时语音应用程序回到后台运行,读取系统当前实行的程序类型,直到实时语音应用程序接收到关闭指令,结束运行。
上述实施例的步骤顺序只是一种示意,在其他实施方式中,可以根据具体情况进行调整。
图3为本发明提供的较佳实施方式的实时语音装置的结构示意图,所述装置包括:读取模块31、第一判断模块32、调取模块33、释放模块34、渲染模块35、悬浮窗产生模块36、第二判断模块37、第三判断模块38、心跳模块39、唤醒模块310、控制模块311。
读取模块31,用于当实时语音应用程序切换到后台运行时,读取当前系统执行的应用程序类型。
第一判断模块32,用于判断当前系统执行的应用程序是否为游戏应用程序。根据所述当前执行的应用程序是否具有游戏标记进行判断。所述的游戏标记可以为游戏的ID、版本号、识别码。
调取模块33,用于当判定当前执行的应用程序为游戏应用程序时,将悬浮窗升级为前台服务。由于游戏本身需要占用大量手机内存,而手机硬件、内存容量不一,当系统内存不足时,若悬浮窗处于后台服务,容易出现被系统回收的现象,造成实施语音通讯的中断。升级悬浮窗为前台服务后,能有效避免悬浮窗因系统资源不足而被回收,保证实时语音通讯能稳定运行。
释放模块34,用于当实时语音应用程序升级为前台服务后,释放悬浮窗界面展示无需使用的资源。实时语音应用程序在前台独立开启时,会调用很多图片及文字资源,当回到后台运行时,所述资源都会占用内存,影响系统运行的速度。当判断出当前运行程序是游戏应用程序后,会释放所述资源,使系统运行当前程序的速度不受到影响。
渲染模块35,用于当所述实时语音应用程序未处于实时语音通话状态时,采用硬件渲染所述主界面悬浮窗及子界面悬浮窗;当所述实时语音应用程序处于实时语音通话状态时,采用软件渲染图标悬浮窗。
由于图标悬浮窗仅需保留展示功能,采用软件进行渲染,不占用GPU硬件资源,使游戏能充分利用GPU,保证游戏能顺畅进行。
而主界面悬浮窗及子界面悬浮窗是与用户进行交互作用的,采用GPU硬件渲染,提高悬浮窗渲染性能,保证用户操作的流畅性,提高渲染效率。
渲染模块35还可用于通过重写悬浮窗视图组件的布局函数及测量函数,计算悬浮窗在游戏界面上显示的位置及大小及悬浮窗内的视图组件的位置及大小。即只需遍历一次各个视图组件,就能得到每个视图组件在悬浮窗内的位置和大小,效率得到提高,减少了遍历的次数,从而优化了渲染的效率。
悬浮窗产生模块36,用于当前系统执行的应用程序为游戏应用程序时,生成与所述实时语音应用程序相对应的悬浮窗并显示于所述游戏应用程序的界面W0上,以供用户进行相应的操作。
悬浮窗产生模块36显示的所述相应悬浮窗包括主界面悬浮窗W2、子界面悬浮窗及图标悬浮窗W1。主界面悬浮窗W2和子界面悬浮窗的尺寸远小于游戏应用程序的界面W0的尺寸,例如,仅占用游戏应用界面的1/8面积;图标悬浮窗W1的尺寸远小于主界面悬浮窗W2和子界面悬浮窗,例如仅占游戏应用界面的1/20面积。在别的实施例中,子界面悬浮窗的尺寸可小于主界面悬浮窗W2。
悬浮窗产生模块36包括语音判断单元361、显示单元362、指令判断单元363、执行单元364。
语音判断单元361,用于判断所述实时语音应用程序是否处于实时语音通话状态。
显示单元362,用于当所述实时语音应用程序处于实时语音通话状态时,显示相应的图标悬浮窗W1于所述游戏程序的界面W0上。
本实施例中,实时语音通话相对应的图标悬浮窗W1,小于主界面悬浮窗W2和子界面悬浮窗W3,例如仅占游戏应用界面的1/20面积,不影响游戏的操作,便于用户在游戏不受影响的前提下同时进行语音通话。点击图标悬浮窗W1的特定位置或者空白处,图标悬浮窗W1不再显示,与此同时实时语音通话相对应的的子界面悬浮窗W31显示与游戏界面W0上,以供用户进行语音通话的暂停、退出、静音、重启的操作,还可以进行加入聊天对象的操作。在其他实施例中,点击包括操作界面的实时语音通话相对应的的子界面悬浮窗特定位置或者空白处,子界面悬浮窗收缩成图标悬浮窗W1。
显示单元362,还用于当所述实时语音应用程序未处于实时语音通话状态时,显示包括主操作界面的主界面悬浮窗W2于所述游戏程序的界面W0上,以供用户操作。
主界面悬浮窗W2中包括操作界面,所述操作界面可以包括一系列的控制按键,分别接收不同的用户指令。本实施例中,操作界面可接收到消息查看、单个聊天对象的选取、群组的选取及悬浮窗设置的指令。
指令判断单元363,用于判断是否接受到用户指令。该用户指令可以是用户操作实体按键、软按键对主界面和次界面悬浮窗进行操作产生。
执行单元364,用于接收到用户指令后,执行与用户指令相对应的功能并显示相应的子界面悬浮窗W3,以供用户进一步操作。
请参看图6,当主界面悬浮窗W2接收到用户输入的进入某个实时语音群组的指令后,显示实时语音群组相对应的子界面悬浮窗W31。子界面悬浮窗W31上提供多个功能按键,包括开启麦克风按键W311、静音按键W312、关闭麦克风按键W313及邀请其他用户加入所在群组的按键W314。
当主界面悬浮窗W2接收到用户输入的查看消息的指令后,显示展示消息内容的子界面悬浮窗。
当主界面悬浮窗W2接收到选取个别特定用户进行聊天后,显示与特定用户进行聊天的子界面悬浮窗,在此子界面悬浮窗上可以通过相应的功能按键接收用户的发送文本消息、发送语音、开启实时语音的指令,并完成相应的操作。
当主界面悬浮窗W2可接收浮窗设置的指令,可以对语音聊天的音量进行设置,也可以关闭悬浮窗,还可以对消息提醒或者快捷键进行设置。
第二判断模块37,用于判断所述游戏应用程序是否结束。当所述游戏应用程序结束时,启动控制模块311;当所述游戏应用程序未结束时,启动第三判断模块38运行。
控制模块311,用于当游戏结束运行时,关闭当前显示的悬浮窗。实时语音应用程序在后台运行,继续读取系统当前运行的应用程序类型。
第三判断模块38,用于在进行实时语音通话时,判断是否到达预设的心跳频率或预设的待机时间。当达到预设的心跳频率时,启动心跳模块39;当达到预设的待机时间,启动唤醒模块310;若未到达预设的心跳频率或预设的待机时间,则启动第二判断模块37,判断所述游戏应用程序是否结束。
心跳模块39,用于当达到预设的心跳频率时,发送心跳包给服务器保证与服务器保持连接。本实施例中,包括以下步骤:
实时语音应用程序是通过服务器转发所有语音数据,与服务器协定UDP协议,在固定时间P1内没有收到客户端的心跳包,则认为客户端已经掉线,不再转发心跳包;实时语音应用程序在UDP传输的基础上,使用一条TCP协议通道,以固定频率P2(P2<P1)向服务器发送心跳,刷新在线状态,保持语音通话的顺畅。优选地,P1为10min,P2为3min。
唤醒模块39,用于当达到预设的待机时间时,制止待机,保持与服务器连接。可以通过定时唤醒设备。本实施例中,使用系统闹钟机制(Alarm Manager),每S秒(S约等于P2)唤醒设备,防止设备在屏幕关闭后进入休眠省电,断开服务器连接,从而保证实时语音的流畅进行。优选地,S为4min30s。
第二判断模块310,还用于在发送心跳包给服务器或定时唤醒设备后,判断所述游戏应用程序是否结束,并根据判断结果,进入相应的步骤。
本实施例中各模块的工作顺序只是一种示意,在其他实施方式中,可以根据具体情况进行调整。
上述实时语音的方法及装置,在语音应用程序在后台运行且前台运行的游戏时,显示实时语音悬浮窗于游戏界面上,从而使用户无须手动操作退出游戏,就可以通过悬浮窗完成对实时语音功能的各种操作,因此给用户带来更多便利。此外,及时将自身升级为前台服务,有效避免悬浮窗因系统资源不足而被回收,保证实时语音通讯能稳定运行。通过释放悬浮窗界面展示无需使用的资源,释放更多内存用于游戏及语音通话。通过以固定频率向服务器发送心跳包及定时唤醒系统,保证与服务器保持连接,使实时语音通话顺畅进行,避免由于掉线而导致语音通话的中断。
以上是对本发明所提供的一种实时语音的方法及装置进行了详细的介绍,本文中应用了具体个例对本发明的结构原理及实施方式进行了阐述,以上实施例只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (4)
1.一种实时语音的方法,其特征在于:包括以下步骤:
当实时语音应用程序切换到后台运行时,读取当前系统执行的应用程序类型;
判断当前系统执行的应用程序是否为游戏应用程序;
如果当前系统执行的应用程序为游戏应用程序,将实时语音应用程序相应的悬浮窗升级为前台服务;释放实时语音应用程序相应的悬浮窗界面展示无需使用的资源;通过重写悬浮窗视图组件的布局函数及测量函数计算悬浮窗在游戏界面上显示的位置及大小;
生成与所述实时语音应用程序相对应的悬浮窗并显示于所述游戏应用程序的界面上,以供用户进行相应的操作;
其中,所述相应的悬浮窗包括主界面悬浮窗、子界面悬浮窗及图标悬浮窗,所述主界面悬浮窗和所述子界面悬浮窗的尺寸小于所述游戏应用程序的界面的尺寸,所述图标悬浮窗的尺寸小于所述主界面悬浮窗和所述子界面悬浮窗,所述子界面悬浮窗的尺寸小于所述主界面悬浮窗;
所述生成与所述实时语音应用程序相对应的悬浮窗并显示于所述游戏应用程序的界面上包括:判断所述实时语音应用程序是否处于实时语音通话状态;当所述实时语音应用程序未处于实时语音通话状态时,采用硬件渲染所述主界面悬浮窗及子界面悬浮窗;当所述实时语音应用程序处于实时语音通话状态时,采用软件渲染图标悬浮窗;
所述生成与所述实时语音应用程序相对应的悬浮窗并显示于所述游戏应用程序的界面上的步骤还包括如下步骤:若所述实时语音应用程序处于实时语音通话状态时,显示相应的图标悬浮窗于所述游戏应用程序的界面上;若所述实时语音应用程序未处于实时语音通话状态,显示包括主操作界面的主界面悬浮窗于所述游戏应用程序的界面上,以供用户操作。
2.根据权利要求1所述的实时语音的方法,其特征在于:所述方法还包括如下步骤:当所述游戏应用程序结束时,关闭当前显示的悬浮窗。
3.一种实时语音的装置,其特征在于,包括:
读取模块,用于读取当前系统执行的应用程序类型;
第一判断模块,用于判断当前系统执行的应用程序是否为游戏应用程序;
调取模块,用于当判定当前执行的应用程序为游戏应用程序时,将悬浮窗升级为前台服务;
释放模块,用于当实时语音应用程序升级为前台服务后,释放悬浮窗界面展示无需使用的资源;
渲染模块,用于通过重写悬浮窗视图组件的布局函数及测量函数计算悬浮窗在游戏界面上显示的位置及大小;
悬浮窗产生模块,用于生成与所述实时语音应用程序相对应的悬浮窗并显示于所述游戏应用程序的界面上,以供用户进行相应的操作;
其中,所述悬浮窗产生模块显示的相应悬浮窗包括主界面悬浮窗、子界面悬浮窗及图标悬浮窗,所述主界面悬浮窗和所述子界面悬浮窗的尺寸小于所述游戏应用程序的界面的尺寸,所述图标悬浮窗的尺寸小于所述主界面悬浮窗和所述子界面悬浮窗,所述子界面悬浮窗的尺寸小于所述主界面悬浮窗;
所述悬浮窗产生模块包括语音判断单元以及显示单元;所述语音判断单元用于判断所述实时语音应用程序是否处于实时语音通话状态;所述显示单元用于当所述实时语音应用程序处于实时语音通话状态时,显示相应的图标悬浮窗于所述游戏应用程序的界面上;所述显示单元还用于当所述实时语音应用程序未处于实时语音通话状态时,显示包括主操作界面的主界面悬浮窗于所述游戏应用程序的界面上,以供用户操作;
所述渲染模块还用于当所述实时语音应用程序未处于实时语音通话状态时,采用硬件渲染所述主界面悬浮窗及子界面悬浮窗;当所述实时语音应用程序处于实时语音通话状态时,采用软件渲染图标悬浮窗。
4.根据权利要求3所述 的实时语音的装置,其特征在于,还包括:
控制模块,用于当所述游戏应用程序结束时,关闭当前显示的悬浮窗。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610143662.3A CN105843466B (zh) | 2016-03-14 | 2016-03-14 | 一种实时语音的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610143662.3A CN105843466B (zh) | 2016-03-14 | 2016-03-14 | 一种实时语音的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105843466A CN105843466A (zh) | 2016-08-10 |
CN105843466B true CN105843466B (zh) | 2020-03-31 |
Family
ID=56587269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610143662.3A Active CN105843466B (zh) | 2016-03-14 | 2016-03-14 | 一种实时语音的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105843466B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648918A (zh) * | 2016-09-20 | 2017-05-10 | 浙江翼信科技有限公司 | 一种消息发送方法和设备 |
CN107145355B (zh) * | 2017-05-08 | 2021-05-25 | 网易(杭州)网络有限公司 | 页面布局的调整方法及装置、存储介质、处理器和终端 |
CN107592416B (zh) * | 2017-08-31 | 2020-11-17 | 努比亚技术有限公司 | 语音信息发送方法、终端及计算机可读存储介质 |
CN108520743B (zh) * | 2018-02-02 | 2021-01-22 | 百度在线网络技术(北京)有限公司 | 智能设备的语音控制方法、智能设备及计算机可读介质 |
CN110321201A (zh) * | 2018-03-29 | 2019-10-11 | 努比亚技术有限公司 | 一种后台程序处理方法、终端及计算机可读存储介质 |
CN108647002A (zh) * | 2018-03-30 | 2018-10-12 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN108845729A (zh) * | 2018-05-07 | 2018-11-20 | 珠海格力电器股份有限公司 | 一种应用功能的实现方法及终端设备 |
CN109151200A (zh) * | 2018-08-27 | 2019-01-04 | 维沃移动通信有限公司 | 一种通讯方法及移动终端 |
CN109413261A (zh) * | 2018-09-03 | 2019-03-01 | 珠海格力电器股份有限公司 | 一种应用交互中的提示方法及终端设备 |
CN109491562B (zh) * | 2018-10-09 | 2020-07-07 | 珠海格力电器股份有限公司 | 一种语音助手应用程序的界面显示方法及终端设备 |
WO2020097927A1 (zh) * | 2018-11-16 | 2020-05-22 | 深圳市欢太科技有限公司 | 通话控制方法和装置、计算机可读存储介质、电子设备 |
CN111752651A (zh) * | 2019-03-29 | 2020-10-09 | 比亚迪股份有限公司 | 悬浮工具框的显示控制方法、装置及车辆 |
CN110062111A (zh) * | 2019-04-25 | 2019-07-26 | 北京金山安全软件有限公司 | 来电显示方法和装置 |
CN112071312B (zh) * | 2019-06-10 | 2024-03-29 | 海信视像科技股份有限公司 | 一种语音控制方法及显示设备 |
CN111790148B (zh) * | 2019-08-01 | 2023-03-28 | 厦门雅基软件有限公司 | 游戏场景中的信息交互方法、设备及计算机可读介质 |
CN110471591A (zh) * | 2019-08-08 | 2019-11-19 | 深圳传音控股股份有限公司 | 一种交互方法、装置及计算机存储介质 |
CN110618806B (zh) * | 2019-09-23 | 2024-02-13 | 北京达佳互联信息技术有限公司 | 一种应用程序控制方法、装置、电子设备及存储介质 |
CN111641551A (zh) * | 2020-05-27 | 2020-09-08 | 维沃移动通信有限公司 | 语音播放方法、语音播放装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883041A (zh) * | 2012-08-02 | 2013-01-16 | 聚熵信息技术(上海)有限公司 | 移动终端的语音控制装置及方法 |
CN103475778A (zh) * | 2013-08-30 | 2013-12-25 | 青岛海信移动通信技术股份有限公司 | 一种移动终端显示通话界面的方法及装置 |
CN103699413A (zh) * | 2013-12-24 | 2014-04-02 | 北京奇虎科技有限公司 | 优化游戏运行环境的方法、客户端、服务器及系统 |
CN104539784A (zh) * | 2014-07-22 | 2015-04-22 | 深圳市中兴移动通信有限公司 | 一种移动终端及其通话的窗口显示方法和装置 |
-
2016
- 2016-03-14 CN CN201610143662.3A patent/CN105843466B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883041A (zh) * | 2012-08-02 | 2013-01-16 | 聚熵信息技术(上海)有限公司 | 移动终端的语音控制装置及方法 |
CN103475778A (zh) * | 2013-08-30 | 2013-12-25 | 青岛海信移动通信技术股份有限公司 | 一种移动终端显示通话界面的方法及装置 |
CN103699413A (zh) * | 2013-12-24 | 2014-04-02 | 北京奇虎科技有限公司 | 优化游戏运行环境的方法、客户端、服务器及系统 |
CN104539784A (zh) * | 2014-07-22 | 2015-04-22 | 深圳市中兴移动通信有限公司 | 一种移动终端及其通话的窗口显示方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105843466A (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105843466B (zh) | 一种实时语音的方法及装置 | |
US11425315B2 (en) | Video communications method and apparatus, terminal, and computer-readable storage medium | |
US9146778B2 (en) | Management of background tasks | |
CN109360567B (zh) | 可定制唤醒的方法和装置 | |
CN107783803B (zh) | 智能终端的系统优化方法、装置、存储介质及智能终端 | |
CN102957809A (zh) | 一种在智能手机上对应用程序进行优化的方法 | |
KR101102342B1 (ko) | 이동통신단말기의 애플리케이션 종료시간 설정방법,이동통신단말기의 애플리케이션 종료방법, 및 이를수행하기 위한 이동통신단말기 | |
EP3056970A1 (en) | Method and device for controlling power consumption | |
CN113747552B (zh) | 一种功耗优化方法和电子设备 | |
CN109671429A (zh) | 语音交互方法及设备 | |
CN110543333B (zh) | 针对处理器的休眠处理方法、装置、移动终端和存储介质 | |
JP2023520839A (ja) | メッセージ送信方法、メッセージ受信方法、装置、コンピュータデバイス及びコンピュータプログラム | |
CN110392158A (zh) | 一种消息处理方法、装置以及终端设备 | |
CN112702468A (zh) | 一种通话控制方法及其装置 | |
CN108200635A (zh) | 一种应用程序的运行控制方法及移动终端 | |
EP3955099A1 (en) | Method and device for controlling the operation mode of a terminal device, and storage medium | |
CN112637409B (zh) | 内容输出方法、装置和电子设备 | |
KR20050105842A (ko) | 이동 단말기의 대기 모드 상태에서 메시지를 출력하는방법 및 장치 | |
JP4621589B2 (ja) | 文字入力方法、文字入力装置及び移動通信端末装置 | |
JP4195061B2 (ja) | 連係動作方法及び移動端末装置 | |
CN110618798A (zh) | 多屏显示的方法、多屏装置、存储介质及终端设备 | |
WO2023124554A1 (zh) | 应用启动方法、装置、设备及存储介质 | |
WO2024099179A1 (zh) | 数据同步方法、存储介质和电子设备 | |
JP5082939B2 (ja) | 情報処理装置 | |
WO2023116237A1 (zh) | 界面显示方法、装置、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 510000 Room 1701, 1702, 1703, 1704, 1705 and 1905, 122 West Huangpu Avenue, Tianhe District, Guangzhou City, Guangdong Province Applicant after: GUANGZHOU QUWAN NETWORK TECHNOLOGY CO., LTD. Address before: 510000 3rd Floor, Block C, Shengda Business Park, Sanheng Road, Tangxia, Tianhe District, Guangzhou City, Guangdong Province Applicant before: GUANGZHOU QUWAN NETWORK TECHNOLOGY CO., LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |