CN102891977A - 基于iPhone平台下实现的语音视频通话方法 - Google Patents

基于iPhone平台下实现的语音视频通话方法 Download PDF

Info

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
Application number
CN 201210348839
Other languages
English (en)
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.)
HENAN ZHIYOU NETWORK TECHNOLOGY Co Ltd
Original Assignee
HENAN ZHIYOU NETWORK TECHNOLOGY 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 HENAN ZHIYOU NETWORK TECHNOLOGY Co Ltd filed Critical HENAN ZHIYOU NETWORK TECHNOLOGY Co Ltd
Priority to CN 201210348839 priority Critical patent/CN102891977A/zh
Publication of CN102891977A publication Critical patent/CN102891977A/zh
Pending legal-status Critical Current

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平台下实现的语音视频通话方法
 
(一)、技术领域:本发明涉及一种语音视频通话方法,特别涉及一种基于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设置声音的采样频率、声道、音高、速率和声道,从而实现声音的变速、变调、变速又变调的效果。
CN 201210348839 2012-09-19 2012-09-19 基于iPhone平台下实现的语音视频通话方法 Pending CN102891977A (zh)

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)

* Cited by examiner, † Cited by third party
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 陈伟 一种音响变声实现方法和系统

Cited By (4)

* Cited by examiner, † Cited by third party
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