CN103198826A - 语音聊天室的伴奏方法及装置 - Google Patents
语音聊天室的伴奏方法及装置 Download PDFInfo
- Publication number
- CN103198826A CN103198826A CN2013101079779A CN201310107977A CN103198826A CN 103198826 A CN103198826 A CN 103198826A CN 2013101079779 A CN2013101079779 A CN 2013101079779A CN 201310107977 A CN201310107977 A CN 201310107977A CN 103198826 A CN103198826 A CN 103198826A
- Authority
- CN
- China
- Prior art keywords
- sound
- accompaniment
- accompany
- voice
- hook
- 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.)
- Pending
Links
Images
Landscapes
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
本发明公开一种语音聊天室的伴奏方法及装置,以提供语音聊天室质量良好的伴奏模式供用户使用。本发明公开的该伴奏方法应用于嵌入语音聊天室WEB网页的客户端插件中,所述客户端插件包括通过windows系统的hook机制被加载到伴奏播放器的进程空间中的钩子,其伴奏方法包括:在所述伴奏播放器向声卡缓存输送伴奏声音之前,通过钩子拦截伴奏声音,并将拦截的伴奏声音备份;将备份的伴奏声音与麦克风的录音进行混音;将混音数据发送给所述语音聊天室的语音服务器。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种语音聊天室的伴奏方法及装置。
背景技术
在语音聊天室环境下,如果某一个用户要唱歌,那么要么清唱,只使用麦克风来录制声音;要么打开声卡提供的立体声混音功能,在唱歌的同时提供背景伴奏声。
使用立体声混音进行声音采集实际上是驱动程序不直接从麦克风的线路来采集声音,而是从声卡中采集声音,因此如果用户在使用麦克风录制的时候,同时打开一个播放器播放背景音乐,那么这个时候就有两路的声音会被传到声卡中,一路是麦克风采集的声音,一路是播放器播放的声音,这个时候两路声音进入到了声卡,声卡会自动将这两路的声音混成一路,我们只要这个时候从声卡缓冲中将声音采集出来就可以得到混合好的声音。这个方式基本上被很多人使用。但是使用立体声混音有一个致命的缺陷——我们没办法控制进入声卡的声音,因为所有的声音要进行播放实际上都是提交到声卡的缓冲中,那么本来我们只想要麦克风录制的声音和背景音乐的声音,但是这个时候有可能windows系统发出警告声音了,这个警告声音也进入到了声卡缓冲了,我们通过立体声混音采集到的声音变成三路声音的混合了,这不是我们想要的。而在聊天室中最重要的是有聊天室中其他人的声音,而这个声音也会在用户的机器上播放出来。
此外,在一些笔记本电脑上,因为涉及到知识产权纠纷,现有的声卡基本上不带立体声混音模块,因此,用户只是使用清唱,无法实现以背景音乐进行伴奏。
综上,现有技术还不能实现语音聊天室质量良好的类似卡拉OK的伴奏模式供用户使用,亟待改进。
发明内容
本发明的主要目的在于公开一种语音聊天室的伴奏方法及装置,以提供语音聊天室质量良好的伴奏模式供用户使用。
为达上述目的,本发明实施例提供一种语音聊天室的伴奏方法,应用于嵌入语音聊天室WEB网页的客户端插件中,所述客户端插件包括通过windows系统的hook机制被加载到伴奏播放器的进程空间中的钩子,该方法包括:
在所述伴奏播放器向声卡缓存输送伴奏声音之前,通过钩子拦截伴奏声音,并将拦截的伴奏声音备份;
将备份的伴奏声音与麦克风的录音进行混音;
将混音数据发送给所述语音聊天室的语音服务器。
为达上述目的,本发明实施例还提供一种语音聊天室的伴奏装置,该装置包括嵌入语音聊天室WEB网页的客户端插件,所述客户端插件包括通过windows系统的hook机制被加载到伴奏播放器的进程空间中的钩子,以在所述伴奏播放器向声卡缓存输送伴奏声音之前,通过钩子拦截伴奏声音,并将拦截的伴奏声音备份;所述客户端插件还包括混音模块,用于将备份的伴奏声音与麦克风的录音进行混音,以及将混音数据发送给所述语音聊天室的语音服务器。
与现有技术相比,本发明实施例至少具有以下优点:
有效规避了采用声卡立体声混音所导致的混入接收的聊天室其它用户的声音或第三方声音的问题。能够得到某个指定的播放器播放的伴奏声音,并且能够得到麦克风的声音,然后将这两路声音以原声加伴奏模式混成一路传到聊天室中,这个聊天室中的其他人就可以听到优美的歌声了。
附图说明
图1是本发明实施例公开的语音聊天室的伴奏方法流程示意图。
具体实施方式
下面结合说明书附图对本发明的具体实现方式做一详细描述。
实施例一
本发明实施例公开一种语音聊天室的伴奏方法,应用于嵌入语音聊天室WEB网页的客户端插件中,该客户端插件包括通过windows系统的hook(钩子)机制被加载到伴奏播放器的进程空间中的钩子。如图1所示,该伴奏方法包括以下步骤:
步骤S1、在伴奏播放器向声卡缓存输送伴奏声音之前,通过钩子拦截伴奏声音,并将拦截的伴奏声音备份。
步骤S2、将备份的伴奏声音与麦克风的录音进行混音。
步骤S3、将混音数据发送给该语音聊天室的语音服务器。
本实施例中,将钩子加载到伴奏播放器的进程空间中包括但不限于以下方式:
获取所述伴奏播放器的调用堆栈,然后在导入或导出地址表(IAT,ImportAddress Table,EAT,Export Address Table)中,将所述调用堆栈中向声卡缓存提交声音数据的底层函数地址替换成所述钩子的函数地址。
以伴奏播放器为千千静听为例,其被替换的底层函数的API为DirectSoundCreate8(...)、IDirectSound8::CreateSoundBuffer(0x07d7fe60,0x07d7feb4,NULL)、IDirectSoundBuffer::Lock(...)、IDirectSoundBuffer::Unlock(0x083d0028,580608,NULL,0)、IDirectSoundBuffer::Lock(...)、IDirectSoundBuffer::Unlock(0x083d0028,4608,NULL,0)、IDirectSoundBuffer::Lock(...)、以及DirectSoundBuffer::Unlock(0x083d1228,4608,NULL,0)。
上述函数重定向方式采用的是HOOK API(Application ProgrammingInterface,应用程序编程接口)技术中的一种;在其他实施方式中,还可以通过嵌入汇编代码实现函数的重定向等等,相关技术以及钩子的安装、注入等皆属于现有技术,可参照MSDN(Microsoft Developer Network,微软开发者网络)中的hooks章节以及2009年5月刊《计算机应用与软件》第26卷第5期《HOOK API时代码注入方法和函数重定向技术研究》,作者为解放军炮兵学院二系:舒敬荣、朱安国、齐善明,在此不作赘述。
实施例二
与上述实施例一相对应的,本实施例公开一种语音聊天室的伴奏装置(省略附图)。该装置包括嵌入语音聊天室WEB网页的客户端插件。该客户端插件包括通过windows系统的hook机制被加载到伴奏播放器的进程空间中的钩子,以在该伴奏播放器向声卡缓存输送伴奏声音之前,通过钩子拦截伴奏声音,并将拦截的伴奏声音备份;该客户端插件还包括混音模块,用于将备份的伴奏声音与麦克风的录音进行混音,以及将混音数据发送给该语音聊天室的语音服务器。
综上,本发明实施例公开的语音聊天室的伴奏方法及装置至少具有以下优点:
有效规避了采用声卡立体声混音所导致的混入接收的聊天室其它用户的声音或第三方声音的问题。能够得到某个指定的播放器播放的伴奏声音,并且能够得到麦克风的声音,然后将这两路声音以原声加伴奏模式混成一路传到聊天室中,这个聊天室中的其他人就可以听到优美的歌声了。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (3)
1.一种语音聊天室的伴奏方法,应用于嵌入语音聊天室WEB网页的客户端插件中,其特征在于,所述客户端插件包括通过windows系统的hook机制被加载到伴奏播放器的进程空间中的钩子,该方法包括:
在所述伴奏播放器向声卡缓存输送伴奏声音之前,通过钩子拦截伴奏声音,并将拦截的伴奏声音备份;
将备份的伴奏声音与麦克风的录音进行混音;
将混音数据发送给所述语音聊天室的语音服务器。
2.根据权利要求1所述的语音聊天室的伴奏方法,其特征在于,将钩子加载到伴奏播放器的进程空间中包括:
获取所述伴奏播放器的调用堆栈;
在导入或导出地址表中,将所述调用堆栈中向声卡缓存提交声音数据的底层函数地址替换成所述钩子的函数地址。
3.一种语音聊天室的伴奏装置,其特征在于,包括嵌入语音聊天室WEB网页的客户端插件,所述客户端插件包括通过windows系统的hook机制被加载到伴奏播放器的进程空间中的钩子,以在所述伴奏播放器向声卡缓存输送伴奏声音之前,通过钩子拦截伴奏声音,并将拦截的伴奏声音备份;所述客户端插件还包括混音模块,用于将备份的伴奏声音与麦克风的录音进行混音,以及将混音数据发送给所述语音聊天室的语音服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101079779A CN103198826A (zh) | 2013-03-29 | 2013-03-29 | 语音聊天室的伴奏方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101079779A CN103198826A (zh) | 2013-03-29 | 2013-03-29 | 语音聊天室的伴奏方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103198826A true CN103198826A (zh) | 2013-07-10 |
Family
ID=48721302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101079779A Pending CN103198826A (zh) | 2013-03-29 | 2013-03-29 | 语音聊天室的伴奏方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103198826A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104464743A (zh) * | 2014-11-17 | 2015-03-25 | 贵阳朗玛信息技术股份有限公司 | 一种在语音聊天室中播放背景音乐的方法及移动终端 |
CN104967960A (zh) * | 2015-03-25 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 语音数据处理方法、游戏直播中的语音数据处理方法和系统 |
CN107195314A (zh) * | 2017-05-04 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 音频数据的录制方法与装置 |
CN107247573A (zh) * | 2017-06-01 | 2017-10-13 | 西安万像电子科技有限公司 | 音频数据的处理方法、装置和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070280189A1 (en) * | 2006-06-04 | 2007-12-06 | Asustek Computer Inc. | Voice over Internet protocol system and related wireless local area network device |
CN101599285A (zh) * | 2009-07-02 | 2009-12-09 | 深圳市万兴软件有限公司 | 一种音频录制方法和系统 |
CN101877750A (zh) * | 2009-04-28 | 2010-11-03 | 索尼公司 | 回音消除设备、回音消除方法和通信设备 |
CN102467909A (zh) * | 2010-11-18 | 2012-05-23 | 盛乐信息技术(上海)有限公司 | 网络混音方法 |
-
2013
- 2013-03-29 CN CN2013101079779A patent/CN103198826A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070280189A1 (en) * | 2006-06-04 | 2007-12-06 | Asustek Computer Inc. | Voice over Internet protocol system and related wireless local area network device |
CN101877750A (zh) * | 2009-04-28 | 2010-11-03 | 索尼公司 | 回音消除设备、回音消除方法和通信设备 |
CN101599285A (zh) * | 2009-07-02 | 2009-12-09 | 深圳市万兴软件有限公司 | 一种音频录制方法和系统 |
CN102467909A (zh) * | 2010-11-18 | 2012-05-23 | 盛乐信息技术(上海)有限公司 | 网络混音方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104464743A (zh) * | 2014-11-17 | 2015-03-25 | 贵阳朗玛信息技术股份有限公司 | 一种在语音聊天室中播放背景音乐的方法及移动终端 |
CN104464743B (zh) * | 2014-11-17 | 2020-02-14 | 贵阳语玩科技有限公司 | 一种在语音聊天室中播放背景音乐的方法及移动终端 |
CN104967960A (zh) * | 2015-03-25 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 语音数据处理方法、游戏直播中的语音数据处理方法和系统 |
CN104967960B (zh) * | 2015-03-25 | 2018-03-20 | 腾讯科技(深圳)有限公司 | 语音数据处理方法、游戏直播中的语音数据处理方法和系统 |
CN107195314A (zh) * | 2017-05-04 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 音频数据的录制方法与装置 |
CN107195314B (zh) * | 2017-05-04 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 音频数据的录制方法与装置 |
CN107247573A (zh) * | 2017-06-01 | 2017-10-13 | 西安万像电子科技有限公司 | 音频数据的处理方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11893052B2 (en) | Management of local and remote media items | |
US11126394B2 (en) | Systems and methods for content delivery and management | |
CN101304414B (zh) | 用于处理信息的系统、装置、方法和程序 | |
US8510381B1 (en) | Sharing electronic resources with users of nearby devices | |
CN114240404A (zh) | 通信会话中的虚拟助理 | |
TW200609779A (en) | Method, system, and apparatus for discovering and connecting to data sources | |
JP2016529599A (ja) | コンテンツクリップボードの同期 | |
CN109313634A (zh) | 用于单个文件的文件同步暂停 | |
MXPA05010591A (es) | Sistema y metodo para desempenar dinamicamente operaciones de almacenamiento en una red de computadora. | |
JP2009123118A (ja) | 情報処理装置、表示制御方法ならびにプログラム | |
KR20070122274A (ko) | 포터블 기기의 파일 관리 방법 및 장치 | |
US20140337420A1 (en) | System and Method for Recording Music Which Allows Asynchronous Collaboration over the Internet | |
CN103198826A (zh) | 语音聊天室的伴奏方法及装置 | |
CN102769687A (zh) | 信息群发系统及方法 | |
CN102469097A (zh) | 云端运算系统及其资料存取方法 | |
CN101937378B (zh) | 一种对存储设备的数据进行备份保护的方法及计算机系统 | |
CN103064824A (zh) | 通过截屏添加待编辑文件内容的方法和装置 | |
CN110231923A (zh) | 数据管理方法和装置 | |
CN103927355A (zh) | 广告拦截方法、装置及系统 | |
CN106453562A (zh) | 音乐推送方法及终端 | |
CN106537933A (zh) | 便携式扬声器 | |
WO2007098461A3 (en) | Address retrieval system and method | |
CN1987908A (zh) | 具有网络服务公事包的便携式电子装置及其实现方法 | |
CN103902645A (zh) | 用于控制文件名称的方法及其电子装置 | |
TW202215416A (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 | ||
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130710 |