CN102891977A - 基于iPhone平台下实现的语音视频通话方法 - Google Patents
基于iPhone平台下实现的语音视频通话方法 Download PDFInfo
- Publication number
- CN102891977A CN102891977A CN 201210348839 CN201210348839A CN102891977A CN 102891977 A CN102891977 A CN 102891977A CN 201210348839 CN201210348839 CN 201210348839 CN 201210348839 A CN201210348839 A CN 201210348839A CN 102891977 A CN102891977 A CN 102891977A
- Authority
- CN
- China
- Prior art keywords
- data
- voice
- client
- video
- carry out
- 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
Landscapes
- Telephonic Communication Services (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及一种基于iPhone平台下实现的语音视频通话方法;含有如下步骤:步骤1:创建本通话系统的服务器,用来保存每个客户端的相关信息;步骤2:进行视频帧数据的发送和接收:发送时,先对数据进行压缩,再通过socket通讯进行数据发送,对方客户端接收到数据后,首先进行数据解压缩,然后再把帧数据还原;步骤3:进行音频数据的发送和接收:采用即时获取音频流数据的方法进行数据的发送和接收;步骤4:音频变音功能的实现:通过音频处理库来进行音频数据的转换,在客户端收到数据后,通过设置音频数据时间、振幅和频率来实现变音;本发明提供了一种通讯及时、流畅、功能强的基于iPhone平台下实现的语音视频通话方法。
Description
(一)、技术领域:本发明涉及一种语音视频通话方法,特别涉及一种基于iPhone平台下实现的语音视频通话方法。
(二)、背景技术:在目前的移动互联网应用中,随着即时通讯的迅猛发展,基于网络的各种通讯应用软件越来越多,而且备受人们的喜欢,比如:人们喜爱微信、QQ,它们都支持两个用户进行语音视频聊天。当前的移动开发商普遍将自己开发的应用软件放到苹果商店,供人们去下载使用。现有各种通讯应用软件存在一些不便之处,比如:微信的聊天方式不是发送音频流,而是通过发送音频文件,实时性较差,而QQ的聊天没有融入变音效果,使用较不便。
(三)、发明内容:
本发明要解决的技术问题是:针对现有技术不足,提供一种通讯及时、流畅、功能强的基于iPhone平台下实现的语音视频通话方法。
本发明的技术方案:
一种基于iPhone平台下实现的语音视频通话方法,首先,将通话分为视频、音频和变音三个部分,各客户端之间的通讯采用socket通讯,每一个iPhone设备不仅是客户端,同时也是一个进行数据接收的小型服务器;然后,进行如下步骤:
步骤1:创建本通话系统的服务器,用来保存每个客户端的相关信息;
步骤2:进行视频帧数据的发送和接收:因为iPhone4之后的设备带有前置摄像头,同时API中有如何调用摄像头的类库,那么我们在这里就容易获取视频流的数据;
调用iPhone平台中的视频采集API,设置视频每秒采集的帧数为15帧-20帧;如果帧采集数过少,就会影响视频播放的流畅度,如果采集帧数过高,会造成数据量过大,导致传输速度过慢,同样会影响效果。
通过采集类的委托方法获取每一帧的数据,把每一帧的数据转化成二进制数据;在这里我们就可以进行数据的发送了,但是因为数据生成速度比较快,如果只是简单的数据发送,在网络情况好的下,用户是感觉不到视频的卡壳的,但是如果网络稍微差点,用户的体验感就会立马下降。我们先对数据进行压缩,然后再通过socket通讯进行数据发送,对方客户端接收到数据后,首先进行数据解压缩,然后再把帧数据还原,这样就可以实现视频的流畅播放了;
步骤3:进行音频数据的发送和接收:大多数的音频通讯实现的都是对讲功能,就是两个客户端进行音频数据的录制,然后通过服务器进行数据的交互,双方收到音频数据后,往本地写入,生成对应音频文件,然后调用系统提供的API播放出来就行了。但是这种方式不能实现数据的即时交互,而且录制音频的时间有限制,时间不能太长,如果太长就会导致数据量过大,数据交互时间太长,效果不是太好;
本发明采用即时获取音频流数据的方法进行数据的发送和接收;即时获取音频流数据的方法为:采用iPhone平台中提供的API中的AudioToolbox.framework框架文件进行音频数据的采集和还原,每次开始采集音频数据的时候,事先创建三个数据缓冲池,在采集音频数据的过程中,在每次的回调方法中轮流向三个缓冲池中填充音频二进制文件,在每次填充的过程中,我们依此从三个缓冲数据池中取出数据,通过socket通讯进行数据的发送,我们在播放音频数据的时候,也是事先创建三个数据缓冲池,每次获取数据后就向三个数据缓冲池依次填充数据,然后进行音频数据的还原,这样就可以即时发送音频数据了;
步骤4:音频变音功能的实现:通过音频处理库(如:开源库soundtouch)
来进行音频数据的转换,在客户端收到数据后,通过设置音频数据时间、振幅和频率来实现变音,设置音频数据的时间可控制音频的播放长度,设置音频数据的振幅和频率可以设置不同的变音效果。
步骤1中:相关信息含有客户端的当前IP,当各客户端之间直接进行通讯时,需要知道双方的当前IP,每个客户端首先获取自身的当前IP,然后把自身的当前IP发送给本通话系统的服务器,如果两客户端想要建立连接,先从本通话系统的服务器获取对方的当前IP,然后通过Socket通讯建立连接,就能进行数据接收和发送了。
步骤4中:通过iPhone平台中的API设置声音的采样频率、声道、音高(pitch)、速率和声道,从而实现声音的变速、变调、变速又变调的效果;通过iPhone平台中的API能够对媒体流实时操作,也能对音频文件操作,音频文件采用32位浮点或者16位定点数据,支持单声道或者双声道,声音的采样频率范围是8k~48k;这种方式能在即时的语音聊天中融入变音功能。
本发明的有益效果:
1. 本发明在进行视频帧数据的发送和接收时,先对数据进行压缩,然后再通过socket通讯进行数据发送,对方客户端接收到数据后,首先进行数据解压缩,然后再把帧数据还原,保证了视频的流畅度。
2. 本发明在进行音频数据的发送和接收时,采用即时获取音频流数据的方法,保证了音频的即时沟通;同时在发送音频流的时候,融入了变音技术,功能性更强,能够让通话变得有趣味。
(四)、具体实施方式:
基于iPhone平台下实现的语音视频通话方法为:首先,将通话分为视频、音频和变音三个部分,各客户端之间的通讯采用socket通讯,每一个iPhone设备不仅是客户端,同时也是一个进行数据接收的小型服务器;然后,进行如下步骤:
步骤1:创建本通话系统的服务器,用来保存每个客户端的相关信息;
步骤2:进行视频帧数据的发送和接收:因为iPhone4之后的设备带有前置摄像头,同时API中有如何调用摄像头的类库,那么我们在这里就容易获取视频流的数据;
调用iPhone平台中的视频采集API,设置视频每秒采集的帧数为15帧-20帧;如果帧采集数过少,就会影响视频播放的流畅度,如果采集帧数过高,会造成数据量过大,导致传输速度过慢,同样会影响效果。
通过采集类的委托方法获取每一帧的数据,把每一帧的数据转化成二进制数据;在这里我们就可以进行数据的发送了,但是因为数据生成速度比较快,如果只是简单的数据发送,在网络情况好的下,用户是感觉不到视频的卡壳的,但是如果网络稍微差点,用户的体验感就会立马下降。我们先对数据进行压缩,然后再通过socket通讯进行数据发送,对方客户端接收到数据后,首先进行数据解压缩,然后再把帧数据还原,这样就可以实现视频的流畅播放了;
步骤3:进行音频数据的发送和接收:大多数的音频通讯实现的都是对讲功能,就是两个客户端进行音频数据的录制,然后通过服务器进行数据的交互,双方收到音频数据后,往本地写入,生成对应音频文件,然后调用系统提供的API播放出来就行了。但是这种方式不能实现数据的即时交互,而且录制音频的时间有限制,时间不能太长,如果太长就会导致数据量过大,数据交互时间太长,效果不是太好;
本发明采用即时获取音频流数据的方法进行数据的发送和接收;即时获取音频流数据的方法为:采用iPhone平台中提供的API中的AudioToolbox.framework框架文件进行音频数据的采集和还原,每次开始采集音频数据的时候,事先创建三个数据缓冲池,在采集音频数据的过程中,在每次的回调方法中轮流向三个缓冲池中填充音频二进制文件,在每次填充的过程中,我们依此从三个缓冲数据池中取出数据,通过socket通讯进行数据的发送,我们在播放音频数据的时候,也是事先创建三个数据缓冲池,每次获取数据后就向三个数据缓冲池依次填充数据,然后进行音频数据的还原,这样就可以即时发送音频数据了;
步骤4:音频变音功能的实现:通过音频处理库(如:开源库soundtouch)
来进行音频数据的转换,在客户端收到数据后,通过设置音频数据时间、振幅和频率来实现变音,设置音频数据的时间可控制音频的播放长度,设置音频数据的振幅和频率可以设置不同的变音效果。
步骤1中:相关信息含有客户端的当前IP,当各客户端之间直接进行通讯时,需要知道双方的当前IP,每个客户端首先获取自身的当前IP,然后把自身的当前IP发送给本通话系统的服务器,如果两客户端想要建立连接,先从本通话系统的服务器获取对方的当前IP,然后通过Socket通讯建立连接,就能进行数据接收和发送了。
步骤4中:通过iPhone平台中的API设置声音的采样频率、声道、音高(pitch)、速率和声道,从而实现声音的变速、变调、变速又变调的效果;通过iPhone平台中的API能够对媒体流实时操作,也能对音频文件操作,音频文件采用32位浮点或者16位定点数据,支持单声道或者双声道,声音的采样频率范围是8k~48k;这种方式能在即时的语音聊天中融入变音功能。
Claims (4)
1.一种基于iPhone平台下实现的语音视频通话方法,其特征是:首先,将通话分为视频、音频和变音三个部分,各客户端之间的通讯采用socket通讯,把每一个iPhone设备作为一个客户端,然后,进行如下步骤:
步骤1:创建本通话系统的服务器,用来保存每个客户端的相关信息;
步骤2:进行视频帧数据的发送和接收:调用iPhone平台中的视频采集API,设置视频每秒采集的帧数为15帧-20帧;通过采集类的委托方法获取每一帧的数据,把每一帧的数据转化成二进制数据;然后,先对数据进行压缩,再通过socket通讯进行数据发送,对方客户端接收到数据后,首先进行数据解压缩,然后再把帧数据还原,这样就可以实现视频的流畅播放了;
步骤3:进行音频数据的发送和接收:采用即时获取音频流数据的方法进行数据的发送和接收;
步骤4:音频变音功能的实现:通过音频处理库来进行音频数据的转换,在客户端收到数据后,通过设置音频数据时间、振幅和频率来实现变音。
2.根据权利要求1所述的基于iPhone平台下实现的语音视频通话方法,其特征是:所述步骤1中:相关信息含有客户端的当前IP,当各客户端之间直接进行通讯时,需要知道双方的当前IP,每个客户端首先获取自身的当前IP,然后把自身的当前IP发送给本通话系统的服务器,如果两客户端想要建立连接,先从本通话系统的服务器获取对方的当前IP,然后通过Socket通讯建立连接,就能进行数据接收和发送了。
3.根据权利要求1所述的基于iPhone平台下实现的语音视频通话方法,其特征是:所述步骤3中:即时获取音频流数据的方法为:采用iPhone平台中提供的API中的AudioToolbox.framework框架文件进行音频数据的采集和还原,每次开始采集音频数据的时候,事先创建三个数据缓冲池,在采集音频数据的过程中,在每次的回调方法中轮流向三个缓冲池中填充音频二进制文件,在每次填充的过程中,依此从三个缓冲数据池中取出数据,通过socket通讯进行数据的发送;在播放音频数据的时候,也是事先创建三个数据缓冲池,每次获取数据后就向三个数据缓冲池依次填充数据,然后进行音频数据的还原,这样就可以即时发送音频数据了。
4.根据权利要求1所述的基于iPhone平台下实现的语音视频通话方法,其特征是:所述步骤4中:通过iPhone平台中的API设置声音的采样频率、声道、音高、速率和声道,从而实现声音的变速、变调、变速又变调的效果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201210348839 CN102891977A (zh) | 2012-09-19 | 2012-09-19 | 基于iPhone平台下实现的语音视频通话方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201210348839 CN102891977A (zh) | 2012-09-19 | 2012-09-19 | 基于iPhone平台下实现的语音视频通话方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102891977A true CN102891977A (zh) | 2013-01-23 |
Family
ID=47535323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201210348839 Pending CN102891977A (zh) | 2012-09-19 | 2012-09-19 | 基于iPhone平台下实现的语音视频通话方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102891977A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200824A (zh) * | 2014-08-25 | 2014-12-10 | 深圳市中兴移动通信有限公司 | 音频录制方法和装置 |
CN105632490A (zh) * | 2015-12-18 | 2016-06-01 | 合肥寰景信息技术有限公司 | 一种网络社区的语音交流的语境模拟方法 |
CN110602579A (zh) * | 2019-09-18 | 2019-12-20 | 陈伟 | 一种音响变声实现方法和系统 |
-
2012
- 2012-09-19 CN CN 201210348839 patent/CN102891977A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200824A (zh) * | 2014-08-25 | 2014-12-10 | 深圳市中兴移动通信有限公司 | 音频录制方法和装置 |
CN104200824B (zh) * | 2014-08-25 | 2019-05-03 | 努比亚技术有限公司 | 音频录制方法和装置 |
CN105632490A (zh) * | 2015-12-18 | 2016-06-01 | 合肥寰景信息技术有限公司 | 一种网络社区的语音交流的语境模拟方法 |
CN110602579A (zh) * | 2019-09-18 | 2019-12-20 | 陈伟 | 一种音响变声实现方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102111674B (zh) | 一种移动终端播放在线视频的系统、方法及移动终端 | |
KR101066830B1 (ko) | 통화 송수신 방법 및 이를 이용하는 통화 장치 | |
CN108040061B (zh) | 一种云会议直播方法 | |
WO2020124725A1 (zh) | 基于WebRTC协议的音视频推送方法和推流客户端 | |
CN102025965B (zh) | 视频通话方法及可视电话 | |
EP2940940A1 (en) | Methods for sending and receiving video short message, apparatus and handheld electronic device thereof | |
MX2007004772A (es) | Metodo y sistema para mensajeria grafica en 3d para dispositivos moviles. | |
CN108932948B (zh) | 音频数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN102325181B (zh) | 一种基于共享业务的音视频即时交互通信方法及系统 | |
CN103795950A (zh) | 电视音频信号处理装置 | |
CN104184894A (zh) | 一种卡拉ok的实现方法及系统 | |
CN202918417U (zh) | 基于Android机顶盒的视频通话系统 | |
CN104780091B (zh) | 一种具有语音音频处理功能的即时通信方法和系统 | |
CN103369289A (zh) | 一种视频模拟形象的通信方法和装置 | |
US10362173B2 (en) | Web real-time communication from an audiovisual file | |
CN109451329B (zh) | 混音处理方法及装置 | |
CN109040501A (zh) | 一种改善voip通话质量的回声消除方法 | |
CN103402171A (zh) | 在通话中分享背景音乐的方法和终端 | |
WO2023098332A1 (zh) | 一种音频处理方法、装置、设备、介质及程序产品 | |
CN110024029A (zh) | 音频信号处理 | |
CN101489087A (zh) | 一种视频通话过程中图像的合成录制方法 | |
CN105282621A (zh) | 一种语音消息可视化服务的实现方法及装置 | |
EP2924985A1 (en) | Low-bit-rate video conference system and method, sending end device, and receiving end device | |
CN108282685A (zh) | 一种音视频同步的方法及监控系统 | |
CN104363496A (zh) | 网络机顶盒中声音系统多场景应用的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130123 |